19.03.2017 Версия программы 0.43

Список изменений:

  • Исправлена ошибка с сохранением данных о сериях книг.
  • Добавлена функция оптимизации таблиц данных для БД PostgreSQL (manage.py sopds_util pg_opimize - автоматически вызывается при выполнении команды manage.py sopds_util clear).
  • При выводе аннотаций к книгам из них удаляются html-тэги.
  • Для обновления необходимо заменить файлы проекта, затем выполнить его перезапуск. Пересоздавать базу данных и выполнять повторное сканирование коллекции не требуется.

 

05.03.2017 Версия программы 0.42

Список изменений:

  • Внесены изменения, для обеспечения работы некоторых OPDS-клиентов, удаляющих финализирующие слэши в URL (например KyBook).
  • Исправлено определение mimtypes, работавшее в некоторых случаях неверно.
  • Добавлены парсеры для форматов EPUB и MOBI, теперь метаданные извлекаются и для этих форматов.
  • Для FB2 доступно два различных парсера, между которыми можно переключаться установками параметра SOPDS_FB2SAX.
  • Улучшен алгоритм извлечения обложек книг.
  • Улучшен поиск дубликатов. Книги, наименования которых отличается только размером букв, считаются идентичными.
  • Для обновления необходимо заменить файлы проекта, установить новые зависимости командой python3 -m pip -r requirements.txt, затем выполнить его перезапуск. Пересоздавать базу данных и выполнять повторное сканирование коллекции не требуется.

 

22.01.2017 Версия программы 0.41

Список изменений:

  • Настроен правильный заголовок для страниц web-интерфейса
  • Отключен показ футера со статистикой для незарегистрированных пользователей.
  • Переключение языка теперь также доступно из web-интерфейса или при помощи утилиты командной строки (python3 manage.py sopds_util setconf)
  • Исправлено несколько ошибок.
  • Для обновления необходимо заменить файлы проекта и выполнить его перезапуск. Пересоздавать базу данных и выполнять повторное сканирование коллекции не требуется.

 

08.01.2017 Версия программы 0.40

