Beispiel #1
0
def select_log_update_tweets(user):
    session = Session()

    username = session.query(Log_update_tweets).filter(
        Log_update_tweets.username == user).one()

    session.close()

    return username
Beispiel #2
0
def upsert_tweets_username(log_user, tweets):
    """
    Insere um log_user na tabela de log_update_tweets
    Insere um array de objetos de tweets no banco de dados
    Caso já exista então atualiza
    Parâmetros
    ----------
    log_user : dict
        Dicionário com o username para ser inserido/atualizado.
        exemplo dict(username='******', updated='2019-02-01T14:34:11Z')
    tweets : list
        list de dicionários com os tweets para serem inseridos/atualizados.
        exemplo: [dict(id_tweet='1', username='******', text='tweet')]
    """
    session = Session()

    insert_log_user = insert(Log_update_tweets).values(log_user)
    update_columns_username = {
        col.name: col
        for col in insert_log_user.excluded if col.name not in ('username')
    }

    do_update_username = insert_log_user.on_conflict_do_update(
        index_elements=['username'], set_=update_columns_username)

    session.execute(do_update_username)

    if (len(tweets) > 0):
        insert_tweet = insert(Tweet).values(tweets)
        update_columns_tweet = {
            col.name: col
            for col in insert_tweet.excluded if col.name not in ('id_tweet')
        }

        do_update_stmt = insert_tweet.on_conflict_do_update(
            index_elements=['id_tweet'], set_=update_columns_tweet)

        session.execute(do_update_stmt)
    else:
        logger.info("Nenhum novo tweet foi capturado para " +
                    log_user['username'])

    # Realiza commit e encerra sessão
    session.commit()
    session.close()
Beispiel #3
0
def insert_tweet(id_tweet,
                 username,
                 text=None,
                 date=None,
                 url=None,
                 reply_count=None,
                 retweet_count=None,
                 like_count=None,
                 quote_count=None):
    """
    Insere um novo tweet no banco de dados
    Caso já exista então atualiza
    Parâmetros
    ----------
    id_tweet : str
        Id do tweet (deve ser único)
    username : str
        Username no autor do tweet
    text : str
        Texto do tweet
    username : str
        Username no autor do tweet
    date : datetime
        Data do tweet
    url : str
        URL para o tweet
    reply_count : int
        Contagem de replies
    retweet_count : int
        Contagem de retweets
    like_count : int
        Contagem de likes
    quote_count : int
        Contagem de citações
    """
    session = Session()

    new_tweet = Tweet(id_tweet=id_tweet,
                      username=username,
                      text=text,
                      date=date,
                      url=url,
                      reply_count=reply_count,
                      retweet_count=retweet_count,
                      like_count=like_count,
                      quote_count=quote_count)

    session.merge(new_tweet)

    # Realiza commit e encerra sessão
    session.commit()
    session.close()
Beispiel #4
0
def delete_tweet(id):
    """
    Deleta um tweet no banco de dados
    ----------
    id : str
        Id do tweet
    """
    session = Session()

    session.execute(delete(Tweet).where(Tweet.id_tweet == id))

    # Realiza commit e encerra sessão
    session.commit()
    session.close()
Beispiel #5
0
def delete_log_update_tweets(user):
    """
    Deleta um Username no banco de dados
    ----------
    user : str
        Username a ser deletado
    """
    session = Session()

    session.execute(
        delete(Log_update_tweets).where(Log_update_tweets.username == user))

    # Realiza commit e encerra sessão
    session.commit()
    session.close()
Beispiel #6
0
def insert_log_update_tweets(username, updated=None):
    """
    Insere um username e a data de atualização no banco de dados
    Caso já exista então atualiza
    Parâmetros
    ----------
    username : str
        Username no twitter
    updated : datetime
        Data da última atualização dos tweets
    """
    session = Session()

    new_update_log = Log_update_tweets(username=username, updated=updated)

    session.merge(new_update_log)

    # Realiza commit e encerra sessão
    session.commit()
    session.close()
Beispiel #7
0
import falcon
import json
from app.utils.db_connect import DBConnect
from logger import set_up_logging
from app.models.schema import OrderCart, OrderDetails, PhleboDetails, PickupAddress, PaymentDetails
from config.base import Session, engine, Base

logger = set_up_logging()

# generate database schema
Base.metadata.create_all(engine)
# create a new session
session = Session()


class GetUserHistory(object):
    """Serves all apis related to Orders
    """

    def on_get(self, req, resp):
        try:
            cart_order = session.query(OrderCart).filter_by(patient_id=426).all()
            data = []
            for item in cart_order:
                order = {
                    'phlebo_name': item.phlebo_detail.phlebo_name,
                    'phlebo_number': item.phlebo_detail.phlebo_phone
                }
                data.append(order)

            logger.info("Data fetched successfully : {}".format("Success"))