示例#1
0
def generate_bill(from_day, to_day):
    f = calendar.timegm(from_day.timetuple()) * 1000000000
    t = calendar.timegm(to_day.timetuple()) * 1000000000
    collection = db['users']
    users = collection.find({})

    for user in users:
        u = User(user)
        bill = Bill(u, from_day, to_day)

        for device in u.devices:
            measurements = get_measurements(device, f, t, None, "job")
            bill.fill_measurements(device, measurements)

            total = 0
            for m in measurements:
                total += m["value"]

            bill.waterflow = total
            bill.price = total * 0.015

            insert_json = {
                "username": bill.username,
                "date": bill.to_date.strftime("%Y-%m-%d"),
                "waterflow": bill.waterflow,
                "price": bill.price
            }

            db.bills.insert(insert_json)
示例#2
0
def signup_admin():
    # let's inicizlize db
    db.init_app(app)
    # let's create db
    with app.app_context():
        db.create_all()

        name = 'admin'
        password = '******'
        user = User.query.filter_by(name=name).first(
        )  # if this returns a user, then the email already exists in database

        if user:  # if a user is found, we want to redirect back to signup page so user can try again
            # return redirect(url_for('auth.signup'))
            return 'it is ALREADY exists ADMIN'
        # create new user with the form data. Hash the password so plaintext version isn't saved.
        new_user = User(public_id=str(uuid.uuid4()),
                        name=name,
                        password=generate_password_hash(password,
                                                        method='sha256'),
                        admin=True)

        # add the new user to the database
        db.session.add(new_user)
        db.session.commit()
示例#3
0
    def test_login_valid_details_user(self):
        """
        user = {
            "fname": "toast", 
            "lname": "bull",
            "email": "*****@*****.**",
            "password": "******"
        }
        response = self.app.post("/bookmealapi/v1.0/auth/signup",\
            data=json.dumps(user), content_type='application/json')
        """
        first_name = "toast"
        last_name = "bull"
        email = "*****@*****.**"
        password = "******"
        hashed_password = generate_password_hash(password, method='sha256')
        new_user = User(first_name=first_name, last_name=last_name,\
          email=email, password=hashed_password)
        db.session.add(new_user)
        db.session.commit()
        """ correct details """
        details = {"email": "*****@*****.**", "password": "******"}

        response = self.app.post("/bookmealapi/v1.0/auth/login",\
            data=json.dumps(details), content_type='application/json')
        data = json.loads(response.get_data())
        self.assertEqual(response.status_code, 200)
        data = json.loads(response.get_data())
        self.assertEqual(data['message'], "Successfully login")
示例#4
0
    def test_get_all_meals(self):
        """ Get all meals """
        business_name = "FAST FOOD"
        location = "nakulabye"
        first_name = "atlas"
        last_name = "waters"
        email = "*****@*****.**"
        password = "******"
        role_id = 1
        hashed_password = generate_password_hash(password, method='sha256')
        new_admin = User(first_name= first_name, last_name=last_name,\
                      email=email, password= hashed_password, role_id=role_id,\
                      business_name=business_name, location=location)
        db.session.add(new_admin)
        db.session.commit()

        meal_name = "katogo"
        price = 2000
        meal_type = "breakfast"
        meal = Meals(meal_name=meal_name, price=price, meal_type=meal_type)
        db.session.add(meal)
        db.session.commit()

        details = {"email": "*****@*****.**", "password": "******"}
        response = self.app.post("/bookmealapi/v1.0/auth/login",\
            data=json.dumps(details), content_type='application/json')
        data = json.loads(response.get_data())
        token = data['token']

        response = self.app.get('/bookmealapi/v1.0/meals',\
                headers={'x-access-token' : token})
        data = json.loads(response.get_data())
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(data['meals']), 1)
示例#5
0
def register():
    # app.logger.info("inside register")
    # app.logger.info(request.json)
    if not request.json or not 'email' in request.json:
        nobj = Notification()
        nobj.setdata(True, "Wrong Email or password !!", None)
        return buildresponse(nobj, {'http_status': 400})
    else:
        user = User()
        # app.logger.info("after user--form")
        # app.logger.debug(request.form)
        # app.logger.info("in register, calling save {},{},{}".format(request.form['email'],request.form['name'],request.form['pwd']) )
        #	app.logger(request.form["email"])
        nobj = user.login(db.connection, request.json['email'],
                          request.json['pwd'])
        if nobj.result is None:
            nobj = user.save(db.connection, request.json['email'],
                             request.json['name'], request.json['pwd'])

        if not nobj.haserrors and nobj.result is not None:
            nobj.result = {}
            resobj = user.getfeedtree(db.connection, request.json['email'])
            if not resobj.haserrors:
                nobj.result["feedlist"] = resobj.result
                resobj = user.getcategorylist(db.connection,
                                              request.json['email'])
                if not resobj.haserrors:
                    nobj.result["categories"] = resobj.result

        # app.logger.info("returning response")
        return buildresponse(nobj, {'http_status': 201})
