Ejemplo n.º 1
0
def kdbcollect(kdbaccount):
    kdbAcc = session.query(KDBAccount).filter(
        KDBAccount.username == kdbaccount).first()
    if not kdbAcc:
        return jsonify({
            'message': 'KanDianBao account doesn\'t found',
            'code': 74147
        })
    kdbpassword = kdbAcc.decryptPWD(kdbAcc.password_hash)
    shopList = session.query(Shops).filter(Shops.numberOfItems == -1)
    driver = setBrowser(kdbaccount, isMitmProxy=False)
    for shop in shopList:
        shopInfoAndDriver = getKandianbaoShopInfoSoup(shop.sellerName,
                                                      kdbaccount, kdbpassword,
                                                      driver)
        if type(shopInfoAndDriver) == str:
            if shopInfoAndDriver == '限额已耗尽':
                return jsonify({
                    'message': kdbaccount + ': 限额已耗尽',
                    'code': 20000
                })
            return jsonify({
                'message': kdbaccount + ': ' + shopInfoAndDriver,
                'code': 70001
            })
        getShopInfoFromKDBSoup(shop.sellerName, shopInfoAndDriver[0])
    return jsonify({'code': 20000})
Ejemplo n.º 2
0
def update_operatingexpense(operatingexpense_request, operatingexpense_id):
    operatingexpense = session.query(OperatingExpense).get(operatingexpense_id)
    operatingexpense.name = operatingexpense_request.name
    operatingexpense.description = operatingexpense_request.description
    operatingexpense.value = operatingexpense_request.value
    session.commit()
    return operatingexpense
Ejemplo n.º 3
0
def update_cost(cost_request, cost_id):
    cost = session.query(Cost).get(cost_id)
    cost.name = cost_request.name
    cost.description = cost_request.description
    cost.value = cost_request.value
    session.commit()
    return cost
Ejemplo n.º 4
0
def get_kdbaccounts(id):
    accs = session.query(KDBAccount).filter(KDBAccount.owner_id == id).all()
    # if g.current_user == user:
    #     return jsonify(User.query.get_or_404(id).to_dict())
    if accs == None:
        return error_response(404, 'User not found!')
    return jsonify({'data': [acc.to_dict() for acc in accs], 'code': 20000})
Ejemplo n.º 5
0
def create_kdbaccounts(id):
    data = request.get_json()
    if not data:
        return bad_request('Need to post data')
    message = ''
    if 'username' not in data or not data.get('username', None):
        message = 'Username invalid'
    if 'password' not in data or not data.get('password', None):
        message = 'Password invalid'
    if message != '':
        return bad_request(message)

    for acc in session.query(KDBAccount).filter(
            KDBAccount.owner_id == id).all():
        print(acc.to_dict())
        if acc.to_dict()['username'] == str(data['username']):
            return jsonify({'message': 'Account exists!', 'code': 70000})
    kdbacc = KDBAccount()
    data['owner_id'] = id
    kdbacc.from_dict(data)
    # kdbacc.user_id += [user]
    session.add(kdbacc)
    session.commit()
    response = jsonify({'data': kdbacc.to_dict(), 'code': 20000})
    response.status_code = 201
    response.headers['Location'] = url_for('api.get_user', id=id)
    return response
Ejemplo n.º 6
0
def update_revenue(revenue_request, revenue_id):
    revenue = session.query(Revenue).get(revenue_id)
    revenue.unit_name = revenue_request.unitName
    revenue.unit_description = revenue_request.unitDescription
    revenue.unit_cost = revenue_request.unitCost
    revenue.unit_count = revenue_request.unitCount
    session.commit()
    return revenue
Ejemplo n.º 7
0
def get_tbaccounts(id):
    accs = session.query(TaobaoAccount).filter(TaobaoAccount.owner_id == id).all()
    if accs == None:
        return error_response(404, 'User not found!')
    data = []
    for acc in accs:
        acc = acc.to_dict()
        acc['keyword'] = randomKeyWord()
        data.append(acc)
    return jsonify({'data': data, 'code': 20000})
Ejemplo n.º 8
0
def delete_kdbaccount(id):
    data = request.get_json()
    acc = session.query(KDBAccount).filter(
        KDBAccount.owner_id == id,
        KDBAccount.username == data.get('username', None)).first()
    if not data:
        return bad_request('You must post JSON data')
    session.delete(acc)
    session.commit()
    return jsonify({'code': 20000})
Ejemplo n.º 9
0
 def verify_jwt(token):
     try:
         payload = jwt.decode(token,
                              current_app.config['SECRET_KEY'],
                              algorithms=['HS256'])
     except (jwt.exceptions.ExpiredSignatureError,
             jwt.exceptions.InvalidSignatureError) as e:
         # Token过期,或被人修改,那么签名验证也会失败
         return None
     return session.query(User).filter(
         User.id == payload.get('user_id')).first()
