Пример #1
0
def add_group():
    form = AddadminForm()
    if form.validate_on_submit():
        name = request.form.get('name')
        powerlist = request.form.get('powerlist')
        group = Group(name=name,
                      power=powerlist,
                      addtime=datetime.datetime.now())
        group_check = db_session.query(Group).filter(
            Group.name == name).first()
        if group_check:
            flash('用户组已存在')
            return redirect('/manage/add_group')
        if len(name) and len(powerlist):
            try:
                db_session.add(group)
                db_session.commit()
                db_session.close()
            except:
                flash("数据库错误!")
                return redirect('/manage/add_group')

            flash("添加成功,<span id='time'>3</span>秒后自动跳转管理页。")
            return redirect('/manage/add_group')
    return render_template("add_group.html",
                           pagename='manage_group',
                           form=form)
Пример #2
0
def ajax_update_route():
    print('ajax_update_route')
    all_routes = []
    for a in current_app.url_map.iter_rules():
        if str(a) not in \
                ['/static/<path:filename>', '/', '/frame', '/production', '/schedule', 'signing', 'revise', 'hello']:
            all_routes.append(str(a))
    # print("------")
    # print(len(all_routes))
    # print(len(set(all_routes)))
    #
    # all_routes.sort()
    # for r in all_routes:
    #     print(r)
    result = []
    for url in all_routes:
        q = AuthManager.query.filter(AuthManager.route_name == url).first()
        if not q:
            if url[:5] != '/ajax' or url[:4] == '/api':
                new = AuthManager(route_name=url, permission='', page_url=url)
            else:
                new = AuthManager(route_name=url, permission='')
            result.append(url)
            db1.add(new)
    db1.commit()
    return jsonify({'msg': f'成功,新增URL: {",".join(result)}'})
def upbooks():
    getid = request.form.getlist('id')
    manageid = current_user.id
    if len(getid) == 1:
        bookid = getid[0]
        upstatus = MuGb.query.filter_by(bookid=bookid,
                                        manageid=manageid).first()
        if upstatus:
            upstatus.status = 1
            try:
                db_session.add(upstatus)
                db_session.commit()
            except Exception as e:
                print(e)
                db_session.rollback()
                return jsonify({"state": "数据库错误"})
    else:
        manageid = []
        for x in getid:
            manageid.append(current_user.id)
        for (getid, manageid) in zip(getid, manageid):
            try:
                db_session.query(MuGb).\
                 filter(MuGb.bookid == getid, MuGb.manageid == manageid).\
                 update({MuGb.status : 1})
                db_session.commit()
            except Exception as e:
                print(e)
                db_session.rollback()
                return jsonify({"state": "数据库错误"})
    return jsonify({'state': 'ok'})
Пример #4
0
def update_feed(feedid, rset, itemlist: list):
    # cleanup list of new feeds
    _itemlist = itemlist.copy()  # list of new item's links
    olditems = Item.query.filter(
        Item.feedid == feedid).all()  # list of old items in feed
    for iter in olditems:
        if str(iter.link) in _itemlist: _itemlist.remove(iter.link)

    # 새 feed가 없고, 이전에도 feed가 없었던 경우
    if (len(_itemlist) == 0) and (len(itemlist) == len(olditems)):
        return False

    # delete all old feed items
    # todo: feed별 삭제여부를 지정할 수 있도록 할 것
    logger.debug("remove all old items in feed: {}".format(feedid))
    for olditem in olditems:
        db_session.delete(olditem)

    count = 1
    for iter in itemlist:
        logger.info("processing...: {count} / {length}".format_map({
            'count':
            count,
            'length':
            len(itemlist)
        }))
        count = count + 1

        feeditem = update_feeditem(feedid, iter, rset)
        if feeditem:
            db_session.add(feeditem)
    db_session.commit()
    return True
