Beispiel #1
0
def search_film_by_name(query):
    db = DbManager()
    films = db.open().query(Film).filter(Film.name.like(
        "%{}%".format(query))).all()

    db.close()
    return films
Beispiel #2
0
def get_user_likes_movie_id(user_id):
    db = DbManager()
    like_ids = []
    likes = db.open().query(Like).filter(Like.user_id == user_id).all()
    for like in likes:
        like_ids.append(like.tvshow.api_id)
    return like_ids
def search_movie_by_url(url):
    try:
        db = DbManager()
        movie = db.open().query(Movie).filter(Movie.url == url).one()
        return movie
    except:
        pass
def get_movie_by_id(movie_id):
    try:
        db = DbManager()
        movie = db.open().query(Movie).filter(Movie.api_id == movie_id).one()
        return movie
    except:
        pass
Beispiel #5
0
def get_user_by_id(id):
    # GET USER BY ID
    db = DbManager()
    try:
        return db.open().query(User).filter(User.id == id).one()
    except:
        return None
Beispiel #6
0
def delete_quote(quote_id):
    try:
        db = DbManager()
        quote = db.open().query(Quote).filter(Quote.id == quote_id).one()
        return db.delete(quote)
    except:
        pass
Beispiel #7
0
def create_user(name, email, password, confirm):
    error_message = []
    # 4 is not blank
    if len(name) == 0:
        error_message.append('Name cannot be empty')
    if len(email) == 0:
        error_message.append('Email cannot be empty')
    if len(password) == 0:
        error_message.append('Password cannot be empty')
    if len(confirm) == 0:
        error_message.append('Confirm Password cannot be empty')
    # password length more than 6
    if len(password) < 6:
        error_message.append('Password must be at least 6 character')
    # password and confirm is match
    if password != confirm:
        error_message.append('Password not match')

    if len(error_message) == 0:
        db = DbManager()
        try:
            user = User()
            user.name = name
            user.email = email
            encoded = password.encode('UTF-8')
            encrypted = bcrypt.hashpw(encoded, bcrypt.gensalt())
            user.password = password
            db.save(user)
            return user
        except:
            error_message.append('Email already exist')

    return error_message
def create_user(email, name, password):
    db = DbManager()
    user = User()
    user.name = name
    user.email = email
    user.password = password
    return db.save(user)
Beispiel #9
0
def create_user(fullname, username, email, password):
    db = DbManager()
    user = User()
    user.fullname = fullname
    user.username = username
    user.email = email
    user.password = password
    return db.save(user)
def delete_like(movie_id):
    try:
        db = DbManager()
        show = db.open().query(Like).filter(Like.id == movie_id).one()
        like = db.delete(show)
        return like
    except:
        raise
def get_user_like(user_id):
    try:
        db = DbManager()
        likes = db.open().query(Like).filter(Like.user_id == user_id).order_by(
            desc(Like.created_at)).all()
        return likes
    except:
        pass
Beispiel #12
0
def search_by_user_or_email(query):
    try:
        db = DbManager()
        return db.open().query(User).filter(
            or_(User.name.like('%{}%'.format(query)),
                User.email.like('%{}%'.format(query)))).all()
    except:
        pass
Beispiel #13
0
def check_like(user_id, film_id):
    db = DbManager()
    try:
        db.open().query(Like).filter(Like.user_id == user_id,
                                     Like.film_id == film_id).one()
    except:
        like_film(user_id, film_id)
    return db.close()
Beispiel #14
0
def create_quote(user_id, content):
    try:
        db = DbManager()
        quote = Quote()
        quote.user_id = user_id
        quote.content = content
        return db.save(quote)
    except:
        pass
Beispiel #15
0
def get_user_likes(user_id):
    # GET USER LIKES
    # it gonna be return array-of-TVShow or empty-array
    db = DbManager()
    tvshows = []
    likes = db.open().query(Like).filter(Like.user_id == user_id).all()
    for like in likes:
        tvshows.append(like.tvshow)
    return tvshows
Beispiel #16
0
def unlike_a_tvshow(user_id, api_id):
    # UNLIKE TVSHOW
    tvshow = get_tvshow_by_api_id(api_id)
    db = DbManager()
    try:
        like = db.open().query(Like).filter(Like.user_id == user_id,
                                            Like.tvshow_id == tvshow.id).one()
        db.delete(like)
    except:
        return False
Beispiel #17
0
def create__like(user_id, show_id):
    db = DbManager()
    like = Like()
    check = db.open().query(Like).filter(Like.user_id == user_id).filter(Like.show_id == show_id).all()
    if len(check) == 0:
        like.show_id = show_id
        like.user_id = user_id
        return db.save(like)

    return False
