def tweet_list(cls, request): try: token = jwt.decode(request.tokenint, 'secret') #CHECA EL TOKEN user = Usuarios.get_by_id( token['user_id']) #obtiene usuario dado el token lista = [] #crea lista para guardar contenido de la BD lstMessage = TweetList(code=1) #CREA el mensaje de salida lstBd = Tweet.query().fetch() #obtiene de la base de datos for i in lstBd: #recorre la base de datos #inserta a la lista creada con los elementos que se necesiten de la base de datos #i.empresa_key.urlsafe() obtiene el entityKey lista.append( TweetUpdate( token='', entityKey=i.entityKey, #empresa_key=i.empresa_key.urlsafe(), title=i.title, description=i.description, urlImage=i.urlImage)) lstMessage.data = lista #ASIGNA a la salida la lista message = lstMessage except jwt.DecodeError: message = TweetList(code=-1, data=[]) except jwt.ExpiredSignatureError: message = TweetList(code=-2, data=[]) return message
def get(self): self.response.headers.add_header('Access-Control-Allow-Origin', '*') self.response.headers['Content-Type'] = 'application/json' id_empresa = self.request.get('empresa') objemp = Empresa.query(Empresa.codigo_empresa == id_empresa).get() strKey = objemp.key.urlsafe() myEmpKey = ndb.Key(urlsafe=strKey) myTweets = Tweet.query(Tweet.empresa_key == myEmpKey) myList = [] for i in myTweets: myObj = DemoClass() myObj.title = i.title myObj.description = i.description myObj.urlImage = i.urlImage myList.append(myObj) json_string = json.dumps(myList, default=MyClass) self.response.write(json_string)
def clear_db(): ndb.delete_multi(User.query().fetch(keys_only=True)) ndb.delete_multi(Tweet.query().fetch(keys_only=True))
'FrenchOpen', 'RolandGarros', 'UsOpen', 'Wimbledon', 'FedCup', 'DavisCup', 'HopmanCup', ] # https://stackoverflow.com/questions/4976547/twitter-api-search-too-complex/7200201#7200201 assert len(url_list) < 23, 'Too many operators' urls = ' OR '.join(url_list) if __name__ == '__main__': search_query = urls since_id = None # keyword and email configuration opt_parser = argparse.ArgumentParser() # opt_parser.add_argument("-k", "--keywords", help="Path to your keywords file", required=True) opt_parser.add_argument("--stock", action='store_true', default=False) args = opt_parser.parse_args() if args.stock is False: try: since_id = Tweet.query().order_by(desc( Tweet.created_at)).limit(1).one().id # the get last twitter ID except sqlalchemy.orm.exc.NoResultFound: pass twitter_search(since_id, search_query)