Список изменений:

  • Настройки SOPDS перенесены в БД и доступны теперь из административного web-интерфейса (http://<Ваш сервер>:8001/admin/)
  • Управление настройками при помощи команд sopds_util setconf и sopds_util getconf.
  • Возможно сохранение и последующее восстановление таблицы жанров при помощи команд sopds_util save_mygenres и sopds_util load_mygenres.
  • sopds_scanner каждые 10 минут перечитывает конфигурацию SOPDS, при изменении параметров периодического сканирования происходит автоматическая перенастройка задания
  • Параметр SOPDS_SCAN_START_DIRECTLY, устанавливаемый из web-интерфейса запускает задание сканирования в ближайшее время (в течении 10 минут).
  • Исправлено несколько ошибок пагинации (определение числа страниц пагинатора).
  • Внесены улучшения в процесс basic-аутентификации.
  • Для обновления необходимо заменить файлы проекта (и внести в sopds/settings.py настройки вашей БД), затем выполнить следующие команды для установки новых компонентов и конвертации базы данных:
          python3 manage.py sopds_scanner stop
          python3 manage.py sopds_server stop
          python3 -m pip install -r requirements.txt
          python3 manage.py migrate
          python3 manage.py sopds_util setconf SOPDS_ROOT_LIB 'Путь к каталогу с книгами'
          python3 manage.py sopds_scanner start --daemon
          python3 manage.py sopds_server start --daemon

 

31.12.2016 Версия программы 0.39

Список изменений:

  • Изменена цветовая схема интерфейса администратора
  • Исправлена работа пагинатора на верхнем уровне вывода книг по каталогам.
  • Внесено исправление в модуль sopds_scanner для устранения ошибки "#2006, MySQL server has gone away".
  • Исправлена ошибка, из-за которой аутентификация не отключалась в web-интерфейсе при SODPS_AUTH=False.
  • Исправлена работа SOPDS на sub-uri адресах.
  • Исправлена некорректная работа книжной полки при отключенной авторизации.
  • Для обновления необходимо заменить файлы проекта и выполнить его перезапуск. Пересоздавать базу данных и выполнять повторное сканирование коллекции не требуется.

 

12.12.2016 Версия программы 0.38

Список изменений:

  • Исправлены ошибки в пагинаторе
  • Добавлена пагинация при выводе авторов и серий.
  • Внесено исправление в поиск книг из OPDS-интерфейса. Знак "+", поступающий в поисковых запросах, трактуется как пробел.
  • Исправлена ошибка, приводящая к двукратной генерации страницы с книгами.
  • Для обновления необходимо заменить файлы проекта и выполнить его перезапуск. Пересоздавать базу данных и выполнять повторное сканирование коллекции не требуется.

 

 

05.12.2016 Версия программы 0.37

Список изменений:

  • Добавлены случайно удаленные ранее индексы, из-за чего в версии 0.36 сканирование коллекции книг выполнялось очень медленно. Сейчас скорость значительно увеличена
  • Изменен способ очистки БД. Теперь команда manage.py sopds_util clear выполняется быстро.
  • Для аннотаций применяется перекодировка из 4х байтного в 3х байтный UTF для устранения возникавшей ошибки сохранения некоторых книг в БД Mysql.
  • Исправлено несколько ошибок.
  • Для обновления необходимо заменить файлы проекта. Пересоздавать базу данных и выполнять повторное сканирование коллекции не требуется. Для обновления БД выполните команду: python3 manage.py migrate.

 

 

24.11.2016 Версия программы 0.36

Список изменений:

  • Добавлена поддержка БД PostgreSQL
  • Улучшена работа пагинатора - значительный рост скорости отклика web-интерфейса на запросы, возвращающие большое количество элементов.
  • Исправлены ошибки.
  • Для обновления необходимо заменить файлы проекта. Пересоздавать базу данных и выполнять повторное сканирование коллекции не требуется.
  • UPDATE 30.11.2016: Исправлено несколько ошибок (ошибка при скачивании зархивированной книги, ошибка в доступе к книге из меню "Каталоги")

 

 

17.11.2016 Версия программы 0.35

Список изменений:

  • Добавлена обработка INPX каталогов.
  • Улучшена аутентификация для Web интерфейса
  • Добавлена возможность удаления книг с книжной полки через Web-интерфейс.
  • Оптимизирована работа с Базами данных (ускорение работы интерфейса).
  • Исправлены ошибки.
  • Для обновления требуется пересоздание Баз данных (Удаление db.sqlite3 для SQLITE либо "drop database sopds" для БД MySQL.

 

 

09.11.2016, 16.11.2016 Версия программы 0.33 (beta)

Список изменений:

  • Полностью переработанная программа с использованием фрэймворка Django. Основные функции остались без изменений.
  • Помимо MYSQL поддерживается база данных SQLITE.
  • Поддерживаются переводы на другие языки (в настоящее время доступны трансляции 'en-US' и 'ru-RU')
  • Программа работоспособна в операционных системах Linux и Windows.
  • Улучшен пользовательский интерфейс в WEB-версии.
  • UPDATE 15.11.2016: Небольшие изменения в структуре БД.
  • UPDATE 16.11.2016: Добавлены настройки соединения БД по умолчанию (ENGINE=MyISAM, отключен режим STRICT_TRANS_TABLES)

 

 

11.01.2016 Add-on "Simple OPDS Catalog v0.23.4" for D-Link NAS

  • Для сетевых накопителей (NAS) DLINK DNS-320L/DNS-325/DNS-327L/DNS-340L/DNS-345 доступен Add-on Package.

 

 

09.04.2015, 14.04.2015 Версия программы 0.23.4

Список изменений:

  • Изменения от 09.04.2015: Исправлена небольшая ошибка в файле шаблонов sopdstempl.py.
  • Изменения от 14.04.2015: Внесены изменения, устраняющие ошибку в навигации по Наименованиям, связанную с обработкой символа "пробел".

 

09.11.2014, 10.11.2014, 25.11.2014, 17.12.2014, 24.12.2014 Версия программы 0.23.4

Список изменений:

 

  • Переработан модуль sopdscli.py. Программа теперь обладает простым Web-интерфейсом, который поддерживается демоном sopdsd.py, а также интерфейсами CGI и WSGI: sopds.cgi и sopds.wsgi. Для работы программы библиотека jinja2 теперь не требуется. За основу Web-интерфейса взят дизайн, предложенный SokoloffA. Изменять дизайн можно, внося правки в шаблон sopdstempl.py
  • Работа OPDS или WEB интерфейса выполняется на одном TCP порте (по умолчанию 8081). Определение используемой технологии доступа выполняется на основе префиксов, заданных в конфигурационном файле в разделе [httpd]. По умолчанию такими префиксами являются /opds и /web.
  • Внесено исправление предложенное MegaDiablo, ускоряющее выдачу обложек.
  • Внесено исправление ошибки, приводящей к остановке сканирования коллекции книг при встрече "битого" fb2-файла.
  • Структура БД не изменялась. Пересканирования коллекции книг не требуется.
  • Изменения от 10.11.2014: Внесение улучшений в формирование ссылок (теперь всегда используются полные пути вместо относительных, надеюсь это поможет заработать некоторым OPDS-Клиентам). Исправление ошибки использования одного объекта из разных потоков WSGI приложения, которая приводила к "подвисанию" WSGI приложения.
  • Изменения от 25.11.2014: Внесено несколько изменений в OPDSTemplate (Аналогично Флибусте не используется элемент kind. Удалены "alternate" ссылки, которые хотя и описаны в стандарте OPDS, но например KyBook при их наличии ведет себя некорректно. Как результат KyBook теперь нормально работает с Simple OPDS.
  • Изменения от 17.12.2014: Исправлена еще одна ошибка, приводящая к сбою приложения, если при сканировании коллекции встречался "битый" fb2-файл.
  • Изменения от 24.12.2014: Исключено дополнительное архивирование файлов .epub при их выдаче.

 

11.09.2014 Версия программы 0.22 (beta)

Список изменений:

  • К проекту присоединился SokoloffA, разработавший модуль для веб-доступа к коллекции книг. Для работы веб-доступа необходимо установить библиотеку jinja2 для python3. По умолчанию сервер web-доступа для браузеров запускается на порту 8082
  • Структура БД не изменялась. Пересканирования коллекции книг не требуется.
  • Нестабильная версия. Могут содержаться ошибки. Если необходимости использовать Web-интерфейс некритична, используйте предыдущую версию.

 

 

16.06.2014 Версия программы 0.21

Список изменений:

  • Изменен способ поиска дубликатов. Конфигурационный параметр DUBLICATES_FIND может принимать значения no,yes,strong,clear. Рекомендую использовать значение DUBLICATES_FIND=yes. Теперь при такой установке дубликатом считается книга с совпадающим списком авторов и названием. Подробное описание можно найти в файле конфигурации conf/sopds.conf.
  • За счет изменения алгоритма поиска дубликатов на ~10% ускорено сканирование коллекции книг.
  • В выдачах информации о книге клиенту OPDS, при наличии дубликатов книги, выдается ссылка на список всех дубликатов. Таким образом реализована простая возможность просмотра всех скрытых дубликатов.
  • ВАЖНО: Изменилась структура БД. Необходимо выполнить скрипт обновления ./db/updates/update020-021.sql и перезапустить программу (./sopdsd.py restart).

 

 

21-26.05.2014 Версия программы 0.20

Список изменений:

  • Программа теперь загружает для книг fb2 номера книг в сериях и использует эту информацию в выдачах OPDS-клиентам.
  • В алгоритм сканирования коллекции книг добавлена возможность обхода символических ссылок.
  • В скрипт создания таблиц БД tables.sql внесено исправление, устраняющее возникновение ошибки создания индекса (превышение размера в 1000 байт), возникающей на некоторых версиях MYSQL.
  • ВАЖНО: Изменилась структура БД. Необходимо пересоздать базу данных и перезапустить программу (./sopdsd.py restart).

 

 

14.05.2014 Версия программы 0.19

Список изменений:

  • Большой рефакторинг всей программы. Теперь sopdsd.py выполняет в режиме демона функции сканера и встроенного HTTP/OPDS-сервера. По умолчанию HTTP/OPDS-сервер функционирует на порте 8081. Подробное описание можно найти в файле конфигурации conf/sopds.conf. Запуск программы выполняется командой ./sopdsd.py start.
  • Если встроенного HTTP/OPDS-сервера по какой-либо причине недостаточно, то для организации доступа к OPDS-каталогу при помощи популярных http-серверов Apache и Nginx теперь можно воспользоваться технологией WSGI, являющейся более эффективной по сравнению с CGI. Для организации такого взаимодействия разработан скрипт sopds.wsgi. Также оставлена возможность воспользоваться скриптом sopds.cgi.
  • Из программы удалена возможность предварительного извлечения обложек книг.
  • Исправлено несколько небольших ошибок в работе различных модулей программы.
  • Переписан информационный файл-инструкция README.md. Просьба ознакомиться с ним перед использованием новой версии.
  • Структура БД не изменялась, пересканирование коллекции книг НЕ требуется.

 

 

21.04.2014 Версия программы 0.18

Список изменений:

  • Переработан модуль сканирования. Теперь для сканирования книг лучше использовать программу sopdsd.py, являющуюся Linux-демоном. Для настройки расписания сканирования в конфигурационном файле предусмотрен новый раздел [daemon] с дополнительными параметрами (pid_file, scan_day_of_week, scan_time, scan_interval, scan_on_start). Подробное описание можно найти в файле конфигурации conf/sopds.conf. Запуск сканирующего демона выполняется командой ./sopdsd.py start.
  • Для логгирования работы программы каталогизации теперь применяется модуль logging. Логгирование управляется новыми параметрами конфигурационного файла logfile и loglevel. Их подробное описание можно найти в файле конфигурации conf/sopds.conf.
  • В исполняемых файлах Python ссылка на интерпретатор изменена на /usr/bin/env python3, что позволяет без изменений использовать скрипты проекта на различных платформах без их коррекции.
  • Внесено несколько исправлений в скрипт sopds.cgi
  • Для ускорения "холостого" сканирования (когда коллекция уже создана и производится повторное сканирование каталога с книгами для обнаружения изменений) созданы дополнительные индексы для БД. Для их построения используйте скрипт обновления БД db/updates/update015-018.sql.

 

 

01.04.2014 Версия программы 0.17

Список изменений:

  • Добавлен еще один конвертер, который умеет конвертировать в EPUB и в MOBI (http://www.the-ebook.org/forum/viewtopic.php?t=28447). Особенности установки и настройки конвертера описаны в файле README.md
  • Добавлена возможность конвертации на лету в формат MOBI. Для настройки такой конвертации необходимо использовать параметр "fb2tomobi" конфигурационного файла.
  • Структура БД не изменялась, пересканирование коллекции книг НЕ требуется.

 

 

28.03.2014 Версия программы 0.16

Список изменений:

  • Реализовано подменю выбора книг по автору: "По сериям, Вне серий, По алфавиту".
  • Для увеличения быстродействия удален подсчет количества новинок по пунктам авторы, жанры, серии.
  • Возвращены "alternate" ссылки, позволяющие выполнять навигацию при помощи браузеров.
  • Исправлено несколько ошибок.
  • Структура БД не изменялась, пересканирование коллекции книг НЕ требуется.

 

 

22.03.2014 Версия программы 0.15

Список изменений:

  • В выдаче OPDS-клиенту техническая информация о книгах теперь размещена перед аннотацией.
  • Оптимизация запросов клиентской части OPDS-каталога.
  • Реализована "Книжная полка" для пользователей, использующих авторизацию Web-Сервером. За включение/отключение "Книжной полки" отвечает конфигурационный параметр "book_shelf". На "Книжной полке" запоминаются книги скачанные соответствующим пользователем ранее.
  • Исправлено несколько ошибок.
  • ВАЖНО: Изменилась структура БД. Для обновления структуры БД с версии 0.14 на версию 0.15 необходимо выполнить SQL-скрипт update014-015.sql, например следующим образом: mysql sopds < ./db/updates/update014-015.sql. После выполнения скрипта обновления, пересканирование коллекции книг НЕ требуется.

 

 

15.03.2014 Версия программы 0.14

Список изменений:

  • Реализован раздел новых книг, в том числе по авторам, жанрам и сериям. Поиск новинок управляется новым конфигурационным параметром "new_period"
  • Реализована работа с сериями книг.
  • Улучшен формат вывода дополнительной информации о книге.
  • Исправлена ошибка, иногда возникающая при отдаче файлов книг в именах которых содержаться пробелы.
  • Исправлено несколько ошибок.
  • ВАЖНО: Изменилась структура БД. Необходимо пересоздать базу данных и произвести сканирование коллекции книг сканером sopds-scan.py.

 

 

02.03.2014 Версия программы 0.13

Список изменений:

  • Оптимизирована загрузка данных в БД. Работа сканера sopds-scan.py значительно ускорена.
  • Введен конфигурационный параметр "single_commit" при установке которого в "yes" коммиты выполняются не при каждом добавлении книги в БД, а всего один раз в конце всей операции сканирования. Данный режим дополнительно ускоряет сканирование коллекции книг.
  • В различных ситуациях производится замена спецсимволов, вызывающих ошибку интерпретации OPDS-клиентом полученных данных.
  • В конфигурацию добавлен параметр "title_as_filename" - на оcновании значения которого формируется имя скачиваемого файла (реальное имя файла или транслитерация заголовка).
  • В текстовое описание книги добавлена ее дата правки (извлекается из файла fb2).
  • Добавлен параметр "alphabet_menu" установка которого в "yes" приводит к выводу промежуточного меню выбора алфавита в сортировках По Автору, По Наименованию и По Жанру.
  • Удалены выделения последовательностей символов "-= =-" в сортировках По Автору и По Наименованию.
  • Исправлено несколько небольших ошибок.
  • ВАЖНО: Изменилась структура БД. Необходимо пересоздать базу данных и произвести сканирование коллекции книг сканером sopds-scan.py.

 

 

25.02.2014 Версия программы 0.12

Список изменений:

  • Доработан поиск книг и авторов (тестировался на iPad: iBouquiniste, KyBook, eBook Search, MegaReadLite и на Android: EbookDroid, FBReader)
  • Оптимизирована загрузка данных в БД. Работа сканера sopds-scan.py несколько ускорена.
  • При добавлении в БД теперь не удаляются квадратные и круглые скобки в начале и конце наименований книг и авторов.
  • Ссылки на книги теперь выдаются без "промежуточной" выдачи. Сразу в первом же списке книг теперь вся информация по книгам, авторы, жанры, аннотации и т.д. включая ссылки на скачивание файлов книг.
  • Исправлена проблема конвертации в EPUB файлов в пути которых встречаются пробелы и русские символы.
  • Исправлена ошибка некорректной выдачи жанров.

 

 

19.02.2014 Версия программы 0.11

Список изменений:

  • Добавлена возможность поиска авторов по имени.
  • Изменен порядок создания/инициализации базы данных. Описание порядка установки sql-скриптов приведены в пункте 4 файла README.md. При этом структура БД по отношению к предидущей версии не изменялась, пересоздания БД и повторного сканирования коллекции книг не требуется.
  • Исправлено несколько ошибок.
  • Добавлен еще один конвертер fb2epub (вроде лучше чем первый - от Adobe).

 

 

13.02.2014/15.02.2014 Версия программы 0.10.1

Список изменений:

  • Возможна конвертация книг FB2 в EPUB "на лету" с использованием внешнего конвертера.
  • В конфигурационный файл добавлены новые настройки для поддержки конвертации в EPUB (fb2toepub и temp_dir)
  • В сортировке "По каталогам" также добавлен показ обложек для книг FB2.
  • Расширен список жанров на основе flibusta.net (pull request от fabrikant). Для использования нового перечня жанров необходимо пересоздать базу и заново произвести сканирование библиотеки.
  • Исправлено несколько ошибок.
  • Изменение структуры БД - добавлены дополнительные индексы для таблиц bauthors, bgenres. Для того чтобы не пересоздавать БД и заново не сканировать коллекцию книг, достаточно создать индексы командой: mysql sopds < ./db/indexes.sql. Необходимость создания дополнительных индексов связана с очень медленной выдачей книг в сортировках "По авторам" и "По жанрам"

 

 

06.02.2014 Версия программы 0.09

Список изменений:

  • К выводу описания книги добавлен вывод ссылок на все имеющиеся в каталоге произведения авторов этой книги.
  • Произведена оптимизация кода cgi-скрипта sopds.cgi.
  • Добавлены параметры "cgi_path", "cover_path" необходимые для "читалок" не поддерживающих относительные пути в ссылках, например для ZXReader.
  • Добавлено отображение обложек в сортировке "Последние добавленные".
  • Исправлена ошибка: Аннотация у некоторых книг извлекалась не полностью, ее извлечение приводило к ошибке, прекращающей дальнейшую обработку файла fb2. В результате у этих книг не извлекалась и не показывалась обложка.
  • Исправлено несколько ошибок.

 

 

03.02.2014 Версия программы 0.08.1

Список изменений:

  • Исправлена ошибка: При установленной опции delete_logical=no не удаляются записи о книгах в БД.
  • Исправлена ошибка: При удалении zip-архива и последующем его восстановлении повторное его сканирование не производится.
  • Добавлен вывод ошибок, возникающих в модуле sopdsparse.

 

 

02.02.2014 Версия программы 0.08

Список изменений:

  • sopds-scan.py при повторных сканированиях каталога с книгами отслеживает удаление книг.
  • В конфигурационный файл добавлен параметр "delete_logical", Удалены неиспользуемые параметры "name" и "root_url".
  • При переходе с версии 0.07 достаточно загрузить в базу данных хранимую процедуру: mysql sopds < sp_update_dbl.sql и произвести пересканирование каталога книг.

 

 

24.01.2014/25.01.2014 Версия программы 0.07.1

Список изменений:

  • Из книг FB2 извлекается аннотация, которая затем выдается OPDS-клиенту.
  • Исправлена ошибка, возникающая при чтении "битого" ZIP-архива.
  • Изменена структура базы данных. Требуется пересоздание БД (запустить скрипт db_create.sh) и пересканирование каталога книг.
  • Исправлена ошибка с пропуском книг в архивах (если в одном каталоге было несколько архивов, в которых были книги с одинаковым именем файла)

 

 

15.01.2014 Версия программы 0.06

Список изменений:

  • Добавлена сортировка "по жанрам".
  • Изменена структура базы данных. Требуется пересоздание БД (запустить скрипт db_create.sh) и пересканирование каталога книг.

 

 

10.01.2014 Версия программы 0.05

Список изменений:

  • Добавлена возможность произвольного поиска книг по наименованию.
  • Произведена оптимизация парсера. Ускорена работа сканера sopds-scan.py.

 

 

10.01.2014 Версия программы 0.04

Список изменений:

  • Исправлено отображение файлов с кириллическими именами из ZIP-архивов.
  • Добавлена возможность показа обложек без предварительного извлечения.
  • Добавлено обнаружение дубликатов книг.
  • Внесены другие незначительные исправления.

 

 

26.12.2013 Версия программы 0.03

Список изменений:

  • Реализована многоуровневая сортировка по наименованиям книг.
  • Сортировка по авторам также стала многоуровневой.

 

 

23.12.2013 Версия программы 0.02

Список изменений:

  • Из файлов fb2 извлекаются и затем показываются в OPDS-клиенте обложки при установленной опции cover_enable = yes.
  • Исправлена ошибка игнорирования нескольких zip-архивов, расположенных в одном каталоге при установленной опции ziprescan = no.
  • Исправлены незначительные ошибки.

 

 

10.11.2013 Стартовая версия программы 0.01a

Возможности следующие:

  • Рекурсивный обход, указанного в конфигурационном файле каталога.
  • Размещение в каталоге электронных книг, любых форматов, указанных в конфигурационном файле.
  • Извлечение метаинформации из электронных книг FB2 (название, авторы, жанр, язык).
  • Поиск книг в zip-архивах.
  • В каталоге SOPDS пока доступны три возможные сортировки: по каталогам, по авторам, последние добавленные.
  • Можно задать ограничение выдачи элементов на страницу.
  • Архивация книг при скачивании.