コード例 #1
0
    def test_general(self):
        character = Character(self._region, self._realm_name,
                              self._character_name)

        self.assertEqual(character.name, self._character_name)
        self.assertEqual(str(character), self._character_name)

        self.assertEqual(character.get_realm_name(),
                         self._realm_name.replace("'", ""))
        self.assertEqual(character.realm.name,
                         self._realm_name.replace("'", ""))
        self.assertEqual(str(character.realm),
                         self._realm_name.replace("'", ""))

        self.assertEqual(character.faction, self._faction)

        self.assertEqual(character.get_race_name(), self._race)

        self.assertEqual(character.get_class_name(), self._class)

        self.assertIsInstance(character.level, int)
        self.assertGreaterEqual(character.level, 85)

        self.assertIsInstance(character.achievement_points, int)

        self.assertEqual(character.gender, self._gender)
コード例 #2
0
ファイル: test_character.py プロジェクト: Crote/battlenet
    def test_general(self):
        character = Character(battlenet.UNITED_STATES, 'Nazjatar', 'Vishnevskiy')

        self.assertEqual(character.name, 'Vishnevskiy')
        self.assertEqual(str(character), 'Vishnevskiy')

        self.assertEqual(character.get_realm_name(), 'Nazjatar')
        self.assertEqual(character.realm.name, 'Nazjatar')
        self.assertEqual(str(character.realm), 'Nazjatar')

        self.assertEqual(character.faction, Character.HORDE)

        self.assertEqual(character.get_race_name(), Character.GOBLIN)

        self.assertEqual(character.get_class_name(), Character.WARLOCK)

        self.assertIsInstance(character.level, int)
        self.assertGreaterEqual(character.level, 85)

        self.assertIsInstance(character.achievement_points, int)

        self.assertEqual(character.gender, Character.MALE)
コード例 #3
0
ファイル: test_character.py プロジェクト: AtVirus/battlenet
    def test_general(self):
        character = Character(self._region, self._realm_name, self._character_name)

        self.assertEqual(character.name, self._character_name)
        self.assertEqual(str(character), self._character_name)

        self.assertEqual(character.get_realm_name(), self._realm_name.replace("'", ""))
        self.assertEqual(character.realm.name, self._realm_name.replace("'", ""))
        self.assertEqual(str(character.realm), self._realm_name.replace("'", ""))

        self.assertEqual(character.faction, self._faction)

        self.assertEqual(character.get_race_name(), self._race)

        self.assertEqual(character.get_class_name(), self._class)

        self.assertIsInstance(character.level, int)
        self.assertGreaterEqual(character.level, 85)

        self.assertIsInstance(character.achievement_points, int)

        self.assertEqual(character.gender, self._gender)
コード例 #4
0
ファイル: process.py プロジェクト: PuckCh/WoWCharactersViewer
                'modifications': {},
                'valid_modifications': True,
                'amr_import_string': None,
            }

            json_character['specs'].append(json_spec)

        specs_to_remove = filter(lambda x: x['name'] not in specs, json_character['specs'])
        for spec in specs_to_remove:
            json_character['specs'].remove(spec)

    else:
        json_character = {
            'name': (isinstance(character.name, unicode) and character.name) or character.name.decode('utf-8'),
            'level': character.level,
            'class': character.get_class_name(),
            'max_ilvl': character.equipment.average_item_level,
            'armory_url': 'http://%s.battle.net/wow/%s/character/%s/%s/advanced' % (region, settings.LOCALE, character.get_realm_name(), character.name),
            'specs': [],
            'raid_upgrades': None,
        }

        for spec in specs:
            json_spec = {
                'name': spec,
                'ilvl': None,
                'role': None,
                'icon': None,
                'items': {},
                'modifications': {},
                'valid_modifications': True,
コード例 #5
0
            json_character['specs'].append(json_spec)

        specs_to_remove = filter(lambda x: x['name'] not in specs,
                                 json_character['specs'])
        for spec in specs_to_remove:
            json_character['specs'].remove(spec)

    else:
        json_character = {
            'name': (isinstance(character.name, unicode) and character.name)
            or character.name.decode('utf-8'),
            'level':
            character.level,
            'class':
            character.get_class_name(),
            'max_ilvl':
            character.equipment.average_item_level,
            'armory_url':
            'http://%s.battle.net/wow/%s/character/%s/%s/advanced' %
            (region, settings.LOCALE, character.get_realm_name(),
             character.name),
            'specs': [],
            'raid_upgrades':
            None,
        }

        for spec in specs:
            json_spec = {
                'name': spec,
                'ilvl': None,
コード例 #6
0
def get_char(name, server, target_region=battlenet.UNITED_STATES):
    Connection.setup(api_key=API_KEY, locale='us')

    try:
        character = Character(target_region,
                              server,
                              name,
                              fields=[
                                  Character.GUILD, Character.ITEMS,
                                  Character.PROGRESSION, Character.ACHIEVEMENTS
                              ])
    except Exception as e:
        raise e

    return_string = ""
    return_string += "**%s** - **%s(%s)** - **%s %s**\n" % (
        character.name, character.get_realm_name(), character.region.upper(),
        character.level, character.get_class_name())

    return_string += "Last Modified: {}\n".format(
        character.last_modified.strftime("%x - %I:%M:%S %p"))

    armory_url = "http://{}.battle.net/wow/en/character/{}/{}/advanced".format(
        target_region,
        character.get_realm_name().replace(' ', '%20'), character.name)

    # Raid Progression
    en_progress = get_raid_progression(character.progression,
                                       8025)  # the emarld nightmare

    tov_progress = get_raid_progression(character.progression,
                                        8440)  # trial of valor

    mythic_progress = get_mythic_progression(character)

    sockets = get_sockets(character.equipment)
    enchants = get_enchants(character.equipment)

    return_string += "<{}>\n".format(armory_url)

    return_string += "```CSS\n"  # start Markdown

    # iLvL
    return_string += "Equipped Item Level: %s\n" % character.equipment.average_item_level_equipped

    # Mythic Progression
    return_string += "Mythics: +2: %s, +5: %s, +10: %s\n" % (
        mythic_progress["plus_two"], mythic_progress["plus_five"],
        mythic_progress["plus_ten"])

    return_string += "EN: {1}/{0} (N), {2}/{0} (H), {3}/{0} (M)\n".format(
        en_progress["total_bosses"], en_progress["normal"],
        en_progress["heroic"], en_progress["mythic"])

    return_string += "TOV: {1}/{0} (N), {2}/{0} (H), {3}/{0} (M)\n".format(
        tov_progress["total_bosses"], tov_progress["normal"],
        tov_progress["heroic"], tov_progress["mythic"])

    # Gems
    return_string += "Gems Equipped: %s/%s\n" % (sockets["equipped_gems"],
                                                 sockets["total_sockets"])

    # Enchants
    return_string += "Enchants: %s/%s\n" % (enchants["enchantable_slots"] -
                                            enchants["total_missing"],
                                            enchants["enchantable_slots"])
    if enchants["total_missing"] > 0:
        return_string += "Missing Enchants: {0}".format(", ".join(
            enchants["missing_slots"]))

    return_string += "```"  # end Markdown

    return return_string