Пример #5
0
def register():
    "register form handler"

    # do not let users register anymore if lottery result is open already
    is_open = (time.time() - app.config['LOTTERY_OPEN_TIME']) >= 0
    if is_open:
        return redirect(url_for('index'))

    form = RegistrationForm() 
    if form.validate_on_submit():
        # verify if the same data already exists in database
        participant = db_session.query(Pool).filter(or_(Pool.name==form.name.data, Pool.email==form.email.data)).first()
        if participant:
            flash('The name or email you gave already exists; please use another name or email.')
            return redirect(url_for('register'))

        # do a db write
        player = Pool(name=form.name.data, email=form.email.data)
        db_session.add(player)
        db_session.commit()

        # store user session
        session['name'] = form.name.data

        # redirect to confirmation page
        return redirect(url_for('confirmation'))
    return render_template('register.html', title='Registration', form=form)
Пример #6
0
 def post(self):
     try:
         args = ruleset_parser.parse_args()
         feed_id = model_Ruleset.query.count() + 1
         feed = model_Ruleset(
                 listUrl = args['listUrl'],
                 encoding = args['encoding'],
                 title = args['title'],
                 description = args['description'],
                 category = args['category'],
                 itemlink = args['itemlink'],
                 nextpagelink = args['nextpagelink'],
                 maxcheckpage = args['maxcheckpage'],
                 itemtitle = args['itemtitle'],
                 itemauthor = args['itemauthor'],
                 itemguidtype = args['itemguidtype'],
                 itemguidfrom = args['itemguidfrom'],
                 itemguid = args['item'],
             itempub_date = args['itempub_date'],
             itempub_date_format = args['itempub_date_format']
             )
         db_session.add(feed)
         db_session.commit()
     except:
         abort(500)
     return feed_id, 201
     pass
Пример #7
0
def comment():
    if request.method == 'POST':
        commentdata = request.get_json()
        post_user_id = int(commentdata['post_user_id'])

        #发表帖子
        if commentdata['is_host']:
            max_group_id = db_session.query(func.max(Comment.group_id)).filter(Comment.from_novel_id == int(commentdata['novel_id'])).first()
            if max_group_id is None:
                group_id = 1
            else:
                group_id = int(max_group_id[0]) + 1

            new_comment = Comment(from_user_id=post_user_id, from_novel_id=int(commentdata["novel_id"]), is_host=True,
                                  group_id=group_id, content=commentdata["comment"])

            db_session.add(new_comment)
            db_session.flush()
            comment_id = new_comment.id
            db_session.commit()
            return jsonify(code=1, comment_id=comment_id, group_id=group_id)

        #回复帖子
        else:
            new_comment = Comment(from_user_id=post_user_id, from_novel_id=int(commentdata['novel_id']), to_user_id=int(commentdata['to_user_id']),
                                  is_host=False, group_id=int(commentdata['group_id']), content=commentdata['comment'])

            db_session.add(new_comment)
            db_session.flush()
            comment_id = new_comment.id
            to_nickname = new_comment.to_user.nickname
            to_headpic = new_comment.to_user.headpic
            db_session.commit()

            return jsonify(code=1, comment_id=comment_id, to_nickname=to_nickname, to_headpic=to_headpic)
Пример #8
0
 def db_add(nick: str, date: str, title: str, text: str) -> None:
     new_post = Habr(nick, date, title, text)
     try:
         db_session.add(new_post)
         db_session.commit()
     except:
         db_session.rollback()
