Пример #1
0
def pricecheck(typename):
    conn = DBConnection()
    typename, typeid = conn.find_type(typename)
    if typeid is None:
        return {'typenames': typename}
    corplist = conn.sold_by_npccorps(typeid)
    if len(corplist) > 0:
        return {'source': 'npc',
                'typename': typename,
                'corporations': corplist,
                'price': conn.baseprice(typeid) * 0.9}
    if conn.marketgroup(typeid) is None:
        return {'source': 'contracts',
                'typename': typename,
                'price': faction_pricecheck(typeid)}
    marketorders = list(evecentral.quicklook(typeid=typeid,
                                             sethours=7 * 24,
                                             regionlimit=[REGION_HEIMATAR,
                                                          REGION_METROPOLIS,
                                                          REGION_MOLDENHEATH,
                                                          REGION_THEFORGE]))
    marketorders.extend(conn.pricecheck(typeid=typeid,
                                        sethours=7 * 24,
                                        regionlimit=[REGION_HEIMATAR,
                                                     REGION_METROPOLIS,
                                                     REGION_MOLDENHEATH,
                                                     REGION_THEFORGE]))
    if len(marketorders) == 0:
        return {'source': 'market', 'price': None}
    marketorders.sort(key=lambda order: order['price'])
    order = marketorders[0]
    if 'systemname' not in order:
        if 'stationid' in order:
            order['systemname'] = conn.stationid2systemname(order['stationid'])
    if 'regionname' not in order:
        order['regionname'] = conn.itemname(order['regionid'])
    return {'source': 'market',
            'typename': typename,
            'price': order['price'],
            'quantity': order['quantity'],
            'system': order['systemname'],
            'region': order['regionname'],
            'checked': order['checked']}