Example #1
0
def addUser(username,
            refresh_token,
            playlist_id_short=None,
            playlist_id_medium=None,
            playlist_id_long=None):
    session = Session()
    id_exists = session.query(User.id).filter_by(username=username).scalar()

    # new user
    if id_exists == None:
        user = User(username=username,
                    refresh_token=refresh_token,
                    playlist_id_short=playlist_id_short,
                    playlist_id_medium=playlist_id_medium,
                    playlist_id_long=playlist_id_long)
        session.add(user)
        logging.info('New auto user: '******'Auto user updated: ' + user.username)

        # only update playlist IDs that are new
        if playlist_id_short != None:
            user.playlist_id_short = playlist_id_short
        if playlist_id_medium != None:
            user.playlist_id_medium = playlist_id_medium
        if playlist_id_long != None:
            user.playlist_id_long = playlist_id_long

    session.commit()
    session.close()
Example #2
0
def add_user(bot, update):
    root_from_set = config['TELEGRAM']['Root_users']
    root_from_set = root_from_set.split(',')
    is_root = False
    for id in root_from_set:
        if str(id) == str(update.message.chat_id):
            is_root = True
    if not is_root:
        return False
    text = update.message.text
    text = text.replace('/addUser ', '')
    text = text.split(' ')
    adding_chat_it = text[0]
    try:
        adding_user_name = text[1]
    except IndexError:
        adding_user_name = ''
    session = Session()
    q = session.query(TrustedChats).filter(
        TrustedChats.chat_id == str(adding_chat_it))
    if q.count():
        bot.send_message(chat_id=update.message.chat_id,
                         text="This user already in base.")
        bot.send_message(chat_id=update.message.chat_id, text="Bitch")
    else:
        myobject = TrustedChats(chat_id=str(adding_chat_it),
                                name=adding_user_name)
        session.add(myobject)
        session.commit()
        bot.send_message(chat_id=update.message.chat_id,
                         text="User was added.")
    session.close()
Example #3
0
def search_db(sender, data):
    simple.hide_item("Create Document from Template")
    session = Session()
    vars = session.query(Variable).order_by(Variable.name.asc())
    with simple.window(f"Search in DB ({data.split('_')[0]})",
                       **default_window()):
        core.add_text("All variables")
        for var in vars:
            core.add_input_text(
                f"{var.name}_name_search",
                label="",
                width=150,
                enabled=False,
                default_value=var.name,
            )
            core.add_same_line(spacing=10)
            core.add_input_text(
                f"{var.name}_content_search",
                label="",
                width=300,
                enabled=False,
                default_value=var.content,
            )
            core.add_same_line(spacing=10)
            core.add_button(
                f"{var.name}_update_button_search",
                label="Use this value",
                callback=use_value,
                callback_data=((data, var.content)),
            )
        core.add_button(
            "button_db_close",
            label="Close Window",
            callback=close_popup,
        )
Example #4
0
def is_trusted(tchatid):
    session = Session()
    q = session.query(TrustedChats).filter(
        TrustedChats.chat_id == str(tchatid))
    session.close()
    if q.count():
        return True
    return False
Example #5
0
def timed_job():
    session = Session()
    users = session.query(Users)
    for u in users:
        if datetime.datetime.now() >= u.time_remind:
            viber.send_messages(u.viber_id, [TextMessage(text="Пора учить слова", keyboard=KEYBOARD,
                                                         tracking_data='tracking_data')])
	session.close()
Example #6
0
def save_or_update_db(sender, data):
    session = Session()
    name = core.get_value(data[0])
    content = core.get_value(data[1])
    args = argparse.Namespace(name=name, content=content, tag=None)
    db_var = session.query(Variable).filter(Variable.name == name).first()
    if db_var:
        update_variable(args)
    else:
        add_variable(args)
Example #7
0
def updatePlaylists():
    session = Session()

    # attempt to update each user's playlists
    for user in session.query(User):
        is_active = False

        # authorize the application with Spotify API
        payload = refreshToken(user.refresh_token)

        # if user account has been removed or authorization revoked, user is deleted
        if payload == None:
            session.delete(user)
        else:
            access_token = payload[0]

            playlist = user.playlist_id_short
            if playlist != None:

                # if the playlist has not been deleted
                if (dbClearPlaylist(access_token, playlist) != None):
                    uri_list = dbGetTopTracksURI(access_token, 'short_term',
                                                 50)
                    dbAddTracksPlaylist(access_token, playlist, uri_list)
                    is_active = True
                else:
                    user.playlist_id_short = None

            playlist = user.playlist_id_medium
            if playlist != None:
                if (dbClearPlaylist(access_token, playlist) != None):
                    uri_list = dbGetTopTracksURI(access_token, 'medium_term',
                                                 50)
                    dbAddTracksPlaylist(access_token, playlist, uri_list)
                    is_active = True
                else:
                    user.playlist_id_medium = None

            playlist = user.playlist_id_long
            if playlist != None:
                if (dbClearPlaylist(access_token, playlist) != None):
                    uri_list = dbGetTopTracksURI(access_token, 'long_term', 50)
                    dbAddTracksPlaylist(access_token, playlist, uri_list)
                    is_active = True
                else:
                    user.playlist_id_long = None

            # if no playlists could be updated, then remove user
            if not is_active:
                session.delete(user)

    session.commit()
    session.close()

    logging.info('Updated TopTracks Playlists')