Beispiel #18
0
def get_tvshow_by_api_id(api_id):
    db = DbManager()
    try:
        tvshow = db.open().query(TVShow).filter(TVShow.api_id == api_id).one()
        return tvshow
    except:
        tvshow = TVShow()
        url = TVMAZE_GET_URL.format('shows', api_id)
        response = get_request(url)
        tvshow.parse_json(response)
        db.save(tvshow)
        return tvshow
Beispiel #19
0
def search_tvshows(keyword):
    # always search from api first because it's all inclusive, search from db probably get less result
    db = DbManager()
    tvshows = []
    url = TVMAZE_SEARCH_URL.format('shows', keyword)
    for results in get_request(url):
        try:
            tvshow = db.open().query(TVShow).filter(
                TVShow.api_id == results['show']['id']).one()
        except:
            tvshow = TVShow()
            tvshow.parse_json(results['show'])
            db.save(tvshow)
        tvshows.append(tvshow)
    return tvshows
def create_like(user_id, movie_id):
    try:
        db = DbManager()

        movie = db.open().query(Movie).filter(Movie.api_id == movie_id).one()

        like = Like()
        like.user_id = user_id
        like.movie_id = movie.id

        db.save(like)

        return like
    except:
        pass
Beispiel #21
0
def like_tvshow(user_id, tvshow_id):
    user = get_user_by_id(user_id)

    tvshow_url = TVMAZE_URL.format('shows', tvshow_id)
    tvshow = get_tvshow_by_url(tvshow_url)

    DB = DbManager()
    try:
        exist = DB.open().query(Like).filter(Like.user_id == user_id, Like.tvshow_id == tvshow.id).one()
        return exist
    except:
        like = Like()
        like.user = user
        like.tvshow = tvshow
        DB.save(like)
        return like
Beispiel #22
0
def do_login(email, password):
    error_message = []
    db = DbManager()
    # if user by email is exist
    try:
        user = db.open().query(User).filter(User.email == email).one()
        # check if password is match
        encoded_pass = password.encode('UTF-8')
        encrypted_pass = bcrypt.checkpw(encoded_pass, bcrypt.gensalt())
        if user.password == password:
            return user
        else:
            error_message.append('Incorect password')
    except:
        error_message.append("User doesn't exist")
    return error_message
def search_movie(query):
    try:
        db = DbManager()
        url = API_URL.format(query)
        data = get_request(url)
        movies = []

        for obj in data:
            try:
                movie = Movie()
                movie.parse_json(obj)
                db.save(movie)
                movies.append(movie)
            except:
                movies.append(movie)

        return movies
    except:
        pass
def save_movie_to_db(api_id, url, name, image):

    db = DbManager()
    movie = Movie()
    movie.parse_json(obj)
    movie.api_id = api_id
    movie.url = url
    movie.name = name
    movie.image = image

    return save.db(movie)
Beispiel #25
0
def delete_project(project_id):
    db = DbManager()
    # project = db.delete(get_project(project_id))
    project = db.open().query(Project).filter(Project.id == project_id).one()
    project = db.delete(project)

    db.close()
    return project
def delete_task(task_id):
    print('-------------------------------------------')
    print(task_id)
    db = DbManager()
    task = db.open().query(Task).filter(Task.id == task_id).one()
    task = db.delete(task)
    db.close()
    return task
Beispiel #27
0
def like_a_tvshow(user_id, api_id):
    # LIKE A TVSHOW
    # return a Like Model if success, if already exist return None
    tvshow = get_tvshow_by_api_id(api_id)
    db = DbManager()
    try:
        db.open().query(Like).filter(Like.user_id == user_id,
                                     Like.tvshow_id == tvshow.id).one()
        return None
    except:
        like = Like()
        like.user_id = user_id
        like.tvshow_id = tvshow.id
        db.save(like)
        return like
Beispiel #28
0
def download_data(query):
    db = DbManager()
    datas = json.loads(
        requests.get(
            "http://api.tvmaze.com/search/shows?q={}".format(query)).text)
    for data in datas:
        try:
            savingdata = Film()
            savingdata.parse(data['show'])
            db.save(savingdata)

            print('-> created Film in db')
        except:
            print('data exist')

    db.close()
Beispiel #29
0
def get_show(query):
    db = DbManager()
    url = API_URL.format(query)
    data = get_request(url)
    movies = []

    for obj in data:
        movie = Movie()
        movie.parse_json(obj)

        try:
            db.open().query(Movie).filter(Movie.url == movie.url).one()
        except:
            db.save(movie)

        movies.append(movie)

    return movies
def get_all_quotes():
    db = DbManager()
    return db.open().query(Quote).all()