def test_add_category(self):
     f = Collection(name='Testcollection')
     c = Category(name='Test')
     f.categories.append(c)
     self.assertTrue(f.categories.count() == 1)
     c2 = Category(name='New')
     f.categories.append(c2)
     self.assertTrue(f.categories.count() == 2)
예제 #2
0
def fake_categories(nums=5):
    with db.auto_commit():
        # 优先生成默认分类
        data = Category(name='default')
        db.session.add(data)
        for i in range(nums):
            data = Category(name=faker.word())
            db.session.add(data)
예제 #3
0
def edit_recipe(id):
    categories = Category().user_categories()
    categories_list = []
    for category in categories:
        cat = (category['id'], category['name'])
        categories_list.append(cat)
    form = RecipeForm.editRecipe(categories_list)
    if form.validate_on_submit():
        recipe = Recipe()
        if (recipe.is_exist(id) != True):
            flash('Sorry,That recipe doesn\'t exist', category='errorMessage')
            return redirect(redirect_back())
        if recipe.exist_twice(request.form['name']):
            flash('Sorry,There is another recipe with the same name',
                  category='errorMessage')
            return redirect(redirect_back())
        save_category = recipe.update(request.form['name'],
                                      request.form['description'],
                                      request.form['category'], id)
        if (save_category):
            flash(' Category \'{0}\' has been successfully updated'.format(
                recipe.name),
                  category='successMessage')
            return redirect(redirect_back())
        flash('Unable to save recipe', category='errorMessage')
        flash(request.form, category='input')
        return redirect(redirect_back())
    error = form.errors
    flash(error, category='error')
    flash(request.form, category='input')
    return redirect(redirect_back())
예제 #4
0
    def post(self):
        '''Creates a new Category '''
        data = request.get_json()
        categoryName = data.get('category_name')
        categoryDesc = data.get('category_description')
        catName_validator = name_validate(categoryName)
        catDesc_validator = name_validate(categoryDesc)

        if catName_validator is False:
            return {"message": "category name cannot be blank"}, 422
        if catDesc_validator is False:
            return {
                "message":
                "category description cannot be blank, please"
                " enter a valid description"
            }, 422
        user_id = get_jwt_identity()
        if Category.query.filter_by(
                user_id=user_id,
                category_name=categoryName).first() is not None:
            return {'message': 'Category already exists'}, 409
        new_cat = Category(categoryName, categoryDesc, user_id)
        new_cat.save()
        return {
            'category_id': new_cat.category_id,
            'message': 'Category successfully created'
        }, 201
예제 #5
0
파일: __init__.py 프로젝트: w4205/brblog
    def init(username, password):
        """初始化数据库 admin 分类"""
        click.echo('初始化数据库中...')
        db.create_all()

        with db.auto_commit():
            admin = Admin.query.first()
            if admin is not None:
                click.echo('管理员账号已存在,更新中...')
                admin.username = username
                admin.set_password(password)
            else:
                click.echo('创建默认管理员数据中...')
                admin = Admin(
                    username=username,
                    blog_title='Br Blog',
                    blog_sub_title="Genius only means hard-working all one's life.",
                    name='Jack Zhang',
                    about='''永不放弃是人生要成功的一大因素,
            只要能够坚持,
            锲而不舍,
            终会到达成功的彼岸的。'''
                )
                admin.set_password(password)
                db.session.add(admin)

            category = Category.query.first()
            if category is None:
                click.echo('创建默认分类...')
                category = Category(name='Default')
                db.session.add(category)

        click.echo('Done.')
예제 #6
0
    def __init__(
        self,
        name: str = "",
        nutriscore: str = "",
        brand: str = "",
        stores: str = "",
        url: str = "",
        pk: int = None,
        substituted_id: int = None,
        substitutes_id: int = None,
    ):
        """Init."""
        self.name = name
        self.nutriscore = nutriscore
        self.brand = brand
        self.stores = stores
        self.url = url
        self.pk = pk
        self.substituted_id = substituted_id
        self.substitutes_id = substitutes_id

        self.page_index = 1
        self.limit = 30
        self.total_lines = 0

        self.db = Database(off_user, off_password, off_database)
        self.category: Category = Category()
예제 #7
0
    def create_category(self):
        """Helper function creates category for tests"""

        category = Category(user_id=1,
                            cat_name=self.test_category_name,
                            description=self.test_category_description)
        category.add()
