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 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
def get_tvshow_by_url(tvshow_url): DB = DbManager() try: tvshow = DB.open().query(TVShow).filter(TVShow.url == tvshow_url).one() DB.close() return tvshow except: DB = DbManager() data = get_request(tvshow_url) tvshow = TVShow() tvshow.parse_json(data) DB.save(tvshow) DB.close() return tvshow
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
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 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
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()
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
def create_user(email, name, password): db = DbManager() user = User() user.name = name user.email = email user.password = password return db.save(user)
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 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 create_quote(user_id, content): try: db = DbManager() quote = Quote() quote.user_id = user_id quote.content = content return db.save(quote) except: pass
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
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 create_quote(user_id, content): db = DbManager() quote = Quote() quote.content = content quote.user_id = user_id return db.save(quote)
def update_bill(bill_id, amount, description): db = DbManager() bill = db.open().query(BillItem).filter(BillItem.id == bill_id).one() bill.amount = amount bill.description = description db.save(bill)
def create_task(project_id, description): db = DbManager() task = Task() task.description = description task.project_id = project_id return db.save(task)
def create_project(title): db = DbManager() project = Project() project.title = title return db.save(project)
def like_film(user_id, film_id): db = DbManager() like = Like() like.user_id = user_id like.film_id = film_id return db.save(like)