def _profile0(self, finished): debug('Requesting profile from server...') body = b07.utils.StringProducer(json.dumps({'params' : [self.player_nickname]})) d = self.agent.request('POST', self.URLS.GAME_API + self.PATHS.API.PROFILE, Headers({'User-Agent' : ['Nemesis (gzip)'], 'Content-Type': ['application/json;charset=UTF-8'], 'X-XsrfToken': [self.xsrf_token]}), body) d.addCallback(self._profile1, finished) d.addErrback(self.err)
def _inventory0(self, finished): debug('Requesting inventory from server...') body = b07.utils.StringProducer(json.dumps({'params' : {'lastQueryTimestamp': self.inventory.last_query_timestamp}})) d = self.agent.request('POST', self.URLS.GAME_API + self.PATHS.API.INVENTORY, Headers({'User-Agent' : ['Nemesis (gzip)'], 'Content-Type': ['application/json;charset=UTF-8'], 'X-XsrfToken': [self.xsrf_token]}), body) d.addCallback(self._inventory1, finished) d.addErrback(self.err)
def _inventory1(self, response, finished): if response.code == 500: error('Got a 500 SERVER ERROR trying to get the inventory!') elif response.code == 200: debug('Got 200 OK response to inventory request') d = defer.Deferred() d.addCallback(self._inventory2, finished) jp = b07.utils.JsonProtocol(d) response.deliverBody(jp) else: error('Don\'t know what to do with {} code in response to inventory request!'.format(response.code))
def _profile0(self, finished): debug('Requesting profile from server...') body = b07.utils.StringProducer( json.dumps({'params': [self.player_nickname]})) d = self.agent.request( 'POST', self.URLS.GAME_API + self.PATHS.API.PROFILE, Headers({ 'User-Agent': ['Nemesis (gzip)'], 'Content-Type': ['application/json;charset=UTF-8'], 'X-XsrfToken': [self.xsrf_token] }), body) d.addCallback(self._profile1, finished) d.addErrback(self.err)
def _inventory1(self, response, finished): if response.code == 500: error('Got a 500 SERVER ERROR trying to get the inventory!') elif response.code == 200: debug('Got 200 OK response to inventory request') d = defer.Deferred() d.addCallback(self._inventory2, finished) jp = b07.utils.JsonProtocol(d) response.deliverBody(jp) else: error( 'Don\'t know what to do with {} code in response to inventory request!' .format(response.code))
def _inventory0(self, finished): debug('Requesting inventory from server...') body = b07.utils.StringProducer( json.dumps({ 'params': { 'lastQueryTimestamp': self.inventory.last_query_timestamp } })) d = self.agent.request( 'POST', self.URLS.GAME_API + self.PATHS.API.INVENTORY, Headers({ 'User-Agent': ['Nemesis (gzip)'], 'Content-Type': ['application/json;charset=UTF-8'], 'X-XsrfToken': [self.xsrf_token] }), body) d.addCallback(self._inventory1, finished) d.addErrback(self.err)
def _authenticate5(self, result): result = result['result'] if result['versionMatch'] != 'CURRENT': critical('Software version not up-to-date') if 'xsrfToken' not in result: critical('Authentication with Ingress severs failed for unknown reason') self.xsrf_token = str(result['xsrfToken']) self.player_nickname = result['nickname'] self.player_guid = result['playerEntity'][0] self.team = result['playerEntity'][2]['controllingTeam']['team'] self.ap = result['playerEntity'][2]['playerPersonal']['ap'] self.level = result['playerEntity'][2]['playerPersonal']['clientLevel'] debug('XSRF Token: {}'.format(self.xsrf_token)) debug('Player GUID: {}'.format(self.player_guid)) info('Player nickname: {}'.format(self.player_nickname)) info('Faction: {}'.format(self.team)) info('AP: {}'.format(self.ap)) info('Level: {}'.format(self.level)) debug('Player info: {}'.format(result)) self._process_deferred_api_requests()
def _authenticate5(self, result): trace('_authenticate5 {}'.format(result)) result = result['result'] if 'xsrfToken' not in result: critical('Authentication with Ingress severs failed for unknown reason') self.xsrf_token = str(result['xsrfToken']) self.player_nickname = result['nickname'] self.player_guid = result['playerEntity'][0] self.team = result['playerEntity'][2]['controllingTeam']['team'] self.ap = result['playerEntity'][2]['playerPersonal']['ap'] self.level = result['playerEntity'][2]['playerPersonal']['clientLevel'] start_date = result['storage']['mission_complete_0'] self.start_date = datetime.datetime.fromtimestamp(int(start_date.split(':delim:')[1])/1000) debug('XSRF Token: {}'.format(self.xsrf_token)) debug('Player GUID: {}'.format(self.player_guid)) info('Player nickname: {}'.format(self.player_nickname)) info('Faction: {}'.format(self.team)) info('AP: {}'.format(self.ap)) info('Level: {}'.format(self.level)) info('Start Date: {}'.format(self.start_date)) debug('Player info: {}'.format(result)) with open(os.path.expanduser("~/{}_config.cfg".format(self.player_nickname)),"w") as file: json.dump(result, file, indent=1) self.new_version = versionCheck(result['serverVersion'], self.player_nickname) self._process_deferred_api_requests()
def _authenticate5(self, result): trace('_authenticate5 {}'.format(result)) result = result['result'] if 'xsrfToken' not in result: critical( 'Authentication with Ingress severs failed for unknown reason') self.xsrf_token = str(result['xsrfToken']) self.player_nickname = result['nickname'] self.player_guid = result['playerEntity'][0] self.team = result['playerEntity'][2]['controllingTeam']['team'] self.ap = result['playerEntity'][2]['playerPersonal']['ap'] self.level = result['playerEntity'][2]['playerPersonal']['clientLevel'] start_date = result['storage']['mission_complete_0'] self.start_date = datetime.datetime.fromtimestamp( int(start_date.split(':delim:')[1]) / 1000) debug('XSRF Token: {}'.format(self.xsrf_token)) debug('Player GUID: {}'.format(self.player_guid)) info('Player nickname: {}'.format(self.player_nickname)) info('Faction: {}'.format(self.team)) info('AP: {}'.format(self.ap)) info('Level: {}'.format(self.level)) info('Start Date: {}'.format(self.start_date)) debug('Player info: {}'.format(result)) with open( os.path.expanduser("~/{}_config.cfg".format( self.player_nickname)), "w") as file: json.dump(result, file, indent=1) self.new_version = versionCheck(result['serverVersion'], self.player_nickname) self._process_deferred_api_requests()
def sendPortalList(self): debug('getting list of portals') portals = b07.portals.jsonlist() data = json.dumps(portals) debug('sending list of portals') self.transport.write(data)