예제 #8
0
def create_category():
    jsonData = request.get_json()
    with db.auto_commit():
        category = Category()
        category.category_name = jsonData['category_name']
        db.session.add(category)
    return Success(msg='新增赛事类型成功')
 def setUp(self):
     self.collection = CategoriesCollection()
     for category_name, category_items in self.CATEGORIES.items():
         category = Category(category_name)
         for raw_item in category_items:
             category.add_item(CategoryItem(raw_item))
         self.collection.add_category(category)
예제 #10
0
def add_category(name):
    cate = Category(name=name)
    cate.create_time = 1
    db.session.add(cate)
    result = db.session.commit()

    return redirect(url_for('index'))
예제 #11
0
def categorys():
    users = User.query.all()
    for i in range(8):
        for user in users:
            c = Category(name=fake.text(6).replace('.', ''), user=user)
            db.session.add(c)
    db.session.commit()
예제 #12
0
def edit_category(id):

    form = CategoryForm.AddForm()
    if form.validate_on_submit():
        category = Category()
        if (category.is_exist(id) != True):
            flash('Sorry,That category doesn\'t exist',
                  category='errorMessage')
            return redirect(redirect_back())
        if category.exist_twice(request.form['name']):
            flash('Sorry,There is another category with the same name',
                  category='errorMessage')
            return redirect(redirect_back())
        save_category = category.update(request.form['name'], id)
        if (save_category):
            flash(' Category \'{0}\' has been successfully updated'.format(
                category.name),
                  category='successMessage')
            return redirect(redirect_back())
        flash('Unable to save category', category='errorMessage')
        flash(request.form, category='input')
        return redirect(redirect_back())
    error = form.errors
    flash(error, category='error')
    flash(request.form, category='input')
    return redirect(redirect_back())
예제 #13
0
def category_insertion():

    for category in CATEGORIES:
        obj = Category(name=category['name'] )
        print(obj)
    print(session)    
    session.flush()
    session.clear()
    def __init__(self, category_index: int):
        """Initialise."""
        category = Category().get_categories()[category_index]

        self.product_model = Product()
        self.products = self.product_model.get_products(category)

        self.view = ProductView(self.products)
예제 #15
0
def create_category():
    """Create a category"""
    name = request.json.get("name", '')
    if not name:
        return bad_request(405)
    category = Category(name=name)
    category.save()
    return jsonify(category.to_dict()), 201
예제 #16
0
    def setUp(self):
        self.category = Category(self.CATEGORY_NAME)
        self.items = {
            item_name: CategoryItem(item_name)
            for item_name in self.CATEGORY_ITEMS
        }

        for category_item in self.items.values():
            self.category.add_item(category_item)
def add_category():
    name = request.form.get('name')
    if name:
        category = Category(name=name)
        session.add(category)
        session.commit()
    else:
        return error_message(400, "Course name is required.")
    return data_message(200, {"Category": category.serialize},
                        "Successfully added a category.")
예제 #18
0
    def setUp(self):
        """
        Sets up tests Category object : 
            Category(categorytitle, categorydescription)

        The constructor of the Category class is; 
            self.categorytitle = categorytitle
            self.categorydescription = categorydescription
        """
        self.sample_category = Category('Kenyan dishes',
                                        'Dishes made in Kenya')
예제 #19
0
def addrecipe():
    if (Category().exist_categories() != True):
        flash('Please add some recipes categories before adding recipe',
              category='errorMessage')
        return redirect(redirect_back())
    categories = Category().user_categories()
    categories_list = []
    for category in categories:
        cat = (category['id'], category['name'])
        categories_list.append(cat)
    form = RecipeForm.addRecipe(categories_list)
    recipes = Recipe().user_recipes()
    if (request.method == 'GET'):
        return render_template("addrecipe.html",
                               form=form,
                               recipes=recipes,
                               recent_recipes=recipes[:3])
    elif (request.method == 'POST'):
        if form.validate_on_submit():
            recipe = Recipe()
            if recipe.recipe_exist(request.form['name']):
                flash('Sorry,There is another recipe with the same name',
                      category='errorMessage')
                return redirect(redirect_back())
            recipe = Recipe()
            save_recipe = recipe.save(request.form['name'],
                                      request.form['description'],
                                      request.form['category'])
            if (save_recipe):
                flash(' Recipe \'{0}\' has been successfully saved'.format(
                    recipe.name),
                      category='successMessage')
                return redirect(redirect_back())
            flash('unable to save recipe Try again', category='errorMessage')
            flash(request.form, category='input')
            return redirect(redirect_back())
        error = form.errors
        flash(error, category='error')
        flash(request.form, category='input')
        return redirect(redirect_back())
