예제 #1
0
def test_create_tag(fake_datetime):
    with patch('szurubooru.func.tags.update_tag_names'), \
            patch('szurubooru.func.tags.update_tag_category_name'), \
            patch('szurubooru.func.tags.update_tag_suggestions'), \
            patch('szurubooru.func.tags.update_tag_implications'), \
            fake_datetime('1997-01-01'):
        tag = tags.create_tag(['name'], 'cat', ['sug'], ['imp'])
        assert tag.creation_time == datetime(1997, 1, 1)
        assert tag.last_edit_time is None
        tags.update_tag_names.assert_called_once_with(tag, ['name'])
        tags.update_tag_category_name.assert_called_once_with(tag, 'cat')
        tags.update_tag_suggestions.assert_called_once_with(tag, ['sug'])
        tags.update_tag_implications.assert_called_once_with(tag, ['imp'])
예제 #2
0
def test_create_tag(fake_datetime):
    with patch('szurubooru.func.tags.update_tag_names'), \
            patch('szurubooru.func.tags.update_tag_category_name'), \
            patch('szurubooru.func.tags.update_tag_suggestions'), \
            patch('szurubooru.func.tags.update_tag_implications'), \
            fake_datetime('1997-01-01'):
        tag = tags.create_tag(['name'], 'cat', ['sug'], ['imp'])
        assert tag.creation_time == datetime(1997, 1, 1)
        assert tag.last_edit_time is None
        tags.update_tag_names.assert_called_once_with(tag, ['name'])
        tags.update_tag_category_name.assert_called_once_with(tag, 'cat')
        tags.update_tag_suggestions.assert_called_once_with(tag, ['sug'])
        tags.update_tag_implications.assert_called_once_with(tag, ['imp'])
예제 #3
0
def test_create_tag(fake_datetime):
    with patch("szurubooru.func.tags.update_tag_names"), patch(
            "szurubooru.func.tags.update_tag_category_name"
    ), patch("szurubooru.func.tags.update_tag_suggestions"), patch(
            "szurubooru.func.tags.update_tag_implications"), fake_datetime(
                "1997-01-01"):
        tag = tags.create_tag(["name"], "cat", ["sug"], ["imp"])
        assert tag.creation_time == datetime(1997, 1, 1)
        assert tag.last_edit_time is None
        tags.update_tag_names.assert_called_once_with(tag, ["name"])
        tags.update_tag_category_name.assert_called_once_with(tag, "cat")
        tags.update_tag_suggestions.assert_called_once_with(tag, ["sug"])
        tags.update_tag_implications.assert_called_once_with(tag, ["imp"])
예제 #4
0
    def post(self, ctx):
        auth.verify_privilege(ctx.user, 'tags:create')

        names = ctx.get_param_as_list('names', required=True)
        category = ctx.get_param_as_string('category', required=True)
        suggestions = ctx.get_param_as_list(
            'suggestions', required=False, default=[])
        implications = ctx.get_param_as_list(
            'implications', required=False, default=[])

        tag = tags.create_tag(names, category, suggestions, implications)
        ctx.session.add(tag)
        ctx.session.flush()
        snapshots.create(tag, ctx.user)
        ctx.session.commit()
        tags.export_to_json()
        return _serialize_tag_with_details(tag)
예제 #5
0
    def post(self, ctx):
        auth.verify_privilege(ctx.user, 'tags:create')

        names = ctx.get_param_as_list('names', required=True)
        category = ctx.get_param_as_string('category', required=True)
        suggestions = ctx.get_param_as_list('suggestions',
                                            required=False,
                                            default=[])
        implications = ctx.get_param_as_list('implications',
                                             required=False,
                                             default=[])

        tag = tags.create_tag(names, category, suggestions, implications)
        ctx.session.add(tag)
        ctx.session.flush()
        snapshots.save_entity_creation(tag, ctx.user)
        ctx.session.commit()
        tags.export_to_json()
        return tags.serialize_tag_with_details(tag)
예제 #6
0
파일: tag_api.py 프로젝트: rr-/szurubooru
def create_tag(
        ctx: rest.Context, _params: Dict[str, str] = {}) -> rest.Response:
    auth.verify_privilege(ctx.user, 'tags:create')

    names = ctx.get_param_as_string_list('names')
    category = ctx.get_param_as_string('category')
    description = ctx.get_param_as_string('description', default='')
    suggestions = ctx.get_param_as_string_list('suggestions', default=[])
    implications = ctx.get_param_as_string_list('implications', default=[])

    _create_if_needed(suggestions, ctx.user)
    _create_if_needed(implications, ctx.user)

    tag = tags.create_tag(names, category, suggestions, implications)
    tags.update_tag_description(tag, description)
    ctx.session.add(tag)
    ctx.session.flush()
    snapshots.create(tag, ctx.user)
    ctx.session.commit()
    return _serialize(ctx, tag)
예제 #7
0
def create_tag(ctx: rest.Context,
               _params: Dict[str, str] = {}) -> rest.Response:
    auth.verify_privilege(ctx.user, "tags:create")

    names = ctx.get_param_as_string_list("names")
    category = ctx.get_param_as_string("category")
    description = ctx.get_param_as_string("description", default="")
    suggestions = ctx.get_param_as_string_list("suggestions", default=[])
    implications = ctx.get_param_as_string_list("implications", default=[])

    _create_if_needed(suggestions, ctx.user)
    _create_if_needed(implications, ctx.user)

    tag = tags.create_tag(names, category, suggestions, implications)
    tags.update_tag_description(tag, description)
    ctx.session.add(tag)
    ctx.session.flush()
    snapshots.create(tag, ctx.user)
    ctx.session.commit()
    return _serialize(ctx, tag)
예제 #8
0
def create_tag(ctx: rest.Context,
               _params: Dict[str, str] = {}) -> rest.Response:
    auth.verify_privilege(ctx.user, 'tags:create')

    names = ctx.get_param_as_string_list('names')
    category = ctx.get_param_as_string('category')
    description = ctx.get_param_as_string('description', default='')
    suggestions = ctx.get_param_as_string_list('suggestions', default=[])
    implications = ctx.get_param_as_string_list('implications', default=[])

    _create_if_needed(suggestions, ctx.user)
    _create_if_needed(implications, ctx.user)

    tag = tags.create_tag(names, category, suggestions, implications)
    tags.update_tag_description(tag, description)
    ctx.session.add(tag)
    ctx.session.flush()
    snapshots.create(tag, ctx.user)
    ctx.session.commit()
    tags.export_to_json()
    return _serialize(ctx, tag)
예제 #9
0
def create_tag(ctx, _params=None):
    auth.verify_privilege(ctx.user, 'tags:create')

    names = ctx.get_param_as_list('names', required=True)
    category = ctx.get_param_as_string('category', required=True)
    description = ctx.get_param_as_string(
        'description', required=False, default=None)
    suggestions = ctx.get_param_as_list(
        'suggestions', required=False, default=[])
    implications = ctx.get_param_as_list(
        'implications', required=False, default=[])

    _create_if_needed(suggestions, ctx.user)
    _create_if_needed(implications, ctx.user)

    tag = tags.create_tag(names, category, suggestions, implications)
    tags.update_tag_description(tag, description)
    ctx.session.add(tag)
    ctx.session.flush()
    snapshots.create(tag, ctx.user)
    ctx.session.commit()
    tags.export_to_json()
    return _serialize(ctx, tag)