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): 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 _authenticate4(self, response): trace('{}'.format(response.code)) if response.code == 200: finished = defer.Deferred() finished.addCallback(self._authenticate5) finished.addErrback(self.err) jp = b07.utils.JsonProtocol(finished) response.deliverBody(jp) else: critical('Got response code {} after attempting handshake!'.format(response.code))
def _authenticate4(self, response): trace('_authenticate4 {}'.format(response.code)) if response.code == 200: finished = defer.Deferred() finished.addCallback(self._authenticate5) finished.addErrback(self.err) jp = b07.utils.JsonProtocol(finished) response.deliverBody(jp) else: critical('Got response code {} after attempting handshake!'.format( response.code))
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 _authenticate2(self, result, code): if code == 200: try: self.auth_token = result['Auth'] except KeyError: critical('Authentication failed: Bad Response') elif code == 403: error = result['Error'] if error == 'BadAuthentication': critical('Authentication failed: Username or password wrong') elif error == 'NotVerified': critical('Authentication failed: Account email address has not been verified') elif error == 'TermsNotAgreed': critical('Authentication failed: User has not agreed to Googles terms of service') elif error == 'CaptchaRequired': critical('Authentication failed: CAPTCHA required') elif error == 'AccountDeleted': critical('Authentication failed: User account has been deleted') elif error == 'AccountDisabled': critical('Authentication failed: User account has been disabled') elif error == 'ServiceDisabled': critical('Authentication failed: Service disabled') elif error == 'ServiceUnavailable': critical('Authentication failed: Service unavailable') else: critical('Authentication failed: Unknown reason') else: critical('Authentication failed: Bad response') d = self.agent.request('GET', self.URLS.GAME_API + self.PATHS.LOGIN + '?' + urllib.urlencode({'auth' : self.auth_token}), Headers({'User-Agent' : ['Nemesis (gzip)'], 'Accept-Charset': ['utf-8']}), None) d.addCallback(self._authenticate3) d.addErrback(self.err)
def _authenticate2(self, result, code): if code == 200: try: self.auth_token = result['Auth'] except KeyError: critical('Authentication failed: Bad Response') elif code == 403: error = result['Error'] if error == 'BadAuthentication': critical('Authentication failed: Username or password wrong') elif error == 'NotVerified': critical( 'Authentication failed: Account email address has not been verified' ) elif error == 'TermsNotAgreed': critical( 'Authentication failed: User has not agreed to Googles terms of service' ) elif error == 'CaptchaRequired': critical('Authentication failed: CAPTCHA required') elif error == 'AccountDeleted': critical( 'Authentication failed: User account has been deleted') elif error == 'AccountDisabled': critical( 'Authentication failed: User account has been disabled') elif error == 'ServiceDisabled': critical('Authentication failed: Service disabled') elif error == 'ServiceUnavailable': critical('Authentication failed: Service unavailable') else: critical('Authentication failed: Unknown reason') else: critical('Authentication failed: Bad response') trace('_authenticate2 {}'.format(self.auth_token)) d = self.agent.request( 'GET', self.URLS.GAME_API + self.PATHS.LOGIN + '?' + urllib.urlencode({'auth': self.auth_token}), Headers({ 'User-Agent': ['Nemesis (gzip)'], 'Accept-Charset': ['utf-8'] }), None) d.addCallback(self._authenticate3) d.addErrback(self.err)