예제 #20
0
def delete_category(id):
    category = Category()
    if (category.is_exist(id) != True):
        flash('Sorry,That category doesn\'t exist', category='errorMessage')
        return redirect(redirect_back())
    delete_category = category.delete(id)
    if (delete_category):
        flash(' Category has been successfully deleted',
              category='successMessage')
        return redirect(redirect_back())
    flash('Unable to save category', category='errorMessage')
    flash(request.form, category='input')
    return redirect(redirect_back())
예제 #21
0
    def test_from_and_to_dict(self):
        category = utl.CATEGORIES[-1]
        c = Category()

        # Test using the from_dict() method
        c.from_dict(category)
        self.assertEqual(c.name, category["name"])
        self.assertEqual(c.units, category["units"])

        # Test using the to_dict() method
        c_dict = c.to_dict()
        self.assertEqual(c_dict["name"], category["name"])
        self.assertEqual(c_dict["units"], category["units"])
예제 #22
0
파일: view.py 프로젝트: Jerome-LorD/Off_P5
    def __init__(self):
        """Init."""
        self.category: Category = Category()
        self.product: Product = Product()

        self.del_substitute = True

        self.menu_choices = [
            "Rechercher un aliment à remplacer",
            "Retrouver mes aliments substitués.",
        ]

        self.back = f'{colored(self.justify("m", 1), "yellow")} : {s.BACK}'
        self.quit = f'\n{colored(self.justify("q", 1), "yellow")} : {s.QUIT}\n'
        self.msg_choice = f"\n\n{self.justify(s.MSG_CHOICE, 3)}"
        self.select_category = colored(self.justify(s.SELECT_CATEGORY, 2),
                                       "cyan")
        self.select_product = colored(self.justify(s.SELECT_PRODUCT, 2),
                                      "cyan")

        self.product = self.justify(s.PRODUCT, 1)
        self.brand = self.justify(s.BRAND, 1)
        self.stores = self.justify(s.STORES, 1)
        self.url = self.justify(s.URL, 1)
        self.nutriscore = self.justify(s.NUTRISCORE, 1)

        self.msg_error = colored(self.justify(s.MSG_ERROR, 3), "red")
        self.no_substitute = colored(self.justify(s.NO_SUBSTITUTE, 3), "red")
        self.save_confirm = colored(self.justify(s.SAVE_CONFIRM, 3), "green")
        self.saved_products = self.justify(s.SAVED_PRODUCTS, 2)
        self.substituted_detail = colored(
            self.justify(s.SUBSTITUTED_DETAIL, 2), "cyan")
        self.substitute_detail = colored(self.justify(s.SUBSTITUTE_DETAIL, 2),
                                         "cyan")
        self.confirm_title = self.justify(s.CONFIRM_TITLE, 3)
        self.you_have_selected = colored(self.justify(s.YOU_HAVE_SELECTED, 3),
                                         "cyan")
        self.del_alert = self.justify(colored(s.DEL_ALERT, "red"), 3)
        self.othr_cmd = self.centerize(s.OTHER_COMMANDS, s.CHAR_LENGHT)
        self.app_title = self.centerize(s.APP_TITLE, s.CHAR_LENGHT)
        self.head = self.justify(
            f"{s.DSH * 6}{colored(self.app_title, 'blue', attrs=['bold'])}{s.DSH * 6}",
            1,
        )
        self.dashes = self.justify(
            s.DSH * (len(self.head) - self.ANSI_LEN - 1), 1)
        self.footer = self.justify(
            f"{s.DSH * 6}{colored(self.othr_cmd, 'blue', attrs=['bold'])}{s.DSH * 6}\n",
            1,
        )
        self.next_prev = f"{colored(self.justify('p', 1), 'yellow')} : Page précédente\
예제 #23
0
def do_add_category(user_id):
    category = Category(
        user_id=int(user_id),
        cat_name=valid_data['category_name'],
        description=valid_data['category_description'],
    )
    category.add()
    return jsonify({
        'id': category.cat_id,
        'category_name': category.cat_name,
        'category_description': category.cat_description,
        'category_date': category.cat_date,
        'message': 'category created'
    }), 201
