def api(): uid = _apikeyvalidate(g.db,request.args.get('key', 0)) if uid == 0: abort(404) type = request.args.get('t', 0) if type == 'A': #add order contract_id = request.args.get('cid', 0,type=int) b_s = request.args.get('bs', 0) point = request.args.get('pt', 0) lots = request.args.get('lt', 0,type=int) res = _add_order(g.db,uid,contract_id,b_s,point,lots,'S') return jsonify(res) elif type == 'C': #cancel order orderid = request.args.get('oid', 0) res = _cancel_order(g.db,uid,orderid) return jsonify(res) elif type == 'O': #get orderlist res = _update_user(g.db,{'user_id':uid},['orders']) return jsonify(res) elif type == 'U': #Update server contract_id = request.args.get('cid', 0,type=int) _update_contract(g.db,contract_id,'D') return jsonify({'category':'suc'}) else: abort(404)
def data(): t = request.args.get('t', 'cl') n = request.args.get('n', 0,type=int) if t == 'cl': return jsonify(gv_contlist) elif t=='c': if n in gv_contract: return jsonify({'data':gv_contract[n]['M'],'name':gv_contract[n]['name']}) else: abort(404) elif t=='tc': #return 1 if n in gv_contract: return jsonify(gv_contract[n]) else: abort(404) elif t=='u': if 'user_id' not in session: abort(404) return jsonify(_update_user(g.db,session,['orders','positions'])) elif t=='ua': if 'user_id' not in session: abort(404) return jsonify(_update_usergl(g.db,session['user_id'],n)) elif t=='test': return jsonify(request.headers)
def trade(): if 'user_id' not in session: return redirect(url_for('home')) if request.method == 'POST': #---Add order--- res = _add_order(g.db,session['user_id'],long(request.form['contract_id']),request.form['b_s'], request.form['point'], request.form['lots']) session['bs'] = request.form['b_s'] flash(res['msg'],res['category']) if res['category'] == 'suc': if 'Deal' in res['msg']: _update_contract(g.db,request.form['contract_id'],'D') else: _update_contract(g.db,request.form['contract_id'],'C') return redirect(url_for('trade',c=request.form['contract_id'])) else: co = request.args.get('co', 0,type=int) contract_id = request.args.get('c', 0, type=int) if co >= 1: #Cancel order res = _cancel_order(g.db,session['user_id'],co) flash(res['msg'],res['category']) _update_contract(g.db,contract_id,'C') return redirect(url_for('trade',c=contract_id)) else: g.u = _update_user(g.db,session,[]) if contract_id == 0 and 'latestcont' in session: contract_id = session['latestcont'] return render_template('trade.html',default_cid = contract_id )
def bitcoin(): if 'user_id' not in session: return redirect(url_for('home')) if request.method == 'POST': res = _btc_withdraw(g.db,session['email'],request.form['address'],request.form['amount'],request.form['password'],request.form['cpassword']) flash(res['msg'],res['category']) g.u=_update_user(g.db,session,['address','btctrans','info']) tab = request.args.get('tab', 0) return render_template('bitcoin.html',tab=tab)
def register(): g.u = _update_user(g.db,session) if request.method == 'POST': response = captcha.submit( request.form['recaptcha_challenge_field'], request.form['recaptcha_response_field'], app.config['RECAP']['private_key'], request.remote_addr, ) if not response.is_valid: flash('Incorrect recaptcha','err') elif not validateEmail(request.form['username']): flash('Not validate Email','err') elif request.form['password'] <> request.form['password2']: flash('Password not Match','err') elif len(request.form['password']) < 6: flash('Password too Short','err') else: res = _createuser(g.db,request.form['username'],request.form['password'],request.form['referrer']) if res == True: _send_mail(request.form['username'],render_template("email/activate.html",para={'user': request.form['username'].split('@')[0].upper(), 'url':url_for('register',v=_activecode(g.db,request.form['username']))})) #'activate',{'url':request.url_root+url_for('register',v=_activecode(g.db,request.form['username']))}) flash('New Account was successfully created','suc') return render_template('register.html',type='C',email=request.form['username']) else: flash(res,'err') else: session.pop('user_id', None) vcode = request.args.get('v', False) if vcode: res = _activeuser(g.db,vcode) if res is not False: flash('Your account had been activated.','suc') session['user_id'] = res[0] session['email'] = res[1] return render_template('register.html',type='A') else: abort(401) rcode = request.args.get('r', False) ref = _dercode(rcode) session.update(ref) return render_template('register.html',type='O',capthtml=captcha.displayhtml(app.config['RECAP']['public_key'],True))
def market(): g.u=_update_user(g.db,session) tab = request.args.get('tab', 0) return render_template('market.html',tab=tab)
def account(): if 'user_id' not in session: return redirect(url_for('home')) if request.method == 'POST': type = request.args.get('t', 0) if type == 'P': #reset password if _loginuser(g.db,session['email'],request.form['opassword']): _update_pass(g.db,session['email'],request.form['password']) msg = dict(msg = 'Password Changed Successfully.',type ='suc') else: msg = dict(msg='Orignal Password Not Match.',type = 'err') return jsonify(msg) elif type == 'Q': #reset capital password if _vali_cpass(g.db,session['email'],request.form['opassword']): _update_cpass(g.db,session['email'],request.form['password']) if request.form['opassword'] == "not set yet": flash('Capital Password Set Successfully.','suc') return jsonify({'goto':url_for("account",tab=3)}) msg = dict(msg = 'Capital Password Changed Successfully.',type ='suc') else: msg = dict(msg='Orignal Capital Password Not Match.',type = 'err') return jsonify(msg) elif type == 'E': #resend email _send_mail(session['email'],render_template("email/activate.html",para={'user': session['email'].split('@')[0].upper(), 'url':url_for('register',v=_activecode(g.db,session['email']))})) #_send_mail(session['email'],'activate',{'url':request.url_root+url_for('register',v=_activecode(g.db,session['email']))}) msg = dict(msg='Validate Email sent successfully',type = 'suc') return jsonify(msg) elif type == 'I': #invite email if not validateEmail(request.form['email']): flash('Not validate Email','err') elif _change_invitenum(g.db,session['user_id'],-1): _send_mail(request.form['email'],render_template("email/invite.html",para={'user': request.form['email'].split('@')[0].upper(), 'url':url_for('register',r = _enrcode(session['user_id'],request.form['email'])),'refer':session['email'].split('@')[0].upper()})) flash('Invite Email Sent.','suc') return jsonify({'goto':url_for("account",tab=0)}) else: msg = dict(msg='Not Enough Email Invite.',type = 'err') return jsonify(msg) elif type in ['C','D','S']: #new ,modify and settle contract cid = long(request.form['id']) if cid == 0 or gv_contract[cid]['owner'] == session['email']: if type == 'C': msg,cid = _modify_cont(g.db,cid,request.form['code'],request.form['btc_multi'],request.form['opendate'],request.form['opentime'],request.form['settledate'],request.form['settletime'],request.form['leverage'],\ request.form['fullname'],session['user_id'],request.form['twitter_id'],request.form['write_fee'],request.form['region'],request.form['sector'],request.form['description'],request.form['movelimit']) elif type == 'D': #delete msg = _delete_cont(g.db,cid) elif type == 'S': #settle msg = _settle_cont(g.db,cid,request.form['settlepoint'],request.form['settleproof']) else: msg = dict(msg='Contract Owner Not Match.',type = 'err') if msg['type'] == 'suc': flash(msg['msg'],msg['type']) _update_contract(g.db,cid,'D') return jsonify({'goto':url_for("account",tab=2)}) else: return jsonify(msg) g.u=_update_user(g.db,session,['positions','info','rtvol','log']) tab = request.args.get('tab', 0) return render_template('account.html',tab=tab)