Example #1
0
def person_info(person):

    data = {'id': person.id,
            'name': person.name,
            'updated_at': time.mktime(person.updated_at.timetuple()),

            'place': {
                'id': person.place.id,
                'name': person.place.name,
                'size': person.place.attrs.size,
                'specialization': person.place.modifier.value,
                'position': {'x': person.place.x, 'y': person.place.y}
            },

            'politic_power': person.politic_power.ui_info([p.politic_power for p in person.place.persons]),
            'attributes': attributes.attributes_info(effects=person.all_effects(),
                                                     attrs=person.attrs,
                                                     relation=relations.ATTRIBUTE),
            'chronicle': chronicle_prototypes.chronicle_info(person, conf.settings.CHRONICLE_RECORDS_NUMBER),
            'accounts': None,
            'clans': None
           }

    accounts_ids = set()
    accounts_ids.update(data['politic_power']['heroes']['positive'])
    accounts_ids.update(data['politic_power']['heroes']['negative'])

    data['accounts'] = game_logic.accounts_info(accounts_ids)
    data['clans'] = game_logic.clans_info(data['accounts'])

    return data
Example #2
0
def person_info(person):
    building = places_storage.buildings.get_by_person_id(person.id)

    data = {'id': person.id,
            'name': person.name,
            'updated_at': time.mktime(person.updated_at.timetuple()),

            'place': {
                'id': person.place.id,
                'name': person.place.name,
                'size': person.place.attrs.size,
                'specialization': person.place.modifier.value,
                'position': {'x': person.place.x, 'y': person.place.y}
            },

            'building': places_info.building_info(building) if building else None,
            'politic_power': person.politic_power.ui_info([p.politic_power for p in person.place.persons]),
            'attributes': attributes.attributes_info(effects=person.all_effects(),
                                                     attrs=person.attrs,
                                                     relation=relations.ATTRIBUTE),
            'chronicle': chronicle_prototypes.chronicle_info(person, conf.settings.CHRONICLE_RECORDS_NUMBER),
            'job': person.job.ui_info(),
            'accounts': None,
            'clans': None
           }

    accounts_ids = set()
    accounts_ids.update(data['politic_power']['heroes']['positive'])
    accounts_ids.update(data['politic_power']['heroes']['negative'])

    data['accounts'] = game_logic.accounts_info(accounts_ids)
    data['clans'] = game_logic.clans_info(data['accounts'])

    return data
Example #3
0
def show(context):

    accounts_short_infos = game_short_info.get_accounts_accounts_info(
        list(context.person.politic_power.inner_accounts_ids()))

    return dext_views.Page(
        'persons/show.html',
        content={
            'person':
            context.person,
            'person_meta_object':
            meta_relations.Person.create_from_object(context.person),
            'accounts_short_infos':
            accounts_short_infos,
            'hero':
            heroes_logic.load_hero(
                account_id=context.account.id) if context.account else None,
            'social_connections':
            storage.social_connections.get_connected_persons(context.person),
            'master_chronicle':
            chronicle_prototypes.chronicle_info(
                context.person, conf.settings.CHRONICLE_RECORDS_NUMBER),
            'resource':
            context.resource
        })
Example #4
0
def place_info(place, full_building_info):
    data = {
        "id": place.id,
        "name": place.name,
        "frontier": place.is_frontier,
        "new_for": time.mktime(place.new_for.timetuple()),
        "description": place.description_html,
        "updated_at": time.mktime(place.updated_at.timetuple()),
        "position": {"x": place.x, "y": place.y},
        "politic_power": place.politic_power.ui_info([p.politic_power for p in place.get_same_places()]),
        "persons": place_info_persons_data(place, full_building_info=full_building_info),
        "attributes": attributes.attributes_info(
            effects=place.all_effects(), attrs=place.attrs, relation=relations.ATTRIBUTE
        ),
        "demographics": place_info_demographics(place),
        "bills": place_info_bills(place),
        "habits": place_info_habits(place),
        "chronicle": chronicle_prototypes.chronicle_info(place, conf.settings.CHRONICLE_RECORDS_NUMBER),
        "accounts": None,
        "clans": None,
    }

    accounts_ids = set()
    accounts_ids.update(data["politic_power"]["heroes"]["positive"])
    accounts_ids.update(data["politic_power"]["heroes"]["negative"])

    data["accounts"] = game_logic.accounts_info(accounts_ids)
    data["clans"] = game_logic.clans_info(data["accounts"])

    return data
