示例#1
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
示例#2
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
示例#3
0
文件: info.py 项目: Jazzis18/the-tale
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
示例#4
0
文件: info.py 项目: Tiendil/the-tale
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
示例#5
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