def newOption(category_name): log = str(login_session.has_key('username')) category = get_cat_by_name(category_name) if request.method == 'POST': # check if required fields are filled if request.form['name'] == '' or request.form['description'] == '': warning = "Fill both name and description to add option" return render_template('new-option.html', category=category, categories=get_cats(), log=log, warning=warning) # create new option else: user_id = login_session['user_id'] anotherOption = Option(name=request.form['name'], description=request.form['description'], cat_id=category.id, user_id=user_id) session.add(anotherOption) session.commit() return redirect(url_for('category', category_name=category.name)) else: return render_template('new-option.html', category=category, categories=get_cats(), log=log)
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 createUser(login_session): ''' register the user and return the user id''' newUser = User(name=login_session['username'], email=login_session[ 'email']) session.add(newUser) session.commit() user = session.query(User).filter_by(email=login_session['email']).one() return user.id
def add_url_rows(class_name: str, film_id: str, url_list: list): """ 使用统一代码为相同表结构的表增加表记录 :param class_name: 表模型的类名称 :param film_id: 电影编号 :param url_list: URL列表 :return: None """ for url in url_list: # Vehicle(film_id="5fdfb320-2a02-49a7-94ff-5ca418cae602", url="https://ghibliapi.herokuapp.com/vehicles/") row = eval('%s(film_id="%s", url="%s")' % (class_name, film_id, url)) session.add(row)
def addLink(category_name, option_id): log = str(login_session.has_key('username')) user_id = login_session['user_id'] option = get_option_by_id(option_id) f = request.form if f['link'] == '' or f['url'] == '': flash('You need both Link name and Url to add a new link') else: link = Link(title=f['link'], url=f['url'], option_id=option.id) session.add(link) session.commit() return redirect( url_for('editOption', category_name=category_name, option_id=option_id))
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": "新增成功"}