2 Скрипты командной строки
3 ========================
16 ml-initdb.py [-C] [-D]
20 -C, --config config Путь к файлу конфигурации
21 -D, --database database Использовать указанную БД
23 Инициализирует базу данных и импортирует список жанров. Этот скрипт не
24 очень-то нужен, так как следующий скрипт делает всё указанное.
32 ml-import.py [-C] [-D] [-P] [file.inpx ...]
36 -C, --config config Путь к файлу конфигурации
37 -D, --database database Использовать указанную БД
38 -P, --no-pbar Не показывать индикатор процесса
40 Инициализирует базу данных, импортирует список жанров и список файлов
41 INPX, перечисленных в командной строке. При повторных запусках не
42 переинициализирует БД и не переимпортирует жанры; так же не
43 переимпортирует уже проимпортированные книги, но импортирует в БД новые.
51 ml-search.py [-C] [-D] [-i] [-I] [-t] [-s] [-f] [-v] [-c] ...
53 Программа выполняет поиск по базе данных и показывает список
54 результатов. В настоящее время может искать только в списке авторов.
58 -C, --config config Путь к файлу конфигурации
59 -D, --database database Использовать указанную БД
60 -i, --ignore-case независимо от регистра (по умолчанию: угадать)
61 -I, --case-sensitive с учётом регистра
62 -t, --start тип поиска: подстрока в начале строки
63 (это тип поиска по умолчанию)
64 -s, --substring тип поиска: подстрока в любом месте
65 -f, --full тип поиска: полное совпадение всей строки
66 -c, --count Выводить число найденных объектов, а не сами
68 -v, --verbose Выводить больше информации о найденных
69 объектах; повторите эту опцию несколько раз,
70 чтобы получить ещё больше деталей
72 Опции ``-i/-I`` не могут использованы одновременно, поскольку означают
73 противоположные команды. В случае, если ни одна из них не использована,
74 программа угадывает зависимость от регистра: если все параметры даны в
75 нижнем регистре, программы выполнит поиск без учёта регистра. Если среди
76 параметров есть параметры в ВЕРХНЕМ или Смешанном регистре - поиск будет
79 Опции ``-t/-s/-f`` определяют тип поиска. Возможные значения:
81 * start - поиск подстроки в начале поля; поиск "друг" найдёт "друг" и
82 "другой", но не "подруга"; это тип по умолчанию;
83 * substring - поиск подстроки в любом месте; поиск "друг" найдёт "друг",
85 * full - поиск на точное совпадение всей строки; поиск "друг" найдёт
86 только "друг", но не "другой";
94 ml-search.py author [-s surname] [-n name] [-m misc-name] [--id id] [fullname]
96 Искать и печатать список авторов по фамилии, имени, доп. имени (обычно
97 отчеству) или полному имени.
101 -s, --surname фамилия Искать по фамилии
102 -n, --name имя Искать по имени
103 -m, --misc-name доп. имени Искать по доп. имени
104 --id id Искать по id автора
108 ml-search.py -i author -s друг
110 Искать и печатать список авторов, чья фамилия начинается на "друг", без
113 Если использовать несколько опций, поиск будет сужен оператором "И".
116 ml-search.py -i author -s друг -n в
118 Искать и печатать список авторов, чья фамилия начинается на "друг" и имя
119 начинается на "в", без учёта регистра.
121 При использовании опции `-v` также выводится id из БД.
124 Поиск и загрузка книг
125 ^^^^^^^^^^^^^^^^^^^^^
129 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]
131 Искать и печатать список книг по заголовку, серии, архиву, имени файла.
135 -t, --title заголовок Искать по заголовку
136 -s, --series серия Искать по серии
137 -a, --archive архив Искать по имени архива (zip-файла)
138 -f, --file файл Искать по имени файла (без расширения)
139 --id id Искать по id книги
140 --surname surname Искать по фамилии автора
141 --name name Искать по имени автора
142 --misc-name misc. name Искать по доп. имени автора
143 --fullname name Искать по полному имени автора
144 --aid aid Искать по id автора
145 -e, --ext ext Искать по расширению имени файла
146 --eid eid Искать по id расширения
147 --gname name Искать по названию жанра
148 --gtitle title Искать по заголовку жанра
149 --gid gid Искать по id жанра
150 -l, --lang lang Искать по языку
151 --lid lid Искать по id языка
152 --filters Использовать фильтры из файла конфигурации
153 -P, --path path Путь к директории с архивами библиотеки
154 --download-to [path] Путь к директории для сохранения книг
155 -F, --format format Формат имени сохраняемого файла
156 --get Загрузить ровно один файл
157 --get-many N Загрузить не больше указанного числа файлов
159 По умолчанию программы выводит список заголовков найденных книг. При
160 использовании опции `-v` также выводится id из БД, список авторов и
161 жанров, а также серия, к которой принадлежит книга (если принадлежит) и
162 порядковый номер книги в этой серии. С двумя опциями `-v` (`-v -v` или
163 просто `-vv`) программа выводит дату файла и язык. С тремя `-v`
164 выводятся имя архива, имя файла, расширение и размер файла, и признак,
165 была ли книга помечена как удалённая.
167 Опция `-P` задаёт путь к директории с архивами библиотеки. По умолчанию
168 этот путь берётся из файла конфигурации, секция `[library]`, ключ
172 path = /var/lib/archives
174 Опция полезна в ситуации работы с несколькими базами данных (глобальная
177 Опция `--filters` включает использование фильтров из файла конфигурации.
178 Фильтры записываются следующим образом::
184 Фильтр `lang` перечисляет список языков, которыми будет ограничен поиск.
185 Фильтр `deleted` — это флаг 0/1; 0 означает, что удалённые книги не
188 Опция `--download-to` задаёт путь к директории для сохранения книг.
189 По умолчанию скрипт сохраняет книги в текущую директорию.
190 Если опция используется без указания аргумента `path` скрипт использует
191 значение из файла конфигурации, секция `[download]`, ключ `path`::
196 Опция `--get` позволяет загрузить книгу из библиотеки в файл. Опция
197 позволяет загрузить ровно одну книгу, поэтому самый простой способ
198 использовать эту команду — совместно с опцией `--id`. Файл сохраняется в
199 текущую директорию с тем именем, под которым он храниться в библиотеке.
201 Ключ `format` в секции `[download]` файла конфигурации
204 | format = %a/%s/%n %t
206 позволяет управлять именами директорий и именем файла, куда m_Librarian
207 будет сохранять файлы. Формат по умолчанию `%f`, т.е. просто имя файла.
208 Другие доступные спецификаторы::
210 %a - автор (один из, если их несколько)
211 %e - расширение имени файла
213 %G - жанр (один из, если их несколько), имя из БД
214 %g - жанр (один из, если их несколько), название
216 %n - номер в серии (или 0)
220 Формат не должен заканчиваться на разделитель директорий (`/` или `\\`).
221 Если спецификатор `%e` (расширение) не найден в формате, он добавляется
222 в конец с точкой в качестве разделителя. Т.о. формат `%f` эквивалентен
225 Опция `-F|--format format` позволяет указать формат в командной строке.
227 Опция `--get-many N` позволяет загрузить указанное число книг (не больше
228 чем N, где N — целое число.) Опции `--get-many N` и `--get` взаимно
229 исключают друг друга и не должны использоваться одновременно.
237 ml-search.py ext [name] [--id id]
241 --id id Искать по id расширения
243 Искать и печатать список расширений имён файлов по имени.
245 При использовании опции `-v` также выводится id из БД.
253 ml-search.py genres [-n name] [-t title] [--id id]
255 Искать и печатать список жанров по имени и заголовку.
259 -n, --name имя Искать по названию
260 -t, --title заголовок Искать по заголовку
261 --id id Искать по id жанра
263 При использовании опции `-v` также выводится id из БД.
271 ml-search.py lang [name] [--id id]
275 --id id Искать по id языка
277 Искать и печатать список языков по имени.
279 При использовании опции `-v` также выводится id из БД.
291 -p, --port port Порт протокола HTTP
293 Запускает web-сервер. Если указан порт, то используется указанный порт.
294 Иначе выбирается случайный порт из числа свободных. Программа запускает
295 браузер (или открывает новое окно уже запущенного web-обозревателя) с
296 адресом, указывающим на сервер.
298 Если одна копия программы уже запущена, а пользователь запустил вторую,
299 вторая копия определяет наличие первой, запускает браузер с адресом
300 первого web-сервера и останавливается.