Example #5
0
def show(context):
    accounts_short_infos = game_short_info.get_accounts_accounts_info(
        list(context.place.politic_power.inner_accounts_ids()))

    return dext_views.Page(
        'places/show.html',
        content={
            'place':
            context.place,
            'place_bills':
            info.place_info_bills(context.place),
            'place_chronicle':
            chronicle_prototypes.chronicle_info(
                context.place, conf.settings.CHRONICLE_RECORDS_NUMBER),
            'accounts_short_infos':
            accounts_short_infos,
            'HABIT_TYPE':
            game_relations.HABIT_TYPE,
            'place_meta_object':
            meta_relations.Place.create_from_object(context.place),
            'hero':
            heroes_logic.load_hero(
                account_id=context.account.id) if context.account else None,
            'resource':
            context.resource
        })
Example #6
0
def place_info(place):
    data = {'id': place.id,
            'name': place.name,
            'frontier': place.is_frontier,
            'new_for': time.mktime(place.new_for.timetuple()),
            'description': place.description_html,
            'updated_at': time.mktime(place.updated_at.timetuple()),
            'position': {'x': place.x, 'y': place.y},
            'politic_power': place.politic_power.ui_info([p.politic_power for p in place.get_same_places()]),
            'persons': place_info_persons_data(place),
            'attributes': attributes.attributes_info(effects=place.all_effects(),
                                                     attrs=place.attrs,
                                                     relation=relations.ATTRIBUTE),
            'demographics': place_info_demographics(place),
            'bills': place_info_bills(place),
            'habits': place_info_habits(place),
            'chronicle': chronicle_prototypes.chronicle_info(place, conf.settings.CHRONICLE_RECORDS_NUMBER),
            'accounts': None,
            'clans': None
           }

    accounts_ids = set()
    accounts_ids.update(data['politic_power']['heroes']['positive'])
    accounts_ids.update(data['politic_power']['heroes']['negative'])

    data['accounts'] = game_logic.accounts_info(accounts_ids)
    data['clans'] = game_logic.clans_info(data['accounts'])

    return data
Example #7
0
def place_info(place, full_building_info):

    inner_circle = politic_power_logic.get_inner_circle(place_id=place.id)

    data = {
        'id':
        place.id,
        'name':
        place.name,
        'frontier':
        place.is_frontier,
        'new_for':
        time.mktime(place.new_for.timetuple()),
        'description':
        place.description_html,
        'updated_at':
        time.mktime(place.updated_at.timetuple()),
        'position': {
            'x': place.x,
            'y': place.y
        },
        'politic_power': {
            'heroes': inner_circle.ui_info(),
            'power': politic_power_storage.places.ui_info(place.id)
        },
        'persons':
        place_info_persons_data(place, full_building_info=full_building_info),
        'attributes':
        attributes.attributes_info(effects=place.all_effects(),
                                   attrs=place.attrs,
                                   relation=relations.ATTRIBUTE),
        'demographics':
        place_info_demographics(place),
        'bills':
        place_info_bills(place),
        'habits':
        place_info_habits(place),
        'job':
        place.job.ui_info(),
        'chronicle':
        chronicle_prototypes.chronicle_info(
            place, conf.settings.CHRONICLE_RECORDS_NUMBER),
        'accounts':
        None,
        'clans':
        None
    }

    accounts_ids = set()
    accounts_ids.update(data['politic_power']['heroes']['positive'])
    accounts_ids.update(data['politic_power']['heroes']['negative'])

    data['accounts'] = game_logic.accounts_info(accounts_ids)
    data['clans'] = game_logic.clans_info(data['accounts'])

    return data
