def get(self): self.set_header('content-type', 'application/json; charset=UTF-8') username = self.get_argument('username') date_text = self.get_argument('date_text') tw = TweetDBMongoDB() tweets = tw.getTweets({'user.screen_name':username}) tweet = '' for t in tweets: text = t['text'] created_at = t['created_at'] dt = created_at.split(' ') fecha = dt[0]+' '+dt[1]+' '+dt[2]+' '+dt[5] fechahora = dt[0]+' '+dt[1]+' '+dt[2]+' '+dt[5]+' '+dt[3] f = datetime.datetime.strptime(fecha,'%a %b %d %Y').strftime('%d-%m-%Y') if f == date_text: hour = datetime.datetime.strptime(fechahora,'%a %b %d %Y %H:%M:%S') tweet += '{"text":"'+text.replace('\n',' ').replace('"','')+'","hour":"'+hour.strftime('%H:%M:%S')+'"},' tweet = tweet[0:len(tweet)-1] tweet = tweet.encode('utf-8') c = json.JSONEncoder() s = c.encode('{"tweets" : ['+tweet+']}') jsonText = json.loads(s) tw.close() self.write(jsonText)
def _genera(self, username): consumer = oauth.Consumer(consumerKey, consumerSecret) token = oauth.Token(accessToken, accessTokenSecret) client = oauth.Client(consumer,token) response = client.request('https://api.twitter.com/1.1/statuses/user_timeline.json?count=100&screen_name='+username) data = response[1] tweets = json.loads(data) fechas = [] tw = TweetDBMongoDB() tw.deleteTweets({'user.screen_name':username}) for t in tweets: created_at = t['created_at'] dt = created_at.split(' ') fecha = dt[0]+' '+dt[1]+' '+dt[2]+' '+dt[5] f = datetime.datetime.strptime(fecha,'%a %b %d %Y').strftime('%d-%m-%Y') fechas.append(f) oid = tw.insertTweet(t) tw.close() estadistica = self._gen_estadisticas(fechas) est = sorted(estadistica,key=lambda c : c[1], cmp=self._invert) return est[0:5]