def examineall_customers():

    getid = request.form.getlist('id')
    examine = request.args.get('examine', 0)

    if len(getid) == 1:
        getid = request.form.get('id')
        try:
            upsort = db_session.query(Users).\
             filter(Users.id == getid).\
             update({Users.verify : examine})
            db_session.commit()
            # 记录日志
            # print upsort.phone
            actions = '%s%s' % ('审核通过客户:', upsort.phone)
            savelog(actions)
        except:
            return jsonify({"state": "数据库错误"})
    else:
        for getid in getid:
            try:
                upsort = db_session.query(Users).\
                 filter(Users.id == getid).\
                 update({Users.verify : examine})
                db_session.commit()
                # 记录日志
                actions = '%s%s' % ('审核通过客户:', upsort.phone)
                savelog(actions)
            except:
                return jsonify({"state": "数据库错误"})

    db_session.close()

    return jsonify({"state": 'ok'})
def examine_customers():
    getid = request.args.get('id')
    examine = request.args.get('examine', 0)
    teamid = request.args.get('teamid', 0)

    upusers = Users.query.filter(Users.id == getid)

    upusers.update({Users.verify: examine, Users.teamid: teamid})
    db_session.commit()

    #发送短信 password 和 phone 作为参数发送
    phone = '%s%s' % ('+', upusers.first().phone)
    pssw = upusers.first().password
    user = upusers.first().truename

    message = '%s%s%s%s%s%s%s' % ('【iShowRoom】尊敬的', user, ',您的帐号已审核通过,帐号:',
                                  phone, ',密码:', pssw,
                                  '。请您妥善保管密码,切勿泄漏给他人,若非您本人操作请忽略此短信!')

    result, err_message = message_validate(phone, message)
    if not result:
        return jsonify({'code': 0, 'message': err_message})

    # 记录日志
    actions = '%s%s' % ('审核通过客户:', phone)
    savelog(actions)
    db_session.close()

    return jsonify({"state": 'ok'})
def lock_customers():
    getid = int(request.args.get('id'))
    status = int(request.args.get('status'))
    Users.query.filter(Users.id == getid).update({Users.lock: status})
    db_session.commit()
    db_session.close()
    return jsonify({"state": "ok"})
def edit_customers():

    this = 'edit'
    tsActive = 'manage_customers'

    getid = request.args.get('id')

    form = EditCustomersForm()

    userData = db_session.query(Users).filter(Users.id == getid).first()

    if form.validate_on_submit():
        id = request.form.get('id')
        password = request.form.get('password')

        # 判断是否修改密码
        if not password.strip():
            return redirect('/manage/manage_customers?verify=0&status=0')
        # 如果修改密码
        else:
            db_session.query(Users).filter(Users.id == id).update(
                {Users.password: password})
            db_session.commit()
            db_session.close()

        flash("修改成功,<span id='time'>3</span>秒后自动跳转管理页。")
        return redirect('%s%s' % ('/manage/edit_customers?id=', id))

    return render_template("edit_customers.html",
                           this=this,
                           pagename=tsActive,
                           userData=userData,
                           form=form)
Ejemplo n.º 5
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
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'})
Ejemplo n.º 7
0
def result():
    "lottery result page handler"

    is_open = (time.time() - app.config['LOTTERY_OPEN_TIME']) >= 0
    if is_open:

        # check if winner already exists from database
        q = db_session.query(Pool).filter(Pool.winner==True)
        winner_exists = db_session.query(q.exists()).scalar()

        if winner_exists:
            return render_template('result.html',
                                   title='Result',
                                   open_lottery=True,
                                   winner=q.one())

        # winner doesn't exist, run lottery algorithm to generate the winner
        pool_size = db_session.query(func.count(Pool.id)).scalar()
        lottery = LittleLottery(pool_size)
        try:
            w = db_session.query(Pool).filter(Pool.id==lottery.draw()).one()
        except NoResultFound as e:
            pass
        else:
            # winner created, now write to db
            w.winner = True
            db_session.commit()
        return render_template('result.html',
                                title='Result',
                                open_lottery=True,
                                winner=w)

    open_time = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(app.config['LOTTERY_OPEN_TIME']))
    return render_template('result.html', title='Result', open_lottery=False, open_time=open_time)
Ejemplo n.º 8
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)
Ejemplo n.º 9
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)
Ejemplo n.º 10
0
def edit_team():
    getid = request.args.get('id')
    teamData = db_session.query(Team).filter(Team.id == getid).\
     with_entities(Team.title, Team.id).first()
    form = EditTeamForm()
    if teamData:
        form.id.data = teamData.id
        form.title.data = teamData.title

    db_session.close()
    if form.validate_on_submit():
        id = request.form.get('id')
        title = request.form.get('title')
        team = Team(title=title)
        db_session.query(Team).filter(Team.id == id).update(
            {Team.title: title})
        db_session.commit()
        # 记录日志
        actions = ('%s%s%s' % ('修改产品组', ':', title))
        savelog(actions)
        db_session.close()

        flash("修改成功,<span id='time'>3</span>秒后自动跳转管理页。")
        return redirect('/manage/edit_team')
    return render_template("edit_team.html",
                           pagename='manage_team',
                           this='edit',
                           form=form)