示例#6
0
    def test_update_order_price_string(self):
        """  Price cannot be string """
        business_name = "FAST FOOD"
        location = "nakulabye"
        first_name = "atlas"
        last_name = "waters"
        email = "*****@*****.**"
        password = "******"
        role_id = 1
        hashed_password = generate_password_hash(password, method='sha256')
        new_admin = User(first_name= first_name, last_name=last_name,\
                      email=email, password= hashed_password, role_id=role_id,\
                      business_name=business_name, location=location)
        db.session.add(new_admin)
        db.session.commit()

        details = {"email": "*****@*****.**", "password": "******"}
        response = self.app.post("/bookmealapi/v1.0/auth/login",\
            data=json.dumps(details), content_type='application/json')
        self.assertEqual(response.status_code, 200)
        data = json.loads(response.get_data())
        token = data['token']

        details = {"meal_name": "katogo", "price": "8000"}
        response = self.app.put("/bookmealapi/v1.0/orders/2",\
                data=json.dumps(details), content_type='application/json',\
                headers={'x-access-token' : token})
        self.assertEqual(response.status_code, 400)
示例#7
0
    def test_select_meal_valid(self):
        """  valid json """
        first_name = "atlas"
        last_name = "waters"
        email = "*****@*****.**"
        password = "******"
        role_id = 2
        hashed_password = generate_password_hash(password, method='sha256')
        new_user = User(first_name= first_name, last_name=last_name,\
                      email=email, password= hashed_password, role_id=role_id)
        db.session.add(new_user)
        db.session.commit()

        meal_name = "katogo"
        price = 2000
        meal_type = "breakfast"
        meal = Meals(meal_name=meal_name, price=price, meal_type=meal_type)
        db.session.add(meal)
        db.session.commit()
        """ correct details """
        details = {"email": "*****@*****.**", "password": "******"}
        response = self.app.post("/bookmealapi/v1.0/auth/login",\
            data=json.dumps(details), content_type='application/json')
        data = json.loads(response.get_data())
        token = data['token']

        details = {"meal_name": "katogo", "price": 2000, "userId": 1}
        response = self.app.post("/bookmealapi/v1.0/orders",\
            data=json.dumps(details), content_type='application/json',\
                headers={'x-access-token' : token})
        self.assertEqual(response.status_code, 201)
示例#8
0
    def test_set_menu(self):
        """ setting the menu """
        business_name = "FAST FOOD"
        location = "nakulabye"
        first_name = "atlas"
        last_name = "waters"
        email = "*****@*****.**"
        password = "******"
        role_id = 1
        hashed_password = generate_password_hash(password, method='sha256')
        new_admin = User(first_name= first_name, last_name=last_name,\
                      email=email, password= hashed_password, role_id=role_id,\
                      business_name=business_name, location=location)
        db.session.add(new_admin)
        db.session.commit()
        """ correct details admin """
        details = {"email": "*****@*****.**", "password": "******"}
        response = self.app.post("/bookmealapi/v1.0/auth/login",\
            data=json.dumps(details), content_type='application/json')
        data = json.loads(response.get_data())
        token = data['token']
        """
        details = {
            "meal_name": "rolex", 
            "price": 2000, 
            "meal_type": "breakfast"
        }
        """

        details = {"meal_ids": [1, 2, 3, 4], "user_id": 1}
        response = self.app.post("/bookmealapi/v1.0/menu",
                data=json.dumps(details), content_type='application/json',\
                headers={'x-access-token' : token})
        self.assertEqual(response.status_code, 201)
示例#9
0
def feeddetails(**kwargs):
    # app.logger.info(kwargs['email'])
    # app.logger.info(request.args.get('feedurl'))
    user = User()
    nobj = user.getfeeddata(db.connection, kwargs['email'],
                            request.args.get('feedurl'))
    return buildresponse(nobj, {'http_status': 200})