Ejemplo n.º 10
0
def delete_tbaccount(id):
    data = request.get_json()
    acc = session.query(TaobaoAccount).filter(TaobaoAccount.username == data.get('username', None)).first()
    if not data:
        return bad_request('You must post JSON data')
    session.delete(acc)
    session.commit()
    user_data = os.getcwd() + "/app/api/data_getter/userdata/" + str(acc.username)
    try:
        shutil.rmtree(user_data)
    except:
        pass
    return jsonify({'code': 20000})
Ejemplo n.º 11
0
def modify_tbaccount(id):
    data = request.get_json()
    acc = session.query(TaobaoAccount).filter(TaobaoAccount.username == data.get('username', None)).first()
    if acc.status:
        return bad_request('Account is running')
    if not data:
        return bad_request('You must post JSON data')
    message = {}
    if 'username' in data and not data.get('username', None):
        message['username'] = '******'
    if 'password' in data and not data.get('password', None):
        message['password'] = '******'
    if message:
        return bad_request(message)

    acc.from_dict(data)
    session.commit()
    return jsonify({'data': acc.to_dict(), 'code': 20000})
Ejemplo n.º 12
0
def modify_kdbaccount(id):
    data = request.get_json()
    acc = session.query(KDBAccount).filter(
        KDBAccount.owner_id == id,
        KDBAccount.username == data.get('username', None)).first()
    if not data:
        return bad_request('You must post JSON data')
    message = {}
    if 'username' in data and not data.get('username', None):
        message['username'] = '******'
    if 'password' in data and not data.get('password', None):
        message['password'] = '******'
    if message:
        return bad_request(message)

    data['owner_id'] = id
    acc.from_dict(data)
    session.commit()
    return jsonify({'data': acc.to_dict(), 'code': 20000})
Ejemplo n.º 13
0
def tbcollect(tbaccount):
    # todo Keyword random
    data = request.get_json()
    keyword = str(data['keyword'])
    tbAcc = session.query(TaobaoAccount).filter(
        TaobaoAccount.username == tbaccount).first()
    if not tbAcc:
        return jsonify({
            'message': 'Taobao account doesn\'t found',
            'code': 74147
        })
    tbpassword = tbAcc.decryptPWD(tbAcc.password_KEYencrypt)
    content = getTaobaoShopSoup(keyword, tbaccount, tbpassword)
    # if keyword not in str(driver.title):
    # return jsonify({'message': 'Login error', 'code': 74147})
    if type(content) == dict:
        return content  # not the contents, it's now a error message
    res = getShopListFromTaobaoSoup(content)
    if type(res) == str:
        return jsonify({'message': res, 'code': 74147})
    return jsonify({'code': 20000})
Ejemplo n.º 14
0
def create_tbaccounts(id):
    data = request.get_json()
    data['owner_id'] = id
    if not data:
        return bad_request('Need to post data')
    message = ''
    if 'username' not in data or not data.get('username', None):
        message = 'Username invalid'
    if 'password' not in data or not data.get('password', None):
        message = 'Password invalid'
    if session.query(TaobaoAccount).filter(TaobaoAccount.username==data.get('username', None)).first():
        message = 'Username exists'
    if message != '':
        return bad_request(message)
    
    tbacc = TaobaoAccount()
    tbacc.from_dict(data)
    session.add(tbacc)
    session.commit()
    response = jsonify({'data':tbacc.to_dict(), 'code': 20000})
    response.status_code = 201
    response.headers['Location'] = url_for('api.get_user', id=tbacc.owner_id)
    return response
Ejemplo n.º 15
0
def update_entity(entity_request, entity_id):
    entity = session.query(Entity).get(entity_id)
    entity.name = entity_request.name
    entity.description = entity_request.description
    session.commit()
    return entity
Ejemplo n.º 16
0
def verify_password(username, password):
    user = session.query(User).filter(User.username==username).first()
    if user is None:
        return False
    g.current_user = user
    return user.check_password(password)
Ejemplo n.º 17
0
def delete_cost(cost_id):
    session.query(Cost).filter_by(id=cost_id).delete()
    session.commit()
Ejemplo n.º 18
0
def get_operatingexpense(operatingexpense_id):
    operatingexpense = session.query(OperatingExpense).get(operatingexpense_id)
    return operatingexpense
Ejemplo n.º 19
0
def delete_opex(opex_id):
    session.query(OperatingExpense).filter_by(id=opex_id).delete()
    session.commit()
Ejemplo n.º 20
0
def get_user(user_id):
    user = session.query(User).get(user_id)
    return user
Ejemplo n.º 21
0
def get_cost(cost_id):
    cost = session.query(Cost).get(cost_id)
    return cost
Ejemplo n.º 22
0
def delete_revenue(revenue_id):
    session.query(Revenue).filter_by(id=revenue_id).delete()
    session.commit()
Ejemplo n.º 23
0
def login(login_request):
    user = session.query(User).filter_by(email=login_request.email).first()
    return user
Ejemplo n.º 24
0
def get_entity(entity_id):
    entity = session.query(Entity).get(entity_id)
    return entity
Ejemplo n.º 25
0
def get_revenue(revenue_id):
    revenue = session.query(Revenue).get(revenue_id)
    return revenue