Пример #9
0
def add_song_to_db(session, song_data):

    patterns = song_data["patterns"]
    patterns_json = json.dumps(patterns)

    sections = song_data["sections"]
    sections_json = json.dumps(sections)

    track = model.Track()

    track.song_id = song_data["song_id"]
    track.key = song_data["key"]
    track.title = song_data["title"]
    track.tempo = song_data["tempo"]
    track.energy = song_data["energy"]
    track.artist_name = song_data["artist_name"]
    track.mode = song_data["mode"]
    track.time_signature = song_data["time_signature"]
    track.duration = song_data["duration"]
    track.loudness = song_data["loudness"]
    track.artist_id = song_data["artist_id"]
    track.valence = song_data["valence"]    
    track.audio_md5 = song_data["audio_md5"]
    track.spotify_track_uri = song_data["spotify_track_uri"]
    track.patterns = patterns_json
    track.sections = sections_json
    track.rotation_duration = song_data["rotation_duration"]

    db_session.add(track)
    db_session.commit()
Пример #10
0
def add_or_update_rating():
    movie_id = request.form.get("movie_id")
    movie_id = int(movie_id) # ERROR: ValueError: invalid literal for int() with base 10: ''
    print "MOVIE ID", movie_id, type(movie_id)
    rating_num = request.form.get("rating")
    user_id = browser_session["user"]

    if rating_num < 1 or rating_num > 5:
        flash("Rating must be a whole number from 1 to 5.")
        return redirect("/movie/%d" % movie_id)

    rating_in_db = db_session.query(model.Rating).filter(model.Rating.movie_id==movie_id).filter(model.Rating.user_id==user_id).all()

    if rating_in_db == []:
        rating = model.Rating(user_id=user_id, movie_id=movie_id, rating=rating_num)
        print rating.rating
        db_session.add(rating)
    else:
        rating = rating_in_db[0]
        rating.rating = rating_num
        print rating.rating
        db_session.add(rating)

    db_session.commit()

    flash("Your rating has been saved!")
    return redirect("/movie/%d" % rating.movie_id)
Пример #11
0
def register():
    """注册用户"""
    if request.method == 'GET':
        return render_template('register.html', error_str='')
    elif request.method == 'POST':
        email = request.form['email']
        password = request.form['password']
        repassword = request.form['repassword']
        nickname = request.form['nickname']
        validate_code = request.form['validate']
        headpic = request.form['head_pic_input']
        user_id = db_session.query(User.id).filter(User.email == email).first()
        nickname_id = db_session.query(User.id).filter(User.nickname == nickname).first()

        if password != repassword:
            return render_template('register.html', error_str=u'密码输入前后不一致')
        elif len(email) < 6 or len(email) > 25:
            return render_template('register.html', error_str=u'用户名在6到25位之间')
        elif user_id:
            return render_template('register.html', error_str=u'用户名已经存在')
        elif nickname_id:
            return render_template('register.html', error_str=u'昵称已经存在')
        elif validate_code != session['validate']:
            return render_template('register.html', error_str=u'验证码错误')
        else:
            new_user = User(email=email, password=password, nickname=nickname, headpic=headpic)
            db_session.add(new_user)
            db_session.commit()
            session['id'] = new_user.id
            session['email'] = new_user.email
            session['nickname'] = new_user.nickname
            session['head_pic'] = new_user.headpic
            session['is_admin'] = new_user.is_admin
            return redirect(request.args['backurl'])
Пример #12
0
def add_silder():
    this = 'add'
    form = AddsilderForm()
    if form.validate_on_submit():
        title = request.form.get('title')
        url = request.form.get('url')
        picid = request.form.get('picid')
        sort = request.form.get('sort')

        silder = Silder(title=title, url=url, picid=picid, sort=sort)

        silder_check = db_session.query(Silder).order_by(Silder.id)

        if len(title):
            try:
                db_session.add(silder)
                db_session.commit()
                db_session.close()
            except:
                flash("数据库错误!")
                return redirect('/manage/add_silder')

            flash("添加成功,<span id='time'>3</span>秒后自动跳转管理页。")
            return redirect('/manage/add_silder')
    return render_template("edit_silder.html",
                           pagename='silder',
                           this=this,
                           form=form)
