]> git.phdru.name Git - m_librarian.git/blob - docs-ru/command_line.rst
Feat(search): Использовать фильтры из файла конфигурации
[m_librarian.git] / docs-ru / command_line.rst
1
2 Скрипты командной строки
3 ========================
4
5
6 .. contents::
7    :local:
8
9 .. highlight:: none
10
11 ml-initdb.py
12 ------------
13
14 Использование::
15
16     ml-initdb.py [-C] [-D]
17
18 Опции::
19
20     -C, --config config      Путь к файлу конфигурации
21     -D, --database database  Использовать указанную БД
22
23 Инициализирует базу данных и импортирует список жанров. Этот скрипт не
24 очень-то нужен, так как следующий скрипт делает всё указанное.
25
26
27 ml-import.py
28 ------------
29
30 Использование::
31
32     ml-import.py [-C] [-D] [-P] [file.inpx ...]
33
34 Опции::
35
36     -C, --config config      Путь к файлу конфигурации
37     -D, --database database  Использовать указанную БД
38     -P, --no-pbar            Не показывать индикатор процесса
39
40 Инициализирует базу данных, импортирует список жанров и список файлов
41 INPX, перечисленных в командной строке. При повторных запусках не
42 переинициализирует БД и не переимпортирует жанры; так же не
43 переимпортирует уже проимпортированные книги, но импортирует в БД новые.
44
45
46 ml-search.py
47 ------------
48
49 Использование::
50
51     ml-search.py [-C] [-D] [-i] [-I] [-t] [-s] [-f] [-v] [-c] ...
52
53 Программа выполняет поиск по базе данных и показывает список
54 результатов. В настоящее время может искать только в списке авторов.
55
56 Глобальные опции::
57
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              Выводить число найденных объектов, а не сами
67                              объекты
68     -v, --verbose            Выводить больше информации о найденных
69                              объектах; повторите эту опцию несколько раз,
70                              чтобы получить ещё больше деталей
71
72 Опции ``-i/-I`` не могут использованы одновременно, поскольку означают
73 противоположные команды. В случае, если ни одна из них не использована,
74 программа угадывает зависимость от регистра: если все параметры даны в
75 нижнем регистре, программы выполнит поиск без учёта регистра. Если среди
76 параметров есть параметры в ВЕРХНЕМ или Смешанном регистре - поиск будет
77 с учётом регистра.
78
79 Опции ``-t/-s/-f`` определяют тип поиска. Возможные значения:
80
81 * start - поиск подстроки в начале поля; поиск "друг" найдёт "друг" и
82   "другой", но не "подруга"; это тип по умолчанию;
83 * substring - поиск подстроки в любом месте; поиск "друг" найдёт "друг",
84   "другой" и "подруга".
85 * full - поиск на точное совпадение всей строки; поиск "друг" найдёт
86   только "друг", но не "другой";
87
88
89 Поиск авторов
90 ^^^^^^^^^^^^^
91
92 Использование::
93
94     ml-search.py author [-s surname] [-n name] [-m misc-name] [--id id] [fullname]
95
96 Искать и печатать список авторов по фамилии, имени, доп. имени (обычно
97 отчеству) или полному имени.
98
99 Опции::
100
101     -s, --surname фамилия       Искать по фамилии
102     -n, --name имя              Искать по имени
103     -m, --misc-name доп. имени  Искать по доп. имени
104     --id id                     Искать по id автора
105
106 Пример::
107
108     ml-search.py -i author -s друг
109
110 Искать и печатать список авторов, чья фамилия начинается на "друг", без
111 учёта регистра.
112
113 Если использовать несколько опций, поиск будет сужен оператором "И".
114 Пример::
115
116     ml-search.py -i author -s друг -n в
117
118 Искать и печатать список авторов, чья фамилия начинается на "друг" и имя
119 начинается на "в", без учёта регистра.
120
121 При использовании опции `-v` также выводится id из БД.
122
123
124 Поиск и загрузка книг
125 ^^^^^^^^^^^^^^^^^^^^^
126
127 Использование::
128
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]
130
131 Искать и печатать список книг по заголовку, серии, архиву, имени файла.
132
133 Опции::
134
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           Загрузить не больше указанного числа файлов
158
159 По умолчанию программы выводит список заголовков найденных книг. При
160 использовании опции `-v` также выводится id из БД, список авторов и
161 жанров, а также серия, к которой принадлежит книга (если принадлежит) и
162 порядковый номер книги в этой серии. С двумя опциями `-v` (`-v -v` или
163 просто `-vv`) программа выводит дату файла и язык. С тремя `-v`
164 выводятся имя архива, имя файла, расширение и размер файла, и признак,
165 была ли книга помечена как удалённая.
166
167 Опция `-P` задаёт путь к директории с архивами библиотеки. По умолчанию
168 этот путь берётся из файла конфигурации, секция `[library]`, ключ
169 `path`, например::
170
171     [library]
172     path = /var/lib/archives
173
174 Опция полезна в ситуации работы с несколькими базами данных (глобальная
175 опция `-D`).
176
177 Опция `--filters` включает использование фильтров из файла конфигурации.
178 Фильтры записываются следующим образом::
179
180     [filters]
181     lang = en ru
182     deleted = 0
183
184 Фильтр `lang` перечисляет список языков, которыми будет ограничен поиск.
185 Фильтр `deleted` — это флаг 0/1; 0 означает, что удалённые книги не
186 будут найдены.
187
188 Опция `--download-to` задаёт путь к директории для сохранения книг.
189 По умолчанию скрипт сохраняет книги в текущую директорию.
190 Если опция используется без указания аргумента `path` скрипт использует
191 значение из файла конфигурации, секция `[download]`, ключ `path`::
192
193     [download]
194     path = /tmp
195
196 Опция `--get` позволяет загрузить книгу из библиотеки в файл. Опция
197 позволяет загрузить ровно одну книгу, поэтому самый простой способ
198 использовать эту команду — совместно с опцией `--id`. Файл сохраняется в
199 текущую директорию с тем именем, под которым он храниться в библиотеке.
200
201 Ключ `format` в секции `[download]` файла конфигурации
202
203 |    [download]
204 |    format = %a/%s/%n %t
205
206 позволяет управлять именами директорий и именем файла, куда m_Librarian
207 будет сохранять файлы. Формат по умолчанию `%f`, т.е. просто имя файла.
208 Другие доступные спецификаторы::
209
210     %a - автор (один из, если их несколько)
211     %e - расширение имени файла
212     %f - имя файла
213     %G - жанр (один из, если их несколько), имя из БД
214     %g - жанр (один из, если их несколько), название
215     %l - язык
216     %n - номер в серии (или 0)
217     %s - серия
218     %t - название
219
220 Формат не должен заканчиваться на разделитель директорий (`/` или `\\`).
221 Если спецификатор `%e` (расширение) не найден в формате, он добавляется
222 в конец с точкой в качестве разделителя. Т.о. формат `%f` эквивалентен
223 формату `%f.%e`.
224
225 Опция `-F|--format format` позволяет указать формат в командной строке.
226
227 Опция `--get-many N` позволяет загрузить указанное число книг (не больше
228 чем N, где N — целое число.) Опции `--get-many N` и `--get` взаимно
229 исключают друг друга и не должны использоваться одновременно.
230
231
232 Поиск расширений
233 ^^^^^^^^^^^^^^^^
234
235 Использование::
236
237     ml-search.py ext [name] [--id id]
238
239 Опции::
240
241     --id id                Искать по id расширения
242
243 Искать и печатать список расширений имён файлов по имени.
244
245 При использовании опции `-v` также выводится id из БД.
246
247
248 Поиск жанров
249 ^^^^^^^^^^^^
250
251 Использование::
252
253     ml-search.py genres [-n name] [-t title] [--id id]
254
255 Искать и печатать список жанров по имени и заголовку.
256
257 Опции::
258
259     -n, --name имя         Искать по названию
260     -t, --title заголовок  Искать по заголовку
261     --id id                Искать по id жанра
262
263 При использовании опции `-v` также выводится id из БД.
264
265
266 Поиск языков
267 ^^^^^^^^^^^^
268
269 Использование::
270
271     ml-search.py lang [name] [--id id]
272
273 Опции::
274
275     --id id                Искать по id языка
276
277 Искать и печатать список языков по имени.
278
279 При использовании опции `-v` также выводится id из БД.
280
281
282 ml-web.py
283 ------------
284
285 Использование::
286
287     ml-web.py [-p port]
288
289 Опции::
290
291     -p, --port port      Порт протокола HTTP
292
293 Запускает web-сервер. Если указан порт, то используется указанный порт.
294 Иначе выбирается случайный порт из числа свободных. Программа запускает
295 браузер (или открывает новое окно уже запущенного web-обозревателя) с
296 адресом, указывающим на сервер.
297
298 Если одна копия программы уже запущена, а пользователь запустил вторую,
299 вторая копия определяет наличие первой, запускает браузер с адресом
300 первого web-сервера и останавливается.
301
302 .. vim: set tw=72 :