Каталогизатор Simple OPDS имеет дополнительные настройки которые можно указывать в конце файла sopds/settings.py
**SOPDS_ROOT_LIB** - содержит путь к каталогу в котором расположена ваша коллекция книг.
**SOPDS_BOOK_EXTENSIONS** - Список форматов книг, которые будут включаться в каталог.
(по умолчанию SOPDS_BOOK_EXTENSIONS = ['.pdf', '.djvu', '.fb2', '.epub'])
**SOPDS_DOUBLES_HIDE** - Скрывает, найденные дубликаты в выдачах книг.
(по умолчанию SOPDS_DOUBLES_HIDE = True)
**SOPDS_FB2PARSE** - Извлекать метаинформацию из книг fb2.
(по умолчанию SOPDS_FB2PARSE = True)
**SOPDS_COVER_SHOW** - способ показа обложек (False - не показывать, True - извлекать обложки на лету и показывать).
(по умолчанию SOPDS COVER_SHOW = True)
**SOPDS_ZIPSCAN** - Настройка сканирования ZIP архивов.
(по умолчанию SOPDS_ZIPSCAN = True)
**SOPDS_ZIPCODEPAGE** - Указываем какая кодировка для названий файлов используется в ZIP-архивах. Доступные кодировки: cp437, cp866, cp1251, utf-8. По умолчанию применяется кодировка cp437. Поскольку в самом ZIP архиве сведения о кодировке, в которой находятся имена файлов - отсутствуют, то автоматически определить правильную кодировку для имен файлов не представляется возможным, поэтому для того чтобы кириллические имена файлов не ваыглядели как крякозябры следует применять кодировку cp866.
(по умолчанию SOPDS_ZIPCODEPAGE = "cp866")
**SOPDS_INPX_ENABLE** - Если True, то при обнаружении INPX файла в каталоге, сканер не сканирует его содержимое вместе с подгаталогами, а загружает данные из найденного INPX файла. Сканер считает что сами архивыс книгами расположены в этом же каталоге. .е. INPX-файл должен находится именно в папке с архивами книг
(по умолчанию SOPDS_INPX_ENABLE = True)
**SOPDS_INPX_SKIP_UNCHANGED** - Если True, то сканер пропускает повторное сканирование, если размер INPX не изменялся.
(по умолчанию SOPDS_INPX_SKIP_UNCHANGED = True)
**SOPDS_INPX_TEST_ZIP** - Если True, то сканер пытается найти описанный в INPX архив. Если какой-то архив не обнаруживается, то сканер не будет добавлять вязанные с ним данные из INPX в базу данных соответсвенно, если SOPDS_INPX_TEST_ZIP = False, то никаких проверок сканер не производит, а просто добавляет данные из INPX в БД. Это гораздо быстрее.
(по умолчанию SOPDS_INPX_TEST_ZIP = False)
**SOPDS_INPX_TEST_FILES** - Если True, то сканер пытается найти описанный в INPX конкретный файл с книгой (уже внутри архивов). Если какой-то файл не обнаруживается, то сканер не будет добавлять эту книгу в базу данных соответсвенно, если INPX_TEST_FILES = False, то никаких проверок сканер не производит, а просто добавляет книгу из INPX в БД. Это гораздо быстрее.
(по умолчанию SOPDS_TEST_FILES = False)
**SOPDS_DELETE_LOGICAL** - True приведет к тому, что при обнаружении сканером, что книга удалена, запись в БД об этой книге будет удалена логически (avail=0). Если значение False, то произойдет физическое удаление таких записей из базы данных. Пока работает только SOPDS_DELETE_LOGICAL = False.
(по умолчанию SOPDS_DELETE_LOGICAL = False)
**SOPDS_SPLITITEMS** - Устанавливает при достижении какого числа элементов в группе - группа будет "раскрываться". Для выдач "By Title", "By Authors", "By Series".
(по умолчанию SOPDS_SPLITITEMS = 300)
**SOPDS_MAXITEMS** - Количество выдаваемых результатов на одну страницу.
(по умолчанию SOPDS_MAXITEMS = 60)
**SOPDS_FB2TOEPUB** и **SOPDS_FB2TOMOBI** задают пути к програмам - конвертерам из FB2 в EPUB и MOBI/
(по умолчанию SOPDS_FB2TOEPUB = "")
(по умолчанию SOPDS_FB2TOMOBI = "")
**SOPDS_TEMP_DIR** задает путь к временному каталогу, который используется для копирования оригинала и результата конвертации.
(по умолчанию SOPDS_TEMP_DIR = os.path.join(settings.BASE_DIR,'tmp'))
**SOPDS_TITLE_AS_FILENAME** - Если True, то при скачивании вместо оригинального имени файла книги выдает транслитерацию названия книги.
**SOPDS_NOCOVER_PATH** - Файл обложки, которая будет демонстрироваться для книг без обложек.
(по умолчанию SOPDS_NOCOVER_PATH = os.path.join(settings.BASE_DIR,'static/images/nocover.jpg'))
**SOPDS_AUTH** - Включение BASIC - авторизации.
(по умолчанию SOPDS_AUTH = False)
**SOPDS_SERVER_LOG** и **SOPDS_SCANNER_LOG** задают размещение LOG файлов этих процессов.
(по умолчанию SOPDS_SERVER_LOG = os.path.join(settings.BASE_DIR,'opds_catalog/log/sopds_server.log'))
(по умолчанию SOPDS_SCANNER_LOG = os.path.join(settings.BASE_DIR,'opds_catalog/log/sopds_scanner.log'))
**SOPDS_SERVER_PID** и **SOPDS_SCANNER_PID** задают размещение PID файлов этих процессов при демонизации.
(по умолчанию SOPDS_SERVER_PID = os.path.join(settings.BASE_DIR,'opds_catalog/tmp/sopds_server.pid'))
(по умолчанию SOPDS_SCANNER_PID = os.path.join(settings.BASE_DIR,'opds_catalog/tmp/sopds_scanner.pid'))
Параметры **SOPDS_SCAN_SHED_XXX** устанавливают значения шедулера, для периодического сканирования коллекции книг при помощи **manage.py sopds_scanner start**. Возможные значения можно найти на следующей странице: # https://apscheduler.readthedocs.io/en/latest/modules/triggers/cron.html#module-apscheduler.triggers.cron