Пример #13
0
def add_team():
    form = AddTeamForm()
    if form.validate_on_submit():
        title = request.form.get('title')
        team = Team(title=title, addtime=datetime.datetime.now())
        team_check = db_session.query(Team).filter(Team.title == title).first()
        if team_check:
            flash('产品组已存在')
            return redirect('/manage/add_team')
        if len(title):
            try:
                db_session.add(team)
                db_session.commit()
                # 记录日志
                actions = ('%s%s%s' % ('增加产品组', ':', title))
                savelog(actions)
                db_session.close()
            except:
                flash("数据库错误!")
                return redirect('/manage/add_team')

            flash("添加成功,<span id='time'>3</span>秒后自动跳转管理页。")
            return redirect('/manage/add_team')
    return render_template("edit_team.html",
                           pagename='manage_team',
                           this='add',
                           form=form)
Пример #14
0
def add_or_update_rating():
    movie_id = request.form.get("movie_id")
    rating_num = request.form.get("rating")
    user_id = browser_session["user"]

    if type(rating_num) != int or rating_num < 1 or rating_num > 5:
        flash("Rating must be a whole number from 1 to 5.")
        return redirect("/movie/%d" % int(movie_id))

    rating_in_db = db_session.query(
        model.Rating).filter(model.Rating.movie_id == movie_id).filter(
            model.Rating.user_id == user_id).all()

    if rating_in_db == []:
        rating = model.Rating(user_id=user_id,
                              movie_id=movie_id,
                              rating=rating_num)
        print rating.rating
        db_session.add(rating)
    else:
        rating = rating_in_db[0]
        rating.rating = rating_num
        print rating.rating
        db_session.add(rating)

    db_session.commit()

    flash("Your rating has been saved!")
    return redirect("/movie/%d" % rating.movie_id)
Пример #15
0
def setdf_address():
    id = request.get_json().get('id')
    userid = g.current_user.id

    addressd = Address.query.filter_by(userid=userid, default=1).first()
    if addressd:
        addressd.default = 0
        try:
            db_session.add(addressd)
            db_session.commit()
        except Exception as e:
            print(e)
            db_session.rollback()
            return jsonify({'code': 0, 'message': '数据库错误'})

    setdefault = Address.query.filter_by(id=id).first()
    setdefault.default = 1
    try:
        db_session.add(setdefault)
        db_session.commit()
    except Exception as e:
        print(e)
        db_session.rollback()
        return jsonify({'code': 0, 'message': '数据库错误'})

    return jsonify({'code': 1, 'message': '设置默认成功'})
Пример #16
0
def register():
  """ this method writes new unique user information into the users table in the database. then 
  creates a new session and directs them to the current game."""
  form = forms.RegForm()
# if not form. is where the magic happends in flask-wtforms 
  if not form.validate_on_submit():
    print form.errors
    return render_template("signup.html", form=form)
 
  name = form.name.data
  email = form.email.data
  password = form.password.data
  latitude = float(form.lat.data)
  longitude = float(form.long.data)
# from here to the comment above this is flask-wtf library. http://flask.pocoo.org/docs/patterns/wtforms/ to read more about this
  existing = db_session.query(User).filter_by(email=email).first()
  print existing 
  if existing: 
    flash ('Email is already in use please try again')
    return redirect(url_for('display_signup'))
  else: 
    new_user = User(email=email, password=password, name=name, longitude=longitude, latitude=latitude)
    db_session.add(new_user)
    db_session.commit()
    db_session.refresh(new_user)
    user = db_session.query(User).filter_by(email=email, password=password).one()
    session['user_id'] = user.id
  return redirect(url_for('current_game'))