Ejemplo n.º 11
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))
Ejemplo n.º 12
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)
Ejemplo n.º 13
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)
Ejemplo n.º 14
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)}'})
Ejemplo n.º 15
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)
Ejemplo n.º 16
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()
Ejemplo n.º 17
0
def del_group():
    getid = int(request.args.get('group_id'))
    delg = db_session.query(Group).filter(Group.group_id == getid).first()
    db_session.delete(delg)
    db_session.commit()
    db_session.close()
    return jsonify({"state": "ok"})
Ejemplo n.º 18
0
def edit_group():
    getid = request.args.get('group_id')
    groupData = db_session.query(Group).filter(Group.group_id == getid).\
     with_entities(Group.name, Group.power, Group.group_id).first()
    form = EditadminForm()
    if groupData:
        form.group_id.data = groupData.group_id
        form.name.data = groupData.name
        form.powerlist.data = groupData.power

    db_session.close()
    if form.validate_on_submit():
        group_id = request.form.get('group_id')
        name = request.form.get('name')
        powerlist = request.form.get('powerlist')
        group = Group(name=name, power=powerlist)
        db_session.query(Group).filter(Group.group_id == group_id).update({
            Group.name:
            name,
            Group.power:
            powerlist
        })
        db_session.commit()
        db_session.close()

        flash("修改成功,<span id='time'>3</span>秒后自动跳转管理页。")
        return redirect('/manage/edit_group')
    return render_template("edit_group.html",
                           pagename='manage_group',
                           form=form)
Ejemplo n.º 19
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()
Ejemplo n.º 20
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': '设置默认成功'})
Ejemplo n.º 21
0
def del_contact():
    getid = int(request.args.get('id'))
    delg = db_session.query(ContactUs).filter(ContactUs.id == getid).first()
    db_session.delete(delg)
    db_session.commit()
    db_session.close()
    return jsonify({"state": "ok"})
Ejemplo n.º 22
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'])
Ejemplo n.º 23
0
def del_colors():
	getid = request.args.get('id')

	delcolors = db_session.query(ProColor).filter(ProColor.id == getid).first()
	colorpics = delcolors.colorpic.all()

	for picurl in colorpics:
		imgurl = picurl.picurl #获得图片物理地址
		imgurl = actros_split(imgurl)
		delImage(imgurl) #删除物理图片
	try:
		[db_session.delete(n) for n in colorpics]
		db_session.commit()
	except Exception as e:
		print (e)
		db_session.rollback()
		return jsonify({"state":"数据库错误"})

	try:
		db_session.delete(delcolors)
		db_session.commit()
	except Exception as e:
		print (e)
		db_session.rollback()
		return jsonify({"state":"数据库错误"})

	db_session.close()
	return jsonify({"state":'ok'})
Ejemplo n.º 24
0
def del_admin():
	getid = int(request.args.get('id'))
	delg = db_session.query(Manage).filter(Manage.id == getid).first();
	db_session.delete(delg)
	db_session.commit()
	db_session.close()
	return jsonify({"state":"ok"})
Ejemplo n.º 25
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
Ejemplo n.º 26
0
def edit_wash():
    getid = request.args.get('id')
    washData = db_session.query(Wash).filter(Wash.id == getid).\
     with_entities(Wash.text, Wash.icon, Wash.id).first()
    form = EditWashForm()
    if washData:
        form.id.data = washData.id
        form.text.data = washData.text
        form.oldicon.data = washData.icon

    db_session.close()
    if form.validate_on_submit():
        id = request.form.get('id')
        text = request.form.get('text')
        icon = request.form.get('icon')
        wash = Wash(text=text, icon=icon)
        db_session.query(Wash).filter(Wash.id == id).update({
            Wash.text: text,
            Wash.icon: icon
        })
        db_session.commit()
        # 记录日志
        actions = ('%s%s%s' % ('修改洗涤说明', ':', id))
        savelog(actions)
        db_session.close()

        flash("修改成功,<span id='time'>3</span>秒后自动跳转管理页。")
        return redirect('/manage/edit_wash')
    return render_template("edit_wash.html",
                           pagename='manage_wash',
                           this='edit',
                           form=form)
Ejemplo n.º 27
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)
Ejemplo n.º 28
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)
Ejemplo n.º 29
0
def set_head_picture():
    '''
        图片名存储到数据库
    '''
    user = g.current_user
    # 获得图片的七牛云图片
    # import ipdb; ipdb.set_trace()
    head_picture = get_qiniu_token(user.phone_number).json
    code, key, token = get_qiniu_token(user.phone_number).json.values()
    # 用户提交的图片
    up_head_picture = request.values.get('head_picture')
    head_picture = 'http://pntn3xhqe.bkt.clouddn.com/{0}'.format(key)
    user.head_picture = head_picture
    # 图片上传
    localfile = r'{0}'.format(up_head_picture)
    ret, info = put_file(token, key, localfile)
    try:
        db_session.commit()
    except Exception as e:
        print(e)
        db_session.rollback()
        return jsonify({'code': 0, 'message': '未能成功上传'})
    redis_store.hset('user:{0}'.format(user.phone_number), 'head_picture',
                     head_picture)
    return jsonify({'code': 1, 'message': '成功上传'})