示例#10
0
def changecategory(**kwargs):
    user = User()
    nobj = user.changecategory(db.connection, kwargs['email'],
                               request.json['url'], request.json['category'])
    if not nobj.haserrors:
        nobj = user.getfeedtree(db.connection, kwargs['email'])
    return buildresponse(nobj, {'http_status': 200})
示例#11
0
    def post(self):
        keys = ('username', 'password', 'email')

        rjson = request.json
        if rjson is None: return Response.missing_parameters()
        if all(elem in rjson for elem in keys):
            if '' in rjson.values():
                return Response.invalid_arguments()

            if User.objects(username=rjson['username']):
                return Response.user_exists()
            if User.objects(email=rjson['email']):
                return Response.email_taken()

            User(password=bcrypt.generate_password_hash(rjson['password']),
                 username=rjson['username'],
                 email=rjson['email']).save()

            return make_response(
                jsonify({
                    "status": "success",
                    "message": "user successful created"
                }), 201)

        else:
            return Response.missing_parameters()
        return Response.unexpected_error()
示例#12
0
def createUser():
    data = request.get_json(force=True)

    hashed_password = generate_password_hash(data["password"], method="sha256")

    try:
        new_user = User(public_id=str(uuid.uuid4()),
                        username=data["username"],
                        email=data["email"],
                        password=hashed_password,
                        admin=False)
        db.session.add(new_user)
        db.session.commit()
    except IntegrityError:
        db.session.rollback()
        return make_response("User already exists", 409)

    token = jwt.encode(
        {
            "public_id": new_user.public_id,
            "username": new_user.username
        }, app.config["SECRET_KEY"])
    print("Sending response")
    return jsonify({
        "token": token,
        "username": new_user.username,
        "pub_id": new_user.public_id
    })
示例#13
0
文件: seed.py 项目: sachinsu/rssapp
def seed_data():
    prxyval = Helper.getconfigvalue('dev.cfg', 'http_proxy', None)

    if prxyval is not None:
        prxydict = {'http_proxy': prxyval}
    else:
        prxydict = None

    dburl = Helper.getconfigvalue('dev.cfg', 'DATABASE_URI', None)
    dbname = Helper.getconfigvalue('dev.cfg', 'DBNAME', None)

    db = pymongo.MongoClient(dburl)[dbname]

    emailid = "*****@*****.**"
    user = User()
    notobj = user.save(db, emailid, emailid, 'pwd')
    notobj = user.addcategory(db, emailid, 'fun')
    notobj = user.addcategory(db, emailid, 'money')
    notobj = user.addfeed(db, emailid, 'http://raptitude.com/rss', 'fun',
                          prxydict)
    notobj = user.addfeed(db, emailid,
                          'http://feeds.feedburner.com/typepad/sethsmainblog',
                          'fun', prxydict)
    notobj = user.addfeed(db, emailid,
                          'http://feeds.feedburner.com/TheInvestorBlog',
                          'money', prxydict)
示例#14
0
    def test_delete_menu_non_existant_data(self):
        """ Deleting menu that doesnt exist """
        business_name = "FAST FOOD"
        location = "nakulabye"
        first_name = "atlas"
        last_name = "waters"
        email = "*****@*****.**"
        password = "******"
        role_id = 1
        hashed_password = generate_password_hash(password, method='sha256')
        new_admin = User(first_name= first_name, last_name=last_name,\
                      email=email, password= hashed_password, role_id=role_id,\
                      business_name=business_name, location=location)
        db.session.add(new_admin)
        db.session.commit()

        details = {"email": "*****@*****.**", "password": "******"}
        response = self.app.post("/bookmealapi/v1.0/auth/login",\
            data=json.dumps(details), content_type='application/json')
        data = json.loads(response.get_data())
        token = data['token']

        response = self.app.delete('/bookmealapi/v1.0/menu/10',\
            headers={'x-access-token' : token})
        self.assertEqual(response.status_code, 404)