Пример #17
0
def register():
    error = None
    if request.method == 'POST':
        ID = request.form['ID']
        name = request.form['name']
        pwd = request.form['pwd']
        pwd_confirm = request.form['pwd_confirm']
        error = None
        if not ID:
            error = 'Username is required.'
        elif not pwd:
            error = 'Password is required.'
        elif not pwd == pwd_confirm:
            error = 'Password is not the same.'
        elif User.query.filter_by(username=ID).first() is not None:
            error = 'User {} is already registered.'.format(ID)
            return redirect(url_for('frame.index1', error=error))

        if error is None:
            new_client = User(username=ID,
                              password=generate_password_hash(pwd),
                              name=name)
            db1.add(new_client)
            db1.commit()
            db1.remove()
            error = 'register success'
            return redirect(url_for('frame.index1', error=error))
        flash(error)
    return redirect(url_for('frame.index1', error=error))
Пример #18
0
 def db_add(firm: str, args: list) -> None:
     new_org = ListOrg(firm, args[0], args[1], args[2], args[3], args[4],
                       args[5], args[6])
     try:
         db_session.add(new_org)
         db_session.commit()
     except:
         db_session.rollback()
Пример #19
0
def add_new_user(bot, update, user_data):
    '''Логин студента приходит в update message text'''
    new_user = update.message.text
    # TODO: Проверка, что такого пользователя нет
    new_student = Student(username=new_user, role='student')
    user_data['teacher1'].append(
        new_user)  # Добавляем нового ученика в user_data
    db_session.add(new_user)  # Добавляем студента в базу
Пример #20
0
def synchronize_players(clan_id):
    logger.info("synchronize_players(" + clan_id + ")")
    logger.info("Clan member synchronization triggered for " + str(clan_id))

    from model import db_session
    clan_info = get_clan_info.delay(str(clan_id)).wait()
    logger.info("Synchronizing " + clan_info['data'][str(clan_id)]['abbreviation'])
    processed = set()
    for player_id in clan_info['data'][str(clan_id)]['members']:
        player = clan_info['data'][str(clan_id)]['members'][player_id]
        player_data = get_player_info.delay(str(player['account_id'])).wait()
        p = Player.query.filter_by(wot_id=str(player['account_id'])).first()
        if not player_data:
            if p: processed.add(p.id) # skip this guy later when locking players
            continue # API Error?

        since = datetime.datetime.fromtimestamp(
            float(player_data['data'][str(player['account_id'])]['clan']['since']))

        if p:
            # Player exists, update information
            processed.add(p.id)
            p.locked = False
            p.clan = clan_info['data'][str(clan_id)]['abbreviation']
            p.role = player['role'] # role might have changed
            p.member_since = since # might have rejoined
        else:
            # New player
            p = Player(str(player['account_id']),
                       'https://eu.wargaming.net/id/' + str(player['account_id']) + '-' + player[
                           'account_name'] + '/',
                       since,
                       player['account_name'],
                       clan_info['data'][str(clan_id)]['abbreviation'],
                       player['role'])
            logger.info('Adding player ' + player['account_name'])
        db_session.add(p)

    # Lock players which are no longer in the clan
    for player in Player.query.filter_by(clan=clan_info['data'][str(clan_id)]['abbreviation']):
        if player.id in processed or player.id is None or player.locked: continue
        logger.info("Locking player " + player.name)
        player.locked = True
        player.lock_date = datetime.datetime.now()
        db_session.add(player)

    try:
        db_session.commit()
        logger.info("Clan member synchronization successful")
    except Exception as e:
        logger.warning("Clan member synchronization failed. Rolling back database transaction:")
        logger.exception(e)
        db_session.rollback()
    finally:
        db_session.remove()

    return True
Пример #21
0
def lock_admin():
	getid = int(request.args.get('id'))
	status = int(request.args.get('status'))
	thstatus = Manage.query.filter_by(id = getid).first()
	thstatus.status = status
	db_session.add(thstatus)
	db_session.commit()
	db_session.close()
	return jsonify({"state":"ok"})
Пример #22
0
def add_image_to_db(session, filename, artist_name, title):

    image = model.Image()

    image.filename = filename
    image.artist_name = artist_name
    image.title = title

    db_session.add(image)
    db_session.commit()
