def test_start_page(self): request_values = CombinedMultiDict([ImmutableMultiDict([('page', '2')]), ImmutableMultiDict([])]) expected = deepcopy(QueryBuilderSimple.DEFAULT_COMPONENTS) expected['start'] = str((int(request_values.get('page')) - 1) * int(config.SEARCH_DEFAULT_ROWS)) actual = QueryBuilderSimple.build(request_values) self.assertEqual(actual, expected)
def savefund(dic: CombinedMultiDict): code = str(dic.get('fund_code')) if code == '' or code is None: return Result(402, '基金代码不能为空', None).__dict__ fund_db = db.session.query(Fund).filter_by(fund_code=code).first() if fund_db is None: fund_db = Fund() fund_db.time_creat = datetime.now() fund_db.time_update = datetime.now() fund_db.fund_code = code fund_db.fund_name = dic.get('fund_name') fund_db.mixamt = dic.get('mixamt') fund_db.maxamt = dic.get('maxamt') fund_db.feeratio = dic.get('feeratio') try: db.session.add(fund_db) db.session.commit() except Exception as e: db.session.rollback() return Result(500, '添加失败' + code, str(e)).__dict__ return Result(200, 'success', json.loads( FundSchema().dumps(fund_db).data)).__dict__ else: try: fund_db.mixamt = dic.get('mixamt') fund_db.maxamt = dic.get('maxamt') fund_db.feeratio = dic.get('feeratio') fund_db.time_update = datetime.now() db.session.commit() except Exception as e: db.session.rollback() return Result(500, '更新失败' + code, str(e)).__dict__ return Result(200, '更新成功:' + code, None).__dict__
def login(dic: CombinedMultiDict, isIOS=False): phone = dic.get('phone') if phone is None: return json.dumps(Result(201, '请输入手机号码再请求', None).json()) if re.compile('^1[3,4,5,7,8]\d{9}$').match(phone) is None: return json.dumps(Result(201, '请输入正确手机号码再请求', None).json()) user_db = None try: user_db = db.session.query(User).filter_by(phone=phone).first() except: db.session.rollback() user_db = db.session.query(User).filter_by(phone=phone).first() if not user_db: return Result(201, 'User is not exist', '').__dict__ # user_db = User() # user_db.phone = phone # user_db.time_creat = datetime.now() # try: # db.session.add(user_db) # db.session.commit() # except: # db.session.rollback() # return json.dumps(Result(501, '登录失败,重新登录', None)) token = 'token ' + user_db.generate_auth_token().decode('ascii') mi = json.loads("{\"appId\":" + str(appId) + ",\"appKey\":\"" + appKey + "\",\"appSecret\":\"" + appSecret + "\",\"url\":\"" + url + "\"}") if isIOS: mi = json.loads("{\"appId\":" + str(appIdIOS) + ",\"appKey\":\"" + appKeyIOS + "\",\"appSecret\":\"" + appSecretIOS + "\",\"url\":\"" + url + "\"}") else: mitoken = Users.getMiToken(user_db.uuid) if mitoken is None: return Result(201, '请重新登录', None).__dict__ mi = json.loads("{\"token\":\"" + str(mitoken) + "\",\"appId\":" + str(appId) + "}") user = copy.deepcopy(user_db) user.mitoken = mi user.token = token base = Result(200, 'success', json.loads(UserSchema().dumps(user).data)).__dict__ return base
def Register(): if request.method == 'POST': if request.form['Password1'] != request.form['Password2']: flash('Password Should Match', "danger") return redirect(url_for('Register')) else: UserDetails = CombinedMultiDict((request.files, request.form)) Name = UserDetails['Name'] Email = UserDetails['Email'] password = sha256_crypt.encrypt(str(UserDetails.get('Password1'))) cur = mysql.connection.cursor() cur.execute( "INSERT INTO users( Name, Email, password) VALUES(%s, %s , %s)", (Name, Email, password)) mysql.connection.commit() cur.close() flash("You have successfully registered!", "success") return redirect(url_for('Login')) else: return render_template("Register.html")
def getfund(dic: CombinedMultiDict): code = str(dic.get('fund_code')) if code == '' or code is None: return Result(402, '基金代码不能为空', None).__dict__ fund_db = db.session.query(Fund).filter_by(fund_code=code).first() if fund_db is None: return Result(401, '不存在:' + code + '的记录', None).__dict__ # return json.dumps(Result(401, '不存在:' + code + '的记录', None).json()) else: # return json.dumps(Result(200, 'success', json.loads(FundSchema().dumps(fund_db).data)).json()) # fund = Fund() # # fund.maxamt = '在您表示感谢之前,无法为您提供服务' # fund.uuid = 'abcd' # fund.feeratio = 0 # fund.mixamt = 0 return Result(200, 'success', json.loads( FundSchema().dumps(fund_db).data)).__dict__
def test_combined_multidict(): """Combined multidict behavior""" d1 = MultiDict([('foo', '1')]) d2 = MultiDict([('bar', '2'), ('bar', '3')]) d = CombinedMultiDict([d1, d2]) # lookup assert d['foo'] == '1' assert d['bar'] == '2' assert d.getlist('bar') == ['2', '3'] assert sorted(d.items()) == [('bar', '2'), ('foo', '1')], d.items() assert sorted(d.items(multi=True)) == [('bar', '2'), ('bar', '3'), ('foo', '1')] assert 'missingkey' not in d assert 'foo' in d # type lookup assert d.get('foo', type=int) == 1 assert d.getlist('bar', type=int) == [2, 3] # get key errors for missing stuff assert_raises(KeyError, lambda: d["missing"]) # make sure that they are immutable def test_assign(): d['foo'] = 'blub' assert_raises(TypeError, test_assign) # copies are immutable d = d.copy() assert_raises(TypeError, test_assign) # make sure lists merges md1 = MultiDict((("foo", "bar"), )) md2 = MultiDict((("foo", "blafasel"), )) x = CombinedMultiDict((md1, md2)) assert x.lists() == [('foo', ['bar', 'blafasel'])]
def test_combined_multidict(): """Combined multidict behavior""" d1 = MultiDict([("foo", "1")]) d2 = MultiDict([("bar", "2"), ("bar", "3")]) d = CombinedMultiDict([d1, d2]) # lookup assert d["foo"] == "1" assert d["bar"] == "2" assert d.getlist("bar") == ["2", "3"] assert sorted(d.items()) == [("bar", "2"), ("foo", "1")], d.items() assert sorted(d.items(multi=True)) == [("bar", "2"), ("bar", "3"), ("foo", "1")] assert "missingkey" not in d assert "foo" in d # type lookup assert d.get("foo", type=int) == 1 assert d.getlist("bar", type=int) == [2, 3] # get key errors for missing stuff assert_raises(KeyError, lambda: d["missing"]) # make sure that they are immutable def test_assign(): d["foo"] = "blub" assert_raises(TypeError, test_assign) # copies are immutable d = d.copy() assert_raises(TypeError, test_assign) # make sure lists merges md1 = MultiDict((("foo", "bar"),)) md2 = MultiDict((("foo", "blafasel"),)) x = CombinedMultiDict((md1, md2)) assert x.lists() == [("foo", ["bar", "blafasel"])]
def test_combined_multidict(): """Combined multidict behavior""" d1 = MultiDict([('foo', '1')]) d2 = MultiDict([('bar', '2'), ('bar', '3')]) d = CombinedMultiDict([d1, d2]) # lookup assert d['foo'] == '1' assert d['bar'] == '2' assert d.getlist('bar') == ['2', '3'] assert sorted(d.items()) == [('bar', '2'), ('foo', '1')], d.items() assert sorted(d.items(multi=True)) == [('bar', '2'), ('bar', '3'), ('foo', '1')] assert 'missingkey' not in d assert 'foo' in d # type lookup assert d.get('foo', type=int) == 1 assert d.getlist('bar', type=int) == [2, 3] # get key errors for missing stuff assert_raises(KeyError, lambda: d["missing"]) # make sure that they are immutable def test_assign(): d['foo'] = 'blub' assert_raises(TypeError, test_assign) # copies are immutable d = d.copy() assert_raises(TypeError, test_assign) # make sure lists merges md1 = MultiDict((("foo", "bar"),)) md2 = MultiDict((("foo", "blafasel"),)) x = CombinedMultiDict((md1, md2)) assert x.lists() == [('foo', ['bar', 'blafasel'])]