예제 #24
0
파일: run.py 프로젝트: Kilavagora/FeatuReq
def dbcreate():
    db.create_all()

    client = Client("Placeholder Client")
    category = Category("Placeholder Category")

    client.save()
    category.save()

    client_id = client.id
    category_id = category.id

    feature = Feature("Demo Feature", "Demo Feature Description", 1, client_id,
                      category_id, datetime(2018, 1, 1))
    feature.save()
예제 #25
0
def categories():
    categories = enumerate(Category.query.filter_by(user=current_user).order_by(
        Category.is_expense.desc()).all(), start=1)
    if request.method == 'POST':
        category = Category.query.filter_by(user=current_user,
                                            name=request.form.get('name')).first()
        if category is not None:
            return render_template('categories.html', error_message=ErrorMessage.CATEGORY_ALREADY_EXISTS.value,
                                   categories=categories)
        category = Category(name=request.form.get('name'), is_expense=bool(int(request.form.get('expense-or-income'))),
                            description=request.form.get('description'), user=current_user)
        db.session.add(category)
        db.session.commit()
        return redirect(url_for('categories'))
    return render_template('categories.html', categories=categories)
예제 #26
0
def recipes():
    categories = Category().user_categories()
    categories_list = []
    for category in categories:
        cat = (category['id'], category['name'])
        categories_list.append(cat)
    form = RecipeForm.editRecipe(categories_list)  #Edit Recipe form
    addCategory = CategoryForm.AddForm()  #Addcategory  form
    categories = Store().get_user_categories(session['user_id'])
    recipes = Recipe().user_recipes()
    return render_template("recipes.html",
                           form=form,
                           categoryForm=addCategory,
                           categories=categories,
                           recipes=recipes)
예제 #27
0
    def categories():
        if request.method == "POST":
            category_name = str(request.data.get('category_name', ''))
            if category_name:
                category = Category(category_name=category_name)
                category.save()
                response = jsonify({
                    'category_id':
                    category.category_id,
                    'category_name':
                    category.category_name,
                    'date_created':
                    category.date_created,
                    'date_modified':
                    category.date_modified,
                    'recipes':
                    url_for('recipes',
                            category_id=category.category_id,
                            _external=True)
                })
                response.status_code = 201
                return response
        else:
            # GET
            categories = Category.get_all()
            results = []

            for category in categories:
                obj = {
                    'category_id':
                    category.category_id,
                    'category_name':
                    category.category_name,
                    'date_created':
                    category.date_created,
                    'date_modified':
                    category.date_modified,
                    'recipes':
                    url_for('recipes',
                            category_id=category.category_id,
                            _external=True)
                }
                results.append(obj)
            response = jsonify(results)
            response.status_code = 200
            return response
예제 #28
0
    def setUp(self):
        """
        Sets up tests Category object : 
            Category(categorytitle, categorydescription)

        The constructor of the Category class is; 
            self.categorytitle = categorytitle
            self.categorydescription = categorydescription
        """
        self.new_user = User('sylvance', 'sylvance@mail', 'I am good',
                             'Scifi4u*@')
        self.categoryid = self.new_user.create_category(
            'Chinese dishes', 'Dishes made in China')
        self.sample_category = Category('Kenyan dishes',
                                        'Dishes made in Kenya')
        self.recipeid = self.sample_category.add_recipe(
            'not chapati', 'not round or brown or good')
        APP.secret_key = 'A0Zr98j/3yX R~XHH!jmN]LWX/,?RT'
예제 #29
0
    def __call__(self, request):

        if request.is_json:

            data = request.get_json()
            name = data["name"]
            new_category = Category(name=name)

            if new_category.save():
                return {
                    "message":
                    f"category {new_category.name} has been created successfully."
                }
            else:
                return {
                    "message":
                    f"category {new_category.name} could not be created"
                }
        else:
            return {"error": "The request payload is not in JSON format"}
예제 #30
0
def add_category():
    form = CategoryForm.AddForm()
    if form.validate_on_submit():
        category = Category()
        if category.category_exist(request.form['name']):
            flash('This category already exists', category='errorMessage')
            return redirect(redirect_back())
        save_category = category.save(owner_id=session['user_id'],
                                      name=request.form['name'],
                                      created=datetime.now())
        if (save_category):
            flash(' Category \'{0}\' has been successfully saved'.format(
                category.name),
                  category='successMessage')
            return redirect(redirect_back())
        flash('Unable to save category', category='errorMessage')
        flash(request.form, category='input')
        return redirect(redirect_back())
    error = form.errors
    flash(error, category='error')
    flash(request.form, category='input')
    return redirect_back()