Пример #23
0
def process_sign_up():
    d = request.form
    # print "_____________%r" % d
    # 1) create a User object with form data
    new_user = User(email=d['email'], password=d['password'])
    # 2) add object to db
    db_session.add(new_user)
    # 3) commit
    db_session.commit()
    return render_template("signup.html")
Пример #24
0
    def mutate(self, args, context, info):
        marker_model = MarkerModel(title=args.get("title"),
                                   blurb=args.get("blurb"),
                                   latitude=args.get("latitude"),
                                   longitude=args.get("longitude"))

        db_session.add(marker_model)
        db_session.commit()

        return CreateMarker(ok=True)
Пример #25
0
    def mutate(self, args, context, info):
        marker_id = args["marker_id"]
        marker_model = db_session.query(MarkerModel).get(marker_id)

        for key in args.keys():
            setattr(marker_model, key, args[key])

        db_session.add(marker_model)
        db_session.commit()

        return UpdateMarker(ok=True)
Пример #26
0
def upst_to_st(orderid, state, text):
    orderstate = OrderState(orderid=orderid,
                            state=state,
                            text=text,
                            uptime=datetime.datetime.now())
    try:
        db_session.add(orderstate)
        db_session.commit()
    except Exception as e:
        print(e)
        db_session.rollback()
        return jsonify({"state": "数据库错误"})
Пример #27
0
def _validate_buildinfo(feedid):
    # todo: 후에 ruleset에서 각각 따로 지정할 수 있도록 할 것
    _defaultInterval = 10  # minute

    buildinfo = BuildInfo.return_item(feedid)
    if not buildinfo or type(buildinfo) is not BuildInfo:
        logger.debug("*- initial feed update : {}".format(feedid))
        buildinfo = BuildInfo(id = feedid,
                              check_interval = _defaultInterval)
        db_session.add(buildinfo)
        db_session.commit()
    return buildinfo
Пример #28
0
def signup_complete():
    email = request.form.get("email")
    password = request.form.get("password")
    pass_validation = request.form.get("passwordvalidation")
    age = request.form.get("age")
    occupation = request.form.get("occupation")
    zipcode = request.form.get("zip")

    if password == pass_validation:
        new_user = model.User(email = email, password = password, age = age, occupation = occupation, zipcode = zipcode)
        db_session.add(new_user)
        db_session.commit()

    return render_template("welcome.html", occupation=new_user.occupation)
Пример #29
0
def ajax_add_role():
    data = request.get_data()
    data = json.loads(data)
    print('ajax_add_role')
    print(data)
    role = data['role']
    chi_name = data['chi_name']
    # for i in role:
    #     if i > u'\u4e00' or i < u'\u9fff':
    #         return jsonify({'msg': 'Role不能有中文'})
    new = Role(role=role, chi_name=chi_name)
    db1.add(new)
    db1.commit()
    return jsonify({'msg': '成功'})
Пример #30
0
def add_news():

    pid = int(request.args.get('pid'))

    if pid == 1:
        tsActive = "manage_news"
    elif pid == 2:
        tsActive = "help"
    elif pid == 3:
        tsActive = "manage_company"
    this = 'add'

    form = AddNewsForm()
    if form.validate_on_submit():
        userid = int(request.form.get('userid'))
        title = request.form.get('title')
        getcontent = html.escape(request.form.get('editor'))
        display = int(request.form.get('display'))

        news = News(pid=pid,
                    title=title,
                    content=getcontent,
                    display=display,
                    userid=userid,
                    teamid=current_user.teamid,
                    addtime=datetime.datetime.now())
        news_check = db_session.query(News).filter(News.title == title).first()
        if news_check:
            if pid == 1:
                flash('资讯已存在')
            elif pid == 2:
                flash('帮助已存在')
            return redirect('%s%s' % ('/manage/add_news?pid=', pid))
        if len(title) and len(getcontent):
            try:
                db_session.add(news)
                db_session.commit()
                db_session.close()
            except:
                flash("数据库错误!")
                return redirect('%s%s' % ('/manage/add_news?pid=', pid))

            flash("添加成功,<span id='time'>3</span>秒后自动跳转管理页。")
            return redirect('%s%s' % ('/manage/add_news?pid=', pid))
    return render_template("edit_news.html",
                           pagename=tsActive,
                           this=this,
                           pid=pid,
                           form=form)
