Exemple #1
0
def set_default_category(category: model.TagCategory) -> None:
    assert category
    old_category = try_get_default_category(lock=True)
    if old_category:
        db.session.refresh(old_category)
        old_category.default = False
    db.session.refresh(category)
    category.default = True
    cache.remove(DEFAULT_CATEGORY_NAME_CACHE_KEY)
Exemple #2
0
def update_category_color(category: model.TagCategory, color: str) -> None:
    assert category
    if not color:
        raise InvalidTagCategoryColorError("Color cannot be empty.")
    if not re.match(r"^#?[0-9a-z]+$", color):
        raise InvalidTagCategoryColorError("Invalid color.")
    if util.value_exceeds_column_size(color, model.TagCategory.color):
        raise InvalidTagCategoryColorError("Color is too long.")
    category.color = color
Exemple #3
0
def update_category_color(category: model.TagCategory, color: str) -> None:
    assert category
    if not color:
        raise InvalidTagCategoryColorError('색상은 빈 값일 수 없습니다.')
    if not re.match(r'^#?[0-9A-Za-z]+$', color):
        raise InvalidTagCategoryColorError('잘못된 색상.')
    if util.value_exceeds_column_size(color, model.TagCategory.color):
        raise InvalidTagCategoryColorError('색상이 너무 깁니다.')
    category.color = color
Exemple #4
0
def update_category_name(category: model.TagCategory, name: str) -> None:
    assert category
    if not name:
        raise InvalidTagCategoryNameError('이름은 빈 값일 수 없습니다.')
    expr = sa.func.lower(model.TagCategory.name) == name.lower()
    if category.tag_category_id:
        expr = expr & (model.TagCategory.tag_category_id !=
                       category.tag_category_id)
    already_exists = (db.session.query(model.TagCategory).filter(expr).count()
                      > 0)
    if already_exists:
        raise TagCategoryAlreadyExistsError('동일한 이름의 카테고리자 존재합니다.')
    if util.value_exceeds_column_size(name, model.TagCategory.name):
        raise InvalidTagCategoryNameError('이름이 너무 깁니다.')
    _verify_name_validity(name)
    category.name = name
    cache.remove(DEFAULT_CATEGORY_NAME_CACHE_KEY)
Exemple #5
0
def update_category_name(category: model.TagCategory, name: str) -> None:
    assert category
    if not name:
        raise InvalidTagCategoryNameError("Name cannot be empty.")
    expr = sa.func.lower(model.TagCategory.name) == name.lower()
    if category.tag_category_id:
        expr = expr & (model.TagCategory.tag_category_id !=
                       category.tag_category_id)
    already_exists = (db.session.query(model.TagCategory).filter(expr).count()
                      > 0)
    if already_exists:
        raise TagCategoryAlreadyExistsError(
            "A category with this name already exists.")
    if util.value_exceeds_column_size(name, model.TagCategory.name):
        raise InvalidTagCategoryNameError("Name is too long.")
    _verify_name_validity(name)
    category.name = name
    cache.remove(DEFAULT_CATEGORY_NAME_CACHE_KEY)
Exemple #6
0
def update_category_order(category: model.TagCategory, order: int) -> None:
    assert category
    category.order = order