Exemple #1
0
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)
Exemple #2
0
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()
Exemple #3
0
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
Exemple #4
0
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)
Exemple #5
0
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))
Exemple #6
0
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": "新增成功"}