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)
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'})
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)
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)
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)
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)
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))
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)
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)
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 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)
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()
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"})
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)
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()
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': '设置默认成功'})
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"})
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'])
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'})
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"})
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
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)
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)
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)
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': '成功上传'})
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'))
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()
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
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"})
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)
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")
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'})
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()
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)
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)
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))
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))
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")
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'])
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
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))