示例#15
0
    def test_delete_order_data_exists(self):
        """ Deleting an order """
        business_name = "FAST FOOD"
        location = "nakulabye"
        first_name = "atlas"
        last_name = "waters"
        email = "*****@*****.**"
        password = "******"
        role_id = 1
        hashed_password = generate_password_hash(password, method='sha256')
        new_admin = User(first_name= first_name, last_name=last_name,\
                      email=email, password= hashed_password, role_id=role_id,\
                      business_name=business_name, location=location)
        db.session.add(new_admin)
        db.session.commit()

        meal_name = "katogo"
        price = 3000
        process_status = "Pending"
        user_id = 1
        order = Orders(meal_name=meal_name, price=price, user_id=user_id,\
         process_status=process_status)
        db.session.add(order)
        db.session.commit()

        details = {"email": "*****@*****.**", "password": "******"}
        response = self.app.post("/bookmealapi/v1.0/auth/login",\
            data=json.dumps(details), content_type='application/json')
        data = json.loads(response.get_data())
        token = data['token']

        response = self.app.delete('/bookmealapi/v1.0/orders/1',\
            headers={'x-access-token' : token})
        self.assertEqual(response.status_code, 200)
示例#16
0
    def test_get_menu_day(self):
        """ Get menu  for the day """
        business_name = "FAST FOOD"
        location = "nakulabye"
        first_name = "atlas"
        last_name = "waters"
        email = "*****@*****.**"
        password = "******"
        role_id = 1
        hashed_password = generate_password_hash(password, method='sha256')
        new_admin = User(first_name= first_name, last_name=last_name,\
                      email=email, password= hashed_password, role_id=role_id,\
                      business_name=business_name, location=location)
        db.session.add(new_admin)
        db.session.commit()
        """ To pass the test """
        first_name = "atlas"
        last_name = "waters"
        email = "*****@*****.**"
        password = "******"
        hashed_password = generate_password_hash(password, method='sha256')
        new_user = User(first_name=first_name, last_name=last_name,\
          email=email, password=hashed_password)
        db.session.add(new_user)
        db.session.commit()

        meal_ids = [6, 2, 7, 4]
        meal_ids_string = ""
        for ids in meal_ids:
            meal_ids_string += ';%s' % ids
        user_id = 1
        menu = Menu(user_id=user_id, meal_ids=meal_ids_string)
        db.session.add(menu)
        db.session.commit()

        details = {"email": "*****@*****.**", "password": "******"}
        response = self.app.post("/bookmealapi/v1.0/auth/login",\
            data=json.dumps(details), content_type='application/json')
        data = json.loads(response.get_data())
        token = data['token']

        response = self.app.get('/bookmealapi/v1.0/menu',\
                headers={'x-access-token' : token})
        data = json.loads(response.get_data())
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(data['menu_day']), 1)
示例#17
0
    def setUp(self):
        """ Création d'une base de données avant le test"""
        warnings.filterwarnings('ignore', category=DeprecationWarning)

        db.create_all()
        user = User(username="******")
        user.hash_password("admin")
        db.session.add(user)
        db.session.commit()
示例#18
0
def check_auth(email, password):
    """This function is called to check if a username /
    password combination is valid.
    """
    # app.logger.info("in check auth {} , {}".format(email,password))
    user = User()
    ret = user.login(db.connection, email, password)
    #app.logger.info(ret.haserrors)
    #app.logger.info(ret.result)
    return ret.result
示例#19
0
 def setUp(self):
     self.app = app
     self.ctx = self.app.app_context()
     self.ctx.push()
     db.drop_all()
     db.create_all()
     u = User(username=self.default_username)
     u.set_password(self.default_password)
     db.session.add(u)
     db.session.commit()
     self.client = TestClient(self.app, u.generate_auth_token(), '')
示例#20
0
def updateitem(**kwargs):
    if not request.json or not 'id' in request.json:
        nobj = Notification()
        nobj.setdata(True, "ID Not found!!", None)
        return buildresponse(nobj, {'http_status': 400})
    else:
        user = User()
        nobj = user.updatefeeditem(db.connection, kwargs['email'],
                                   request.json['id'], request.json['isread'],
                                   request.json['isstarred'])
        return buildresponse(nobj, {'http_status': 200})
示例#21
0
 def update_doctor(doctor, data):
     doctor.update(data)
     if doctor.user:
         doctor.user.update(data)
     else:
         user = User(
             username=data.get('username'),
             password=data.get('password'),
             doctor_id=doctor.id
         )
         session.add(user)
     session.commit()
示例#22
0
def refreshfeed(**kwargs):
    # app.logger.info(kwargs['email'])
    feed = Feed()
    nobj = feed.updatefeed(db.connection, request.args.get('feedurl'),
                           {'http_proxy': app.config['HTTP_PROXY']})

    if not nobj.haserrors:
        user = User()
        nobj = user.getfeeddata(db.connection, kwargs['email'],
                                request.args.get('feedurl'))
        # app.logger.info(nobj)

    return buildresponse(nobj, {'http_status': 200})
