def vote_on_film(id, direction): title = request.json.get("title") year = request.json.get("year") if year != "None": length = len(str(year)) year_only = str(year)[length - 4:] try: film = Film.query.filter_by(film_id=id).first() if film: film.updateVotes(direction) else: film = Film(film_id=id, title=title, year=year_only) film.updateVotes(direction) db.session.add(film) db.session.commit() data = {"likes": film.likes, "dislikes": film.dislikes} return (data, 201) except: return ({"error": ["An error occurred. Votes cannot be registered"]}, 500)
def init_data_of_tables(): """ 从JSON文件初始化表数据 :return: None """ from utils import add_url_rows with open('films.json', encoding="utf-8") as f: film_list = json.load(f) for film_info in film_list: film = Film(id=film_info["id"], title=film_info["title"], description=film_info["description"], director=film_info["director"], producer=film_info["producer"], release_date=film_info["release_date"], rt_score=film_info["rt_score"], url=film_info["url"]) session.add(film) location_list = film_info["locations"] add_url_rows('Location', film.id, location_list) people_list = film_info["people"] add_url_rows('People', film.id, people_list) specie_list = film_info["species"] add_url_rows('Specie', film.id, specie_list) vehicle_list = film_info["vehicles"] add_url_rows('Vehicle', film.id, vehicle_list) session.commit()
def najboljsi_filmi(): """ Izpiše najboljših 10 filmov v letu, ki ga vnese uporabnik. """ leto = input('Katero leto te zanima? ') filmi = Film.najboljsi_v_letu(leto) for mesto, film in enumerate(filmi, 1): print(f'{mesto}) {film.naslov} ({film.ocena}/10)')
def get_film_info(): film_id = request.args.get('id') if film_id: films = session.query(Film).filter(Film.id == film_id).all() if films: return films[0] return Film()
def dodajanje_filma(): """ Doda film s podatki, ki jih vnese uporabnik. """ naslov = input("Napiši naslov filma: ") leto = None while leto is None: try: leto = int(input("Napiši leto: ")) except ValueError: print("Leto mora biti celo število!") ocena = None while ocena is None: try: ocena = float(input("Napiši oceno: ")) except ValueError: print("Ocena mora biti število!") reziserji = [] while True: print("Ali želiš dodati režiserja?") dodaj = vnesi_izbiro(JaNe) if dodaj == JaNe.NE: break oseba = poisci_osebo() reziserji.append(oseba) print(f"Dodan režiser {oseba.ime}.") igralci = [] while True: print("Ali želiš dodati igralca?") dodaj = vnesi_izbiro(JaNe) if dodaj == JaNe.NE: break oseba = poisci_osebo() igralci.append(oseba) print(f"Dodan igralec {oseba.ime}.") film = Film(naslov, leto, ocena) film.dodaj_v_bazo(reziserji, igralci) print(f'Film {naslov} ({leto}) dodan z ID-jem {film.id}.')
def load_films(): """Load films from seed data into database""" with open("seed_data/films.txt") as films: for row in films: film = row.rstrip().split("|") hidden = True if film[10] == "True" else False kwargs = dict( film_id = film[0], user_id = film[1], resume_order = film[2], review_order = film[3], title = film[4], specifier = film[5], character = film[6], producer = film[7], director = film[8], link = film[9], hidden = hidden ) keys_to_remove = [] for key in kwargs.keys(): if kwargs[key] == "": keys_to_remove.append(key) for key in keys_to_remove: del kwargs[key] film = Film(**kwargs) db.session.add(film) db.session.commit()
def add_film(): _id = request.form.get('id') _title = request.form.get('title') _description = request.form.get('description') _director = request.form.get('director') _producer = request.form.get('producer') _release_date = request.form.get('release_date') _rt_score = request.form.get('rt_score') _url = request.form.get('url') hlog.var('_id', _id) hlog.var('_title', _title) hlog.var('_description', _description) hlog.var('_director', _director) hlog.var('_producer', _producer) hlog.var('_release_date', _release_date) hlog.var('_rt_score', _rt_score) hlog.var('_url', _url) old_film = session.query(Film).filter(Film.id == _id).all() if old_film: return {"status": "1", "message": "电影编号已经存在"} film = Film(id=_id, title=_title, description=_description, director=_director, producer=_producer, release_date=_release_date, rt_score=_rt_score, url=_url) session.add(film) session.commit() return {"status": "0", "message": "新增成功"}
def najboljsi_filmi(leto): return bottle.template('najboljsi_filmi.html', leto=leto, filmi=Film.najboljsi_v_letu(leto))