def to_postgres(self, query_list): achieve_args = [] neutrals = [] achieve_keys = None neutral_keys = None for query in query_list: self.result = json.loads(query.decode('UTF-8')) portal = IITCModel(self.result).iitc_achive query = IITCModel(self.result).update if portal.get('team') == 3: neutral_keys = tuple(sorted(portal)) nvalue = tuple( map(lambda key: portal[key], sorted(portal.keys()))) if nvalue not in neutrals: neutrals.append(nvalue) else: achieve_keys = tuple(sorted(query)) value = tuple(map(lambda key: query[key], sorted(query.keys()))) if value not in achieve_args: achieve_args.append(value) AchieveLog().insert_iitc_guid( str(achieve_keys).replace('\'', ''), achieve_args) AchieveLog().insert_iitc_achive( str(neutral_keys).replace('\'', ''), neutrals)
def __init__(self, data, current): hm = PortalModel(data, current) if hm.latlng(): self.render = hm.to_render_json(AchieveLog().get_portal_by_latlng( hm.latlng())) else: raise HTTPError(405, 'Bad arguments in request')
def __init__(self, data, current): portaldata = data.get('portaldata') if portaldata: query = portaldata AchieveLog().insert_iitc_achieve_check(query) self.render = {'status': 'ok'} else: self.render = {'status': 'error'}
def __init__(self, data, current): hm = HunterModel(data, current) self.player = hm.player() if self.player: self.render = hm.to_render_json(AchieveLog().get_achieve_by_player( hm.result)) else: raise HTTPError(405, 'Bad arguments in request')
def from_redis_to_psql(self, values): if not values: return portals = [] for i in values: portals.append(json.loads(i.decode('UTF-8'))) AchieveLog().tile_update_portals(portals)
def update_achive(self): upd = [] result = IntelPortalModel(self.guid, self.portal['result']).achieve if result['team'] == 3: result.update({'timestamp': int(round(time.time() * 1000))}) update_arg = tuple(sorted(result)) upd.append( tuple(map(lambda key: result[key], sorted(result.keys())))) AchieveLog().insert_achive(str(update_arg).replace('\'', ''), upd)
def achive_parser(self): achive_args = [] achive_keys = None latlng_list = [] for query in reversed(self.query): result = json.loads(query.decode('UTF-8')) result.update({'showed': False}) latlng = (result['late6'], result['lnge6']) if latlng not in latlng_list: latlng_list.append(latlng) achive_keys = tuple(sorted(result)) achive_args.append( tuple(map(lambda key: result[key], sorted(result.keys())))) try: AchieveLog().insert_achive( str(achive_keys).replace('\'', ''), achive_args) except Exception as e: for i in achive_args: AchieveLog().insert_achive( str(achive_keys).replace('\'', ''), (i, ))
def add_portal_to_monitor(self): if self.url and 'ingress.com/intel' in self.url: latlng = re.search(r'pll=(\d+\.\d+),(\d+\.\d+)', self.url).groups() self.late6 = int(float(latlng[0]) * 1E6) self.lnge6 = int(float(latlng[1]) * 1E6) try: portal = AchieveLog().get_portal_by_latlng( self.late6, self.lnge6)[0] PortalDetail().add_pd_portal(portal) return portal except: return {'error': 'not found in base, can`t add'} if not self.late6 or not self.lnge6: return {'error': 'invalid url or coordinates'}
def __init__(self, data, current): hm = IITCModel(data, current) self.render = hm.to_render_json(AchieveLog().get_achieve_by_latlng( hm.arguments))