def get(self): cookie=self.request.get('cookie', None); instapaper_username = self.request.get('instapaper_username', None) if instapaper_username is None: logging.error('update user info based on bad instapaper account.hack') self.response.out.write('Done') return ud = UserUtils.getUserDetailsFromCookie(cookie) if ud is None: logging.error('update user info based on bad cookie. hack') self.response.out.write('Done') return ud.instapaper_account=instapaper_username ud.instaright_account=instapaper_username ud.put() self.response.out.write('Done')
def get(self, service): cookie=self.request.get('cookie', None) ud = UserUtils.getUserDetailsFromCookie(cookie) if ud is None: logging.error('remove user info based on bad cookie. hack') self.response.out.write('Done') return ut=UserTokens.gql('WHERE user_details = :1', ud.key()).get() if ut is None: logging.error('user defined by cookie %s has no tokens' % cookie) self.response.out.write('Done') return logging.info('fetched user %s' % ud.instaright_account) if getattr(ut, "%s_token" % service) is None: logging.error('remove unexisting service %s for cookie %s' % (service, cookie)) self.response.out.write('Done') return service_token_name="%s_token" %service ut.service_token_name=None ut.put() #TODO remove cookie self.response.out.write('Done')
def get(self): logging.info('fetching more user links ...') cookie = self.request.get('cookie', None) offset = Cast.toInt(self.request.get('offset', None), 0) logging.info('row offset %s' % offset) offset = offset * self.link_batch ud = UserUtils.getUserDetailsFromCookie(cookie) sessions = SessionModel.gql('WHERE instaright_account = :1 ORDER by date desc ', ud.instaright_account ).fetch(self.link_batch,offset) if sessions is None or len(sessions) == 0: logging.info('returned no sessions for offset %s' %offset) self.response.headers["Content-type"] = "application/json" self.response.out.write('{}') return logging.info('fetched %s sessions for user %s' %(len(sessions), ud.instaright_account)) d = {} for d_te, j in itertools.groupby(sessions, key= lambda s: s.date.date()): ss = [ {'t':ss.title,'l':ss.url,'d':ss.domain,'h':ss.url_hash} for ss in list(j) ] d[str(d_te)] = ss import operator #order by dates desc dates_sorted=sorted(d.iteritems(), key=operator.itemgetter(0), reverse=True) self.response.headers["Content-type"] = "application/json" self.response.out.write(simplejson.dumps(dates_sorted))