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']}