Пример #31
0
def login():
    phone_number = request.get_json().get('phone_number')
    password = request.get_json().get('password')
    touchid = request.get_json().get('touchid')

    user = Users.query.filter_by(phone=phone_number).first()
    if not user:
        return jsonify({'code': 0, 'message': '没有此用户'})

    if user.password != password:
        return jsonify({'code': 0, 'message': '密码错误'})

    if user.verify != 0:
        return jsonify({'code': 0, 'message': '账户还没有通过审核'})

    if user.lock != 0:
        return jsonify({'code': 0, 'message': '账户被锁定'})

    if user.touchid != touchid or user.touchid != None:
        user.touchid = touchid
        try:
            db_session.add(user)
            db_session.commit()
        except Exception as e:
            print(e)
            db_session.rollback()
            return jsonify({'code': 0, 'message': '数据库错误'})

    m = hashlib.md5()
    m.update(str(phone_number).encode('utf-8'))
    m.update(str(password).encode('utf-8'))
    m.update(str(int(time.time())).encode('utf-8'))
    token = m.hexdigest()

    pipeline = current_app.redis.pipeline()
    pipeline.hmset('user:%s' % user.phone, {
        'token': token,
        'company': user.company,
        'app_online': 1
    })
    pipeline.set('token:%s' % token, user.phone)
    pipeline.expire('token:%s' % token, 3600 * 24 * 30)
    pipeline.execute()
    return jsonify({
        'code': 1,
        'message': '成功登录',
        'userid': user.id,
        'token': token
    })
Пример #32
0
def cancel_order():
    orderid = request.get_json().get('id')

    cancel = Order.query.filter_by(id=orderid).first()
    if cancel:
        cancel.state = 99
        try:
            db_session.add(cancel)
            db_session.commit()
        except Exception as e:
            print(e)
            db_session.rollback()
            return jsonify({'code': 3, 'message': '数据库错误'})

    return jsonify({'code': 1, 'message': '订单取消成功'})
Пример #33
0
def create_games(): 
  """this method will write to the game table.""" 
  game_title = request.form['game_title']
  game_description = request.form['game_description'] 
  existing = db_session.query(Game).filter_by(game_title = game_title).first()
  if existing: 
    flash ('This game title is already in use please try again for a unique game title.')
    return redirect(url_for('display_make_game'))
  else:
    new_game = Game(game_title=game_title, game_description=game_description)
    db_session.add(new_game)
    db_session.commit()
    db_session.refresh(new_game)
    game_id = new_game.id
  return redirect(url_for('display_make_challenge', game_id=game_id))
Пример #34
0
def up_pro_state():
	getid = request.form.getlist('id')
	getstate = request.form.get('new_p')
	for i in range(len(getid)):
		upst = Product.query.filter_by(proid=getid[i]).first()
		upst.new_p = getstate
		db_session.add(upst)
		try:
			db_session.commit()
		except Exception as e:
			print (e)
			return jsonify({"state":"数据库错误"})
	db_session.close()
	
	return jsonify({"state":'ok'})
Пример #35
0
def change_password():
    userid = g.current_user.id
    password = request.get_json().get('password')

    userinfo = Users.query.filter_by(id=userid).first()
    if userinfo:
        userinfo.password = password
        try:
            db_session.add(userinfo)
            db_session.commit()
        except Exception as e:
            print(e)
            db_session.rollback()
            return jsonify({'code': 0, 'message': '数据库错误'})

    return jsonify({'code': 1, 'message': '修改密码成功'})
