Example #1
0
	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')
Example #2
0
	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')
Example #3
0
        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))