Example #8
0
def show(context):
    accounts_short_infos = game_short_info.get_accounts_accounts_info(list(context.place.politic_power.inner_accounts_ids()))

    return dext_views.Page('places/show.html',
                           content={'place': context.place,
                                    'place_bills': info.place_info_bills(context.place),
                                    'place_chronicle': chronicle_prototypes.chronicle_info(context.place, conf.settings.CHRONICLE_RECORDS_NUMBER),
                                    'accounts_short_infos': accounts_short_infos,
                                    'HABIT_TYPE': game_relations.HABIT_TYPE,
                                    'place_meta_object': meta_relations.Place.create_from_object(context.place),
                                    'hero': heroes_logic.load_hero(account_id=context.account.id) if context.account else None,
                                    'resource': context.resource} )
Example #9
0
def cell_info(context):

    x, y = context.x, context.y

    if x < 0 or y < 0 or x >= map_settings.WIDTH or y >= map_settings.HEIGHT:
        raise dext_views.ViewError(code='outside_map', message='Запрашиваемая зона не принадлежит карте')

    map_info = map_info_storage.item

    terrain = map_info.terrain[y][x]

    cell = map_info.cells.get_cell(x, y)

    nearest_place_name = None
    nearest_place = map_info.get_dominant_place(x, y)
    if nearest_place:
        nearest_place_name = nearest_place.utg_name.form(utg_words.Properties(utg_relations.CASE.GENITIVE))

    place = places_storage.places.get_by_coordinates(x, y)

    exchanges = []

    terrain_points = []

    building = places_storage.buildings.get_by_coordinates(x, y)

    return dext_views.Page('map/cell_info.html',
                           content={'place': place,
                                    'building': building,
                                    'place_bills': places_info.place_info_bills(place) if place else None,
                                    'place_chronicle': chronicle_prototypes.chronicle_info(place, conf.map_settings.CHRONICLE_RECORDS_NUMBER) if place else None,
                                    'exchanges': exchanges,
                                    'cell': cell,
                                    'terrain': terrain,
                                    'nearest_place_name': nearest_place_name,
                                    'x': x,
                                    'y': y,
                                    'terrain_points': terrain_points,
                                    'hero': heroes_logic.load_hero(account_id=context.account.id) if context.account.is_authenticated else None,
                                    'resource': context.resource,
                                    'ABILITY_TYPE': ABILITY_TYPE})
Example #10
0
def cell_info(context):

    x, y = context.x, context.y

    if x < 0 or y < 0 or x >= map_settings.WIDTH or y >= map_settings.HEIGHT:
        raise dext_views.ViewError(
            code='outside_map',
            message='Запрашиваемая зона не принадлежит карте')

    map_info = map_info_storage.item

    terrain = map_info.terrain[y][x]

    cell = map_info.cells.get_cell(x, y)

    nearest_place_name = None
    nearest_place = map_info.get_dominant_place(x, y)
    if nearest_place:
        nearest_place_name = nearest_place.utg_name.form(
            utg_words.Properties(utg_relations.CASE.GENITIVE))

    place = places_storage.places.get_by_coordinates(x, y)

    exchanges = []

    terrain_points = []

    building = places_storage.buildings.get_by_coordinates(x, y)

    return dext_views.Page(
        'map/cell_info.html',
        content={
            'place':
            place,
            'building':
            building,
            'place_bills':
            places_info.place_info_bills(place) if place else None,
            'place_chronicle':
            chronicle_prototypes.chronicle_info(
                place, conf.map_settings.CHRONICLE_RECORDS_NUMBER)
            if place else None,
            'exchanges':
            exchanges,
            'cell':
            cell,
            'terrain':
            terrain,
            'nearest_place_name':
            nearest_place_name,
            'x':
            x,
            'y':
            y,
            'terrain_points':
            terrain_points,
            'hero':
            heroes_logic.load_hero(account_id=context.account.id)
            if context.account.is_authenticated else None,
            'resource':
            context.resource,
            'ABILITY_TYPE':
            ABILITY_TYPE
        })