コード例 #1
0
 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)
コード例 #2
0
    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__
コード例 #3
0
ファイル: Users.py プロジェクト: limxing/LoveTZ
    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
コード例 #4
0
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")
コード例 #5
0
    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__
コード例 #6
0
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'])]
コード例 #7
0
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"])]
コード例 #8
0
ファイル: test_datastructures.py プロジェクト: d1on/werkzeug
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'])]