Скрипты командной строки¶
ml-initdb.py¶
Использование:
ml-initdb.py [-C] [-D]
Опции:
-C, --config config Путь к файлу конфигурации
-D, --database database Использовать указанную БД
Инициализирует базу данных и импортирует список жанров. Этот скрипт не очень-то нужен, так как следующий скрипт делает всё указанное.
ml-import.py¶
Использование:
ml-import.py [-C] [-D] [-P] [file.inpx ...]
Опции:
-C, --config config Путь к файлу конфигурации
-D, --database database Использовать указанную БД
-P, --no-pbar Не показывать индикатор процесса
Инициализирует базу данных, импортирует список жанров и список файлов INPX, перечисленных в командной строке. При повторных запусках не переинициализирует БД и не переимпортирует жанры; так же не переимпортирует уже проимпортированные книги, но импортирует в БД новые.
ml-search.py¶
Использование:
ml-search.py [-C] [-D] [-i] [-I] [-t] [-s] [-f] [-v] [-c] ...
Программа выполняет поиск по базе данных и показывает список результатов. В настоящее время может искать только в списке авторов.
Глобальные опции:
-C, --config config Путь к файлу конфигурации
-D, --database database Использовать указанную БД
-i, --ignore-case независимо от регистра (по умолчанию: угадать)
-I, --case-sensitive с учётом регистра
-t, --start тип поиска: подстрока в начале строки
(это тип поиска по умолчанию)
-s, --substring тип поиска: подстрока в любом месте
-f, --full тип поиска: полное совпадение всей строки
-c, --count Выводить число найденных объектов, а не сами
объекты
-v, --verbose Выводить больше информации о найденных
объектах; повторите эту опцию несколько раз,
чтобы получить ещё больше деталей
Опции -i/-I
не могут использованы одновременно, поскольку означают
противоположные команды. В случае, если ни одна из них не использована,
программа угадывает зависимость от регистра: если все параметры даны в
нижнем регистре, программы выполнит поиск без учёта регистра. Если среди
параметров есть параметры в ВЕРХНЕМ или Смешанном регистре - поиск будет
с учётом регистра.
Опции -t/-s/-f
определяют тип поиска. Возможные значения:
start - поиск подстроки в начале поля; поиск «друг» найдёт «друг» и «другой», но не «подруга»; это тип по умолчанию;
substring - поиск подстроки в любом месте; поиск «друг» найдёт «друг», «другой» и «подруга».
full - поиск на точное совпадение всей строки; поиск «друг» найдёт только «друг», но не «другой»;
Поиск авторов¶
Использование:
ml-search.py author [-s surname] [-n name] [-m misc-name] [--id id] [fullname]
Искать и печатать список авторов по фамилии, имени, доп. имени (обычно отчеству) или полному имени.
Опции:
-s, --surname фамилия Искать по фамилии
-n, --name имя Искать по имени
-m, --misc-name доп. имени Искать по доп. имени
--id id Искать по id автора
Пример:
ml-search.py -i author -s друг
Искать и печатать список авторов, чья фамилия начинается на «друг», без учёта регистра.
Если использовать несколько опций, поиск будет сужен оператором «И». Пример:
ml-search.py -i author -s друг -n в
Искать и печатать список авторов, чья фамилия начинается на «друг» и имя начинается на «в», без учёта регистра.
При использовании опции -v также выводится id из БД.
Поиск и загрузка книг¶
Использование:
ml-search.py books [-t title] [-s series] [-a archive] [-f file] [--id id] [--surname name] [--name name] [--misc-name name] [--fullname name] [--aid aid] [-e ext] [--eid eid] [--gname name] [--gtitle title] [--gid gid] [-l lang] [--lid lid] [-P path] [-F format] [--get] [--get-many N]
Искать и печатать список книг по заголовку, серии, архиву, имени файла.
Опции:
-t, --title заголовок Искать по заголовку
-s, --series серия Искать по серии
-a, --archive архив Искать по имени архива (zip-файла)
-f, --file файл Искать по имени файла (без расширения)
--id id Искать по id книги
--surname surname Искать по фамилии автора
--name name Искать по имени автора
--misc-name misc. name Искать по доп. имени автора
--fullname name Искать по полному имени автора
--aid aid Искать по id автора
-e, --ext ext Искать по расширению имени файла
--eid eid Искать по id расширения
--gname name Искать по названию жанра
--gtitle title Искать по заголовку жанра
--gid gid Искать по id жанра
-l, --lang lang Искать по языку
--lid lid Искать по id языка
--filters Использовать фильтры из файла конфигурации
-P, --path path Путь к директории с архивами библиотеки
--download-to [path] Путь к директории для сохранения книг
-F, --format format Формат имени сохраняемого файла
--get Загрузить ровно один файл
--get-many N Загрузить не больше указанного числа файлов
По умолчанию программы выводит список заголовков найденных книг. При использовании опции -v также выводится id из БД, список авторов и жанров, а также серия, к которой принадлежит книга (если принадлежит) и порядковый номер книги в этой серии. С двумя опциями -v (-v -v или просто -vv) программа выводит дату файла и язык. С тремя -v выводятся имя архива, имя файла, расширение и размер файла, и признак, была ли книга помечена как удалённая.
Опция -P задаёт путь к директории с архивами библиотеки. По умолчанию этот путь берётся из файла конфигурации, секция [library], ключ path, например:
[library]
path = /var/lib/archives
Опция полезна в ситуации работы с несколькими базами данных (глобальная опция -D).
Опция –filters включает использование фильтров из файла конфигурации. Фильтры записываются следующим образом:
[filters]
lang = en ru
deleted = 0
Фильтр lang перечисляет список языков, которыми будет ограничен поиск. Фильтр deleted — это флаг 0/1; 0 означает, что удалённые книги не будут найдены.
Опция –download-to задаёт путь к директории для сохранения книг. По умолчанию скрипт сохраняет книги в текущую директорию. Если опция используется без указания аргумента path скрипт использует значение из файла конфигурации, секция [download], ключ path:
[download]
path = /tmp
Опция –get позволяет загрузить книгу из библиотеки в файл. Опция позволяет загрузить ровно одну книгу, поэтому самый простой способ использовать эту команду — совместно с опцией –id. Файл сохраняется в текущую директорию с тем именем, под которым он храниться в библиотеке.
Ключ format в секции [download] файла конфигурации
позволяет управлять именами директорий и именем файла, куда m_Librarian будет сохранять файлы. Формат по умолчанию %f, т.е. просто имя файла. Другие доступные спецификаторы:
%a - автор (один из, если их несколько)
%e - расширение имени файла
%f - имя файла
%G - жанр (один из, если их несколько), имя из БД
%g - жанр (один из, если их несколько), название
%l - язык
%n - номер в серии (или 0)
%s - серия
%t - название
Формат не должен заканчиваться на разделитель директорий (/ или \). Если спецификатор %e (расширение) не найден в формате, он добавляется в конец с точкой в качестве разделителя. Т.о. формат %f эквивалентен формату %f.%e.
Опция -F|–format format позволяет указать формат в командной строке.
Опция –get-many N позволяет загрузить указанное число книг (не больше чем N, где N — целое число.) Опции –get-many N и –get взаимно исключают друг друга и не должны использоваться одновременно.
Поиск расширений¶
Использование:
ml-search.py ext [name] [--id id]
Опции:
--id id Искать по id расширения
Искать и печатать список расширений имён файлов по имени.
При использовании опции -v также выводится id из БД.
Поиск жанров¶
Использование:
ml-search.py genres [-n name] [-t title] [--id id]
Искать и печатать список жанров по имени и заголовку.
Опции:
-n, --name имя Искать по названию
-t, --title заголовок Искать по заголовку
--id id Искать по id жанра
При использовании опции -v также выводится id из БД.
Поиск языков¶
Использование:
ml-search.py lang [name] [--id id]
Опции:
--id id Искать по id языка
Искать и печатать список языков по имени.
При использовании опции -v также выводится id из БД.
ml-web.py¶
Использование:
ml-web.py [-p port]
Опции:
-p, --port port Порт протокола HTTP
Запускает web-сервер. Если указан порт, то используется указанный порт. Иначе выбирается случайный порт из числа свободных. Программа запускает браузер (или открывает новое окно уже запущенного web-обозревателя) с адресом, указывающим на сервер.
Если одна копия программы уже запущена, а пользователь запустил вторую, вторая копия определяет наличие первой, запускает браузер с адресом первого web-сервера и останавливается.