Ejemplo n.º 1
0
    def test_get_citizens_number(self):
        hero_1 = self.hero
        hero_1.preferences.set(relations.PREFERENCE_TYPE.PLACE, self.place)
        hero_1.premium_state_end_at = datetime.datetime.now(
        ) + datetime.timedelta(seconds=60)
        logic.save_hero(hero_1)

        account_2 = self.accounts_factory.create_account()
        hero_2 = logic.load_hero(account_id=account_2.id)
        hero_2.preferences.set(relations.PREFERENCE_TYPE.PLACE, self.place)
        logic.save_hero(hero_2)

        account_3 = self.accounts_factory.create_account()
        hero_3 = logic.load_hero(account_id=account_3.id)
        hero_3.preferences.set(relations.PREFERENCE_TYPE.PLACE, self.place)
        hero_3.premium_state_end_at = datetime.datetime.now(
        ) + datetime.timedelta(seconds=60)
        logic.save_hero(hero_3)

        account_4 = self.accounts_factory.create_account(is_fast=True)
        hero_4 = logic.load_hero(account_id=account_4.id)
        hero_4.preferences.set(relations.PREFERENCE_TYPE.PLACE, self.place)
        logic.save_hero(hero_4)

        account_5 = self.accounts_factory.create_account()
        hero_5 = logic.load_hero(account_id=account_5.id)
        hero_5.preferences.set(relations.PREFERENCE_TYPE.PLACE, self.place)
        hero_5.ban_state_end_at = datetime.datetime.now() + datetime.timedelta(
            seconds=60)
        logic.save_hero(hero_5)

        account_6 = self.accounts_factory.create_account()
        hero_6 = logic.load_hero(account_id=account_6.id)
        hero_6.preferences.set(relations.PREFERENCE_TYPE.PLACE, self.place_2)
        hero_6.premium_state_end_at = datetime.datetime.now(
        ) + datetime.timedelta(seconds=60)
        logic.save_hero(hero_6)

        account_7 = self.accounts_factory.create_account()
        hero_7 = logic.load_hero(account_id=account_7.id)
        hero_7.preferences.set(relations.PREFERENCE_TYPE.PLACE, self.place)
        hero_7.active_state_end_at = datetime.datetime.now(
        ) - datetime.timedelta(seconds=60)
        logic.save_hero(hero_7)

        self.assertEqual(
            set([
                h.id
                for h in HeroPreferences.get_citizens_of(self.place, all=False)
            ]), set([hero_1.id, hero_3.id]))
        self.assertEqual(
            set([
                h.id
                for h in HeroPreferences.get_citizens_of(self.place, all=True)
            ]), set([hero_1.id, hero_2.id, hero_3.id]))
Ejemplo n.º 2
0
def place_info(place):
    data = {'id': place.id,
            'name': place.name,
            'frontier': place.is_frontier,
            'new_for': time.mktime(place.new_for.timetuple()),
            'position': {'x': place.x, 'y': place.y},

            'updated_at': time.mktime(place.updated_at.timetuple()),

            'power': { 'positive_bonus': place.power_positive,
                       'negative_bonus': place.power_negative },

            'description': place.description_html,

            'persons': place_info_persons_data(place),
            'keepers': {'friends': [hero.account_id for hero in HeroPreferences.get_citizens_of(place, all=place.depends_from_all_heroes)] ,
                        'enemies': []},
            'parameters': place_info_parameters(place),
            'demographics': place_info_demographics(place),
            'bills': place_info_bills(place),
            'specializations': place_info_specializations(place),
            'habits': place_info_habits(place),
            'chronicle': place_info_cronicle(place),
            'accounts': None,
            'clans': None
           }

    data['accounts'] = place_info_accounts(data)
    data['clans'] = place_info_clans(data)

    return data
Ejemplo n.º 3
0
def place_info(place):
    data = {
        'id': place.id,
        'name': place.name,
        'frontier': place.is_frontier,
        'new_for': time.mktime(place.new_for.timetuple()),
        'position': {
            'x': place.x,
            'y': place.y
        },
        'updated_at': time.mktime(place.updated_at.timetuple()),
        'power': {
            'positive_bonus': place.power_positive,
            'negative_bonus': place.power_negative
        },
        'description': place.description_html,
        'persons': place_info_persons_data(place),
        'keepers': {
            'friends': [
                hero.account_id for hero in HeroPreferences.get_citizens_of(
                    place, all=place.depends_from_all_heroes)
            ],
            'enemies': []
        },
        'parameters': place_info_parameters(place),
        'demographics': place_info_demographics(place),
        'bills': place_info_bills(place),
        'specializations': place_info_specializations(place),
        'habits': place_info_habits(place),
        'chronicle': place_info_cronicle(place),
        'accounts': None,
        'clans': None
    }

    data['accounts'] = place_info_accounts(data)
    data['clans'] = place_info_clans(data)

    return data