Ejemplo n.º 30
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'))
Ejemplo n.º 31
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()
Ejemplo n.º 32
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
Ejemplo n.º 33
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"})
Ejemplo n.º 34
0
def save_company():
    getid = request.form.get('id')
    getcontent = cgi.escape(request.form.get('editor'))

    db_session.query(Company).filter(Company.id == getid).update(
        {Company.content: getcontent})
    db_session.commit()
    db_session.close()
    return redirect('/manage/company?id=' + getid)
Ejemplo n.º 35
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")
Ejemplo n.º 36
0
def ajax_special_delete():
    data = request.args.get('data')
    q = AuthManager.query.filter(AuthManager.route_name == data).first()
    if q:
        db1.delete(q)
        db1.commit()
        return jsonify({"info": f'delete {data}'})

    else:
        return jsonify({"info": 'nothing'})
Ejemplo n.º 37
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()
Ejemplo n.º 38
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)
Ejemplo n.º 39
0
def book_content(chapter_id):
    """小说章节内容"""
    if request.method == 'GET':
        chapter = db_session.query(Chapter).filter(Chapter.id == chapter_id).first()
        novel_id = chapter.novel_id
        comments = db_session.query(Comment).filter(and_(Comment.from_novel_id == novel_id, Comment.is_host == 1)).order_by(Comment.group_id).all()
        return render_template('book_content.html', chapter=chapter, comments=comments)
    else:
        data = request.get_json()
        chapter_content = data['content'].replace(u'<br>', u'\n')
        chapter = db_session.query(Chapter).filter(Chapter.id == chapter_id).one()
        chapter.content = chapter_content
        db_session.commit()
        return jsonify(code=1)
Ejemplo n.º 40
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))
Ejemplo n.º 41
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))
Ejemplo n.º 42
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")
Ejemplo n.º 43
0
def book_infor(novel_id):
    novel = db_session.query(Novel).filter(Novel.id == novel_id).one()
    if request.method == 'GET':
        return render_template('book_infor.html', novel=novel)
    elif request.method == 'POST':
        novel.name = request.form['novel_name']
        novel.author = request.form['novel_author']
        novel.last_update = request.form['novel_last_update']
        novel.type = request.form['novel_type']
        novel.image = request.form['novel_image']
        novel.description = request.form['novel_description']
        novel.recommend = int(request.form['novel_recommend'])
        novel.source_url = request.form['novel_source_url']
        novel.chapter_source_bequge_url = request.form['chapter_source_bequge_url']
        novel.chapter_source_ybd_url = request.form['chapter_source_ybd_url']

        db_session.flush()
        db_session.commit()
        return redirect(request.headers['referer'])
Ejemplo n.º 44
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
Ejemplo n.º 45
0
 print ("Looking to fix interview " + str(interview.id))
 print ("Interviewer phone #: " + interviewer_phone_number)
 for log_row in db_session.query(Log).filter(func.date(interview.end_time) == func.date(Log.time), Log.time > interview.end_time, Log.event_name == 'INCOMING_SMS', Log.phone_number == interviewer_phone_number):
     if interview.technical_score is not None and interview.technical_score_ts is None:
         msg_body = json.loads(log_row.data)['Body']
         if isinstance(msg_body, basestring):
             msg_body = [msg_body]
         msg_body = msg_body[0]
         print ("Msg <" + str(log_row.id) + ">: " + msg_body)
         msg_score = Handle_Score_SMS_HTTP_Response_Builder.parse_score(msg_body)
         if msg_score is not None:
             if msg_score != interview.technical_score:
                 raise Exception('Technical scores in the interview and log tables do not match for interview_id ' + str(interview.id) + ". Interview table score: " + str(interview.technical_score) + ". Log table score: " + str(msg_score))
             interview.technical_score_ts = log_row.time
             print "Fixing technical ts for interview_id: " + str(interview.id)
             db_session.commit()
     elif interview.cultural_score is not None and interview.cultural_score_ts is None:
         msg_body = json.loads(log_row.data)['Body']
         if isinstance(msg_body, basestring):
             msg_body = [msg_body]
         msg_body = msg_body[0]
         print ("Msg <" + str(log_row.id) + ">: " + msg_body)
         msg_score = Handle_Score_SMS_HTTP_Response_Builder.parse_score(msg_body)
         if msg_score is not None:
             if msg_score != interview.cultural_score:
                 raise Exception('Cultural scores in the interview and log tables do not match for interview_id ' + str(interview.id) + ". Interview table score: " + str(interview.cultural_score) + ". Log table score: " + str(msg_score))
             interview.cultural_score_ts = log_row.time
             print "Fixing cultural ts for interview_id: " + str(interview.id)
             db_session.commit()
 if interview.technical_score is not None and interview.technical_score != 0 and interview.technical_score_ts is None:
     raise Exception('Unable to come up with the technical score timestamp for interview id: ' + str(interview.id))