Пример #36
0
def add_ruleset():
    # TODO : add시 flash 메시지를 띄우도록 할 것
    # TODO : 이를 위해서는 flash를 위해 세션을 생성할 필요가 있다.

    # if not session.get('session_id'):
    #   abort(401)
    logger.debug(request.form)
    ruleset = Ruleset()

    set_field(ruleset)

    db_session.add(ruleset)
    db_session.commit()

    return redirect(
        url_for('my_view.list_ruleset'))  # str(request.form) + "\n is checked"
Пример #37
0
def close_touch():
    userid = g.current_user.id
    touchid = None

    userinfo = Users.query.filter_by(id=userid).first()
    if userinfo:
        userinfo.touchid = touchid
        try:
            db_session.add(userinfo)
            db_session.commit()
        except Exception as e:
            print(e)
            db_session.rollback()
            return jsonify({'code': 0, 'message': '数据库错误'})

    return jsonify({'code': 1, 'message': '指纹关闭成功'})
Пример #38
0
def ajax_updateuser():
    data = request.form.to_dict()
    data_role = data['role'].split(",")
    roles = []
    for role in data_role:

        temp = Role.query.filter_by(role=role).first()
        if temp is not None:
            roles.append(temp)
        else:
            return jsonify({'error': '角色不存在'})
    user = User.query.filter_by(id=data['id']).first()
    user.role = roles
    db1.add(user)
    db1.commit()
    db1.remove()
    return jsonify()  # Return json object to make ajax success.
Пример #39
0
def next_challenge(game_id):
  """ if the user CLICKS on +1 CHALLENGE BUTTON this method will WRITE the challenge to the
  challenge table in the database and display a new blank form till user presses submit."""
  story = request.form.get('story')
  puzzle = request.form['puzzle']
  solution = request.form['correct_solution']
  # challenge_position = request.form['challenge_position'] add in a hidden form input that will auto count how many challenges are made
  if story is None or puzzle is None or solution is None: 
    flash ('Please fill out everything on the page as this is all critical information your players will need in order to play your game.')
    return redirect(url_for('display_make_challenge'))
  else:
    new_challenge = Challenge(game_id=game_id, story=story, puzzle=puzzle, solution=solution)
    # how do I add a counter?
    db_session.add(new_challenge)
    db_session.commit()
    db_session.refresh(new_challenge)
  return redirect(url_for('next_challenge', game_id=game_id))
Пример #40
0
def update_collection():
    """can add to collection with card title""" 
    while True:
        try: 
            card_name = request.form['name']

            # checking to see if card is real card from Card class and getting the card
            card_from_table = db_session.query(Card).filter_by(name=card_name).one()
            col_itm_card = Collection_item(cards_id = card_from_table.id)
            db_session.add(col_itm_card)
            db_session.commit()
            db_session.refresh(col_itm_card)
            flash("you've successfully added a card to your collection")
            return redirect ("/update")
        
        except sqlalchemy.orm.exc.NoResultFound:
            flash("Update countered! Try again")
            return redirect("/update")
Пример #41
0
def upload_and_db(title, imgs):
    """
    把得到的img的url和title上传到七牛,返回的url存入到数据库
    """
    q = Auth(access_key, secret_key)
    new_pic = Picture(title=title)
    db_session.add(new_pic)
    db_session.flush()
    picture_id = new_pic.id

    for img in imgs:
        print img
        data = requests.get(img).content
        new_path = Path(picture=new_pic)
        db_session.add(new_path)
        db_session.flush()
        key_path = key_upload + str(new_path.id)
        mime_type = "image/jpeg"
        token = q.upload_token(bucket_name, key_path)
        ret, info = put_data(token, key_path, data,  mime_type=mime_type, check_crc=True)
        new_path.path_ = qiniu_url + ret['key']

    db_session.commit()
    return picture_id