# Механизмы цитирования сервиса «Сказковедение» Этот набор файлов публикуется по п. 7.10 Условий использования сервиса (https://fabulotheca.org/terms) на странице https://fabulotheca.org/guards вместе с контрольными суммами SHA-256. Он нужен, чтобы пользователь, правообладатель или проверяющий мог убедиться: ограничения раздела 7 Условий реализованы в коде, а не только описаны словами. Публикуются только механизмы, реализующие ограничения выдачи. Поисковый механизм, индекс, сбор и обработка источников, кабинет пользователя и платёжные части сюда не входят. ## Состав | Файл | Что это | Пункт Условий | |---|---|---| | `guards.py` | механизмы выдачи: обрезка Фрагмента, Атрибуция и пометка OCR, Бюджет Источника, ограничение частоты, Строка совпадения, журнал, сериализация ответа по белому списку полей | 7.2–7.5, 7.7, 7.9 | | `config.py` | числовые пороги механизмов | 4.3, 7.2, 7.4–7.7, 7.9 | | `schema.sql` | две таблицы, которыми пользуются механизмы: счётчик Бюджета Источника и журнал обращений | 7.5, 7.9 | | `test_guards.py` | приёмочные тесты: проверяют фактический результат, а не наличие строки кода | 7.10 | Изменение любого значения в `config.py` — изменение условий договора: оно вносится вместе с изменением Условий и с публикацией новой версии набора. ## Запуск проверки ``` python3 test_guards.py ``` Нужен только Python 3 (стандартная библиотека). Код возврата 0 — все проверки пройдены. ## Чего в механизмах нет намеренно Скользящие окна и лимиты по знакам за период, запрет смежных Фрагментов и доли от объёма файла не используются: они не защищают от недобросовестного использования (полный текст всё равно доступен по ссылке в Атрибуции) и мешают добросовестной работе. Взамен — Бюджет Источника (30 Фрагментов), единый для всех Источников, и ограничения частоты и объёма обращений. В журнале обращений нет текстов запросов, Строк совпадения и Фрагментов (п. 7.9 Условий). У функции записи журнала нет параметра для них. ## Права Публикация кода не передаёт прав на его коммерческое использование (п. 7.10 Условий). Все права сохранены за автором.