示例#23
0
def google_login_callback():
    # Get authorization code Google sent back to you.
    code = request.args.get("code")

    # Find out what URL to hit to get tokens that allow you to ask for
    # things on behalf of a user.
    google_provider_cfg = get_google_provider_cfg()
    token_endpoint = google_provider_cfg["token_endpoint"]

    # Prepare and send a request to get tokens.
    token_url, headers, body = client.prepare_token_request(
        token_endpoint,
        authorization_response=request.url,
        redirect_url=request.base_url,
        code=code)
    token_response = requests.post(
        token_url,
        headers=headers,
        data=body,
        auth=(GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET),
    )

    # Parse the tokens.
    client.parse_request_body_response(json.dumps(token_response.json()))

    # Find and hit the URL from Google that gives you the user's profile
    # information, including their Google profile image and email.
    userinfo_endpoint = google_provider_cfg["userinfo_endpoint"]
    uri, headers, body = client.add_token(userinfo_endpoint)
    userinfo_response = requests.get(uri, headers=headers, data=body)

    if not userinfo_response.json().get("email_verified"):
        print("User email not available or not verified by Google.")
        return None

    user_id = userinfo_response.json()["sub"]
    user_name = userinfo_response.json()["given_name"]
    user_email = userinfo_response.json()["email"]
    user_picture = userinfo_response.json()["picture"]

    # If the user is not already in our database, add them.
    if not User.get(user_id):
        User.create(user_id, user_name, user_email, user_picture)

    # Begin user session
    user = User(user_id, user_name, user_email, user_picture)
    login_user(user)

    return redirect('http://localhost:3000/')
示例#24
0
文件: seed.py 项目: sachinsu/rssapp
def seed_data():
    db = pymongo.MongoClient("localhost", 27017, safe=True).feedtest
    emailid = "*****@*****.**"
    user = User()
    prxydict = {'http_proxy': 'http://www-proxy.au.oracle.com:80'}
    notobj = user.save(db, emailid, emailid, 'pwd')
    notobj = user.addcategory(db, emailid, 'fun')
    notobj = user.addcategory(db, emailid, 'money')
    notobj = user.addfeed(db, emailid, 'http://raptitude.com/rss', 'fun',
                          prxydict)
    notobj = user.addfeed(db, emailid,
                          'http://feeds.feedburner.com/typepad/sethsmainblog',
                          'fun', prxydict)
    notobj = user.addfeed(db, emailid,
                          'http://feeds.feedburner.com/TheInvestorBlog',
                          'money', prxydict)
示例#25
0
def markasread(**kwargs):
    # app.logger.info(kwargs['email'])
    user = User()
    nobj = user.markallread(db.connection, kwargs['email'],
                            request.json['feedurl'], request.json['ts'])

    if not nobj.haserrors:
        nobj.result = {}
        resobj = user.getfeedtree(db.connection, kwargs['email'])
        if not resobj.haserrors:
            nobj.result['feedlist'] = resobj.result
            resobj = user.getfeeddata(db.connection, kwargs['email'],
                                      request.json['feedurl'])
            if not resobj.haserrors:
                nobj.result['feeddata'] = resobj.result

    return buildresponse(nobj, {'http_status': 200})
示例#26
0
    def test_update_meal_option_valid(self):
        """ correct values """
        business_name = "FAST FOOD"
        location = "nakulabye"
        first_name = "atlas"
        last_name = "waters"
        email = "*****@*****.**"
        password = "******"
        role_id = 1
        hashed_password = generate_password_hash(password, method='sha256')
        new_admin = User(first_name= first_name, last_name=last_name,\
                      email=email, password= hashed_password, role_id=role_id,\
                      business_name=business_name, location=location)
        db.session.add(new_admin)
        db.session.commit()

        meal_name = "katogo"
        price = 2000
        meal_type = "lunch"
        meal = Meals(meal_name=meal_name, price=price, meal_type=meal_type)
        db.session.add(meal)
        db.session.commit()

        details = {"email": "*****@*****.**", "password": "******"}

        response = self.app.post("/bookmealapi/v1.0/auth/login",\
            data=json.dumps(details), content_type='application/json')
        self.assertEqual(response.status_code, 200)
        data = json.loads(response.get_data())
        token = data['token']

        details = {
            "meal_name": "rolex",
            "price": 8000,
            "meal_type": "breakfast"
        }
        response = self.app.put("/bookmealapi/v1.0/meals/1",\
            data=json.dumps(details), content_type='application/json',\
            headers={'x-access-token' : token})
        self.assertEqual(response.status_code, 201)
        data = json.loads(response.get_data())
        # self.assertEqual(data['meal']['id'], 2)
        self.assertEqual(data['meal']['meal_name'], "rolex")
        self.assertEqual(data['meal']['price'], 8000)
        self.assertEqual(data['meal']['meal_type'], "breakfast")
