コード例 #1
0
ファイル: category.py プロジェクト: espstan/fBlog
    def put(self, name):
        data = Category.parser.parse_args()

        if len(name) > Configuration.MAX_CATEGORY_NAME_SIZE:
            return {
                'message':
                'A name\'s length is more than {}'.format(
                    Configuration.MAX_CATEGORY_NAME_SIZE)
            }

        posts_id = data['posts']
        if posts_id:
            posts = get_posts(posts_id)
        else:
            posts = []

        category = CM.find_by_name(name)
        if not category:
            category = CM(name=name)
        else:
            category.name = name

        category.posts = []

        if posts:
            category = add_posts(category, posts)

        try:
            category.save_to_db()
        except SQLAlchemyError as e:
            err = str(e.__class__.__name__)
            return {'message': '{}'.format(err)}, 500
        return category.get_json(), 201
コード例 #2
0
    def put(self, category_id):
        _category_parser = reqparse.RequestParser(bundle_errors=True)
        _category_parser.add_argument('name',
                                      type=non_empty_string,
                                      required=False,
                                      help="The name field is required!"
                                      )
        data = _category_parser.parse_args()
        category = CategoryModel.find_by_id(category_id)

        if category is None:
            category = CategoryModel(**data)
        else:
            category.name = data['name'] if data['name'] is not None else category.name

        try:
            category.save_to_db()
        except Exception as e:
            return {'message': 'An error occurred while creating the category.'}, 500

        return category.json(), 201