Example #8
0
def add(id, name):
    session = Session()
    q = session.query(TrustedChats).filter(TrustedChats.chat_id == str(id))
    if q.count():
        click.secho(click.style('ChatId must be unique.', fg='red',
                                blink=True),
                    err=True)
        click.secho("Use \"list\" to see all trusted chat ids.")
    else:
        myobject = TrustedChats(chat_id=str(id), name=name)
        session.add(myobject)
        session.commit()
        click.echo('ChatId {} was added.'.format(id))
    session.close()
Example #9
0
def list(only_chat_ids):
    session = Session()
    q = session.query(TrustedChats).all()
    if only_chat_ids:
        res = []
        for id in q:
            res.append(id.chat_id)
        click.echo(res)
        return True
    for id in q:
        if id.name is None:
            click.echo("Chat ID: {}".format(id.chat_id))
        else:
            click.echo("Chat ID: {}, Name: {}".format(id.chat_id, id.name))
    session.close()
Example #10
0
def add_var_line(var, parent):
    session = Session()
    db_var = session.query(Variable).filter(Variable.name == var.name).first()
    default = ""
    if db_var:
        default = db_var.content
    core.add_input_text(
        f"{var.name}_name",
        label="",
        width=150,
        enabled=False,
        default_value=var.name,
        parent=parent,
    )
    core.add_same_line(spacing=10, parent=parent)
    if db_var and db_var.content and len(db_var.content) > 80:
        height = 80
        multiline = True
    else:
        height = 0
        multiline = False
    core.add_input_text(
        f"{var.name}_input",
        label="",
        width=300,
        default_value=default,
        parent=parent,
        multiline=multiline,
        height=height,
    )
    core.add_same_line(spacing=10, parent=parent)
    core.add_button(
        f"{var.name}_search_button",
        label="Search in DB",
        callback=search_db,
        callback_data=f"{var.name}_input",
        parent=parent,
    )
    core.add_same_line(spacing=10, parent=parent)
    core.add_button(
        f"{var.name}_update_button",
        label="Save/Update",
        callback=save_or_update_db,
        callback_data=(f"{var.name}_name", f"{var.name}_input"),
        parent=parent,
    )
Example #11
0
def edit_db():
    simple.hide_item("Create Document from Template")
    session = Session()
    vars = session.query(Variable).order_by(Variable.name.asc())
    with simple.window("Edit Variable DB", **default_window()):
        core.add_text("All variables")
        for var in vars:
            with simple.group(f"{var.name}_group"):
                core.add_input_text(
                    f"{var.name}_name_db",
                    label="",
                    width=150,
                    enabled=False,
                    default_value=var.name,
                )
                core.add_same_line(spacing=10)
                core.add_input_text(
                    f"{var.name}_content_db",
                    label="",
                    width=300,
                    default_value=get_content(var.content),
                )
                core.add_same_line(spacing=10)
                core.add_button(
                    f"{var.name}_update_button_db",
                    label="Update",
                    callback=save_or_update_db,
                    callback_data=(f"{var.name}_name_db",
                                   f"{var.name}_content_db"),
                )
                core.add_same_line(spacing=10)
                core.add_button(
                    f"{var.name}_delete_button_db",
                    label="Delete",
                    callback=remove_variable_gui,
                    callback_data=argparse.Namespace(name=var.name),
                )
        core.add_button(
            "close_button_db",
            label="Close Window",
            callback=close_popup,
        )
Example #12
0
from main import Session, engine, User

local_session = Session(bind=engine)

user_to_update = local_session.query(User).filter(
    User.username == 'jona').first()

user_to_update.username = "******"
user_to_update.email = "*****@*****.**"

local_session.commit()
Example #13
0
from main import User, Session, engine

local_session = Session(bind=engine)

#returns all objects
# users=local_session.query(User).all()[:3]
# for user in users:
#     print(user.username)

#query for one object

jona = local_session.query(User).filter(User.username == "jona").first()

print(jona)
Example #14
0
from  main import Session,engine,User


local_session=Session(bind=engine)


user_to_delete=local_session.query(User).filter(User.username=="jonathan").first()

local_session.delete(user_to_delete)

local_session.commit()
Example #15
0
from actors import Actor
from main import Base, Session
from contact_details import ContactDetails
from movie import Movie
from datetime import date

session = Session()

all_movies = session.query(Movie).all()

print('\n### All movies')
for movie in all_movies:
    print(f'{movie.title} was released on {movie.release_date}')
print('')

# get movies after 15-01-01
recent_movies = session.query(Movie).filter(
    Movie.release_date > date(2015, 1, 1)).all()

print('\n### Recent movies')
for movie in recent_movies:
    print(f'{movie.title} was released on {movie.release_date}')
print('')

# movies with the rock!
rock_movies = session.query(Movie).join(
    Actor, Movie.actors).filter(Actor.name == 'Dwayne Johnson').all()

print('\n### Rock movies')
for movie in rock_movies:
    print(f'The Rock starred in {movie.title}')