示例#27
0
def feeddetails(**kwargs):
    # app.logger.info(kwargs['email'])
    # app.logger.info(request.args.get('feedurl'))
    user = User()
    print "*** printing request params"
    print request.args.get('pageno')
    print request.args.get('pagesize')
    if request.args.get('pageno') is not None and request.args.get(
            'pagesize') is not None:
        nobj = user.getfeeddata(db.connection, kwargs['email'],
                                request.args.get('feedurl'),
                                request.args.get('pageno'),
                                request.args.get('pagesize'))
    else:
        nobj = user.getfeeddata(db.connection, kwargs['email'],
                                request.args.get('feedurl'))

    return buildresponse(nobj, {'http_status': 200})
示例#28
0
 def post(self):
     registerData = {
         'username': request.json['username'],
         'password': request.json['password'],
         'email': request.json['email']
     }
     if not registerData['username'] or not registerData[
             'password'] or not registerData['email']:
         return jsonify(message='Missing parameters')
     if User.objects(username=registerData['username']).first():
         return jsonify(message='This user already exist!')
     if User.objects(email=registerData['email']).first():
         return jsonify(
             message='This email address is already used, please use other')
     User(password=bcrypt.generate_password_hash(registerData['password']),
          username=registerData['username'],
          email=registerData['email']).save()
     return jsonify(message='User successful created!')
示例#29
0
    def test_add_meal_valid(self):
        """ correct values """
        business_name = "FAST FOOD"
        location = "nakulabye"
        first_name = "atlas"
        last_name = "waters"
        email = "*****@*****.**"
        password = "******"
        role_id = 1
        hashed_password = generate_password_hash(password, method='sha256')
        new_admin = User(first_name= first_name, last_name=last_name,\
                      email=email, password= hashed_password, role_id=role_id,\
                      business_name=business_name, location=location)
        db.session.add(new_admin)
        db.session.commit()
        """ correct details admin """
        details = {"email": "*****@*****.**", "password": "******"}
        response = self.app.post("/bookmealapi/v1.0/auth/login",\
            data=json.dumps(details), content_type='application/json')
        data = json.loads(response.get_data())
        token = data['token']

        details = {
            "meal_name": "katogo",
            "price": 2000,
            "meal_type": "breakfast"
        }
        response = self.app.post("/bookmealapi/v1.0/meals",\
            data=json.dumps(details), content_type='application/json',\
            headers={'x-access-token' : token})
        self.assertEqual(response.status_code, 201)
        data = json.loads(response.get_data())
        self.assertEqual(data['message'], "Meal Successfully Added")

        #same meal name
        details = {
            "meal_name": "katogo",
            "price": 2000,
            "meal_type": "breakfast"
        }
        response = self.app.post("/bookmealapi/v1.0/meals",\
            data=json.dumps(details), content_type='application/json',\
            headers={'x-access-token' : token})
        self.assertEqual(response.status_code, 400)
示例#30
0
def addfeed(**kwargs):
    # app.logger.info(kwargs['email'])
    # app.logger.info(request.json['feedurl'])
    # app.logger.info(request.json['category'])
    # app.logger.info(app.config['HTTP_PROXY'])
    user = User()
    nobj = user.addfeed(db.connection, kwargs['email'],
                        request.json['feedurl'], request.json['category'],
                        {'http_proxy': app.config['HTTP_PROXY']})
    if not nobj.haserrors and nobj.result is not None:
        nobj.result = {}
        resobj = user.getfeedtree(db.connection, kwargs['email'])
        if not resobj.haserrors:
            nobj.result["feedlist"] = resobj.result
            resobj = user.getcategorylist(db.connection, kwargs['email'])
            if not resobj.haserrors:
                nobj.result["categories"] = resobj.result

    return buildresponse(nobj, {'http_status': 201})