]> git.phdru.name Git - m_librarian.git/blobdiff - docs/command_line.rst
Docs: Update TODO
[m_librarian.git] / docs / command_line.rst
index da05ed2ba537dd95ada4953d536d0b63eb2384b0..e7421435d057888d960c3f2fdbecad65c44462a7 100644 (file)
@@ -6,17 +6,19 @@ Command-line scripts
 .. contents::
    :local:
 
 .. contents::
    :local:
 
+.. highlight:: none
 
 ml-initdb.py
 ------------
 
 Usage::
 
 
 ml-initdb.py
 ------------
 
 Usage::
 
-    ml-initdb.py [-d]
+    ml-initdb.py [-C] [-D]
 
 Options::
 
 
 Options::
 
-    -d, --database database  Open this database by pathname/db uri
+    -C, --config config      Configuration file
+    -D, --database database  Open this database by pathname/db uri
 
 Initialize database and import genres list. Isn’t really needed as
 the next script does all that too.
 
 Initialize database and import genres list. Isn’t really needed as
 the next script does all that too.
@@ -27,11 +29,13 @@ ml-import.py
 
 Usage::
 
 
 Usage::
 
-    ml-import.py [-d] [file.inpx ...]
+    ml-import.py [-C] [-D] [-P] [file.inpx ...]
 
 Options::
 
 
 Options::
 
-    -d, --database database  Open this database by pathname/db uri
+    -C, --config config      Configuration file
+    -D, --database database  Open this database by pathname/db uri
+    -P, --no-pbar            Inhibit progress bar
 
 Initialize database, import genres list and import a list of INPX files
 listed in the command line. On subsequent runs doesn’t destroy DB or
 
 Initialize database, import genres list and import a list of INPX files
 listed in the command line. On subsequent runs doesn’t destroy DB or
@@ -43,14 +47,15 @@ ml-search.py
 
 Usage::
 
 
 Usage::
 
-    ml-search.py [-d] [-i] [-I] [-t] [-s] [-f] [-v] [-c] ...
+    ml-search.py [-C] [-D] [-i] [-I] [-t] [-s] [-f] [-v] [-c] ...
 
 Search through the database and display results. Currently can only
 search authors by name.
 
 Global options::
 
 
 Search through the database and display results. Currently can only
 search authors by name.
 
 Global options::
 
-    -d, --database database  Open this database by pathname/db uri
+    -C, --config config      Configuration file
+    -D, --database database  Open this database by pathname/db uri
     -i, --ignore-case        ignore case (default is to guess)
     -I, --case-sensitive     don’t ignore case
     -t, --start              search type: substring at the start
     -i, --ignore-case        ignore case (default is to guess)
     -I, --case-sensitive     don’t ignore case
     -t, --start              search type: substring at the start
@@ -113,12 +118,12 @@ name starts with "mack", case insensitive.
 With one option `-v` it also prints database id.
 
 
 With one option `-v` it also prints database id.
 
 
-Book search
-^^^^^^^^^^^
+Book searching and downloading
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 Usage::
 
 
 Usage::
 
-    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]
+    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]
 
 Search and print a list of books by title, series, archive or file name.
 
 
 Search and print a list of books by title, series, archive or file name.
 
@@ -141,6 +146,13 @@ Options::
     --gid gid              Search by genre’s id
     -l, --lang lang        Search by language
     --lid lid              Search by language’s id
     --gid gid              Search by genre’s id
     -l, --lang lang        Search by language
     --lid lid              Search by language’s id
+    --filters              Use filters from config
+    -P, --path path        Path to the directory with the library
+                           archives
+    --download-to [path]   Download directory
+    -F, --format format    Format of the downloaded file name
+    --get                  Download exactly one book
+    --get-many N           Download at most this many books
 
 By default the program prints only titles of the found book. With one
 option `-v` it also prints database id, the list of authors and genres,
 
 By default the program prints only titles of the found book. With one
 option `-v` it also prints database id, the list of authors and genres,
@@ -150,6 +162,68 @@ it also prints the file date and language. With three `-v` it prints
 archive name, file name, extension and size, and flag if the book is
 marked to be deleted.
 
 archive name, file name, extension and size, and flag if the book is
 marked to be deleted.
 
+Option `-P` provides the path to the directory with the library
+archives. By default the path is extracted from configuration file,
+section `[library]`, key `path`::
+
+    [library]
+    path = /var/lib/archives
+
+The option is useful for multiple databases (global option `-D`).
+
+Option `--filters` turns on using filters from config. Currently there
+are two kind of filters: filters on languages and filter on flag
+`deleted`. They are defined in the config file the following way::
+
+    [filters]
+    lang = en ru
+    deleted = 0
+
+`lang` filters is a list of language codes separated by a space.
+`deleted` is a 0/1 flag; 0 hides deleted books from search.
+
+Option `--download-to` provides the path to the download directory.
+By default the script downloads books to the current directory.
+If the option is used without `path` argument the path is extracted from
+configuration file, section `[download]`, key `path`::
+
+    [download]
+    path = /tmp
+
+Option `--get` allows to download a book from the library to a local
+file. The option allows to download exactly one book. The simplest way
+to use it is via option `--id`. The file is downloaded into the current
+directory with the name from the library.
+
+Configuration key
+
+|    [download]
+|    format = %a/%s/%n %t
+
+allows to set format for the download file pathname. Default format is
+`%f`, i.e. just filename. Other format specifiers are::
+
+    %a - author (one of if many)
+    %e - file extension
+    %f - file name in archive
+    %G - genre (one of if many), name
+    %g - genre (one of if many), title
+    %l - language
+    %n - series number (or 0)
+    %s - series
+    %t - title
+
+Format must not end in directory separator (`/` or `\\`). If specifier
+`%e` (extension) is not found in the format it is appended
+unconditionally with a dot. That is, format `%f` is equivalent to
+`%f.%e`.
+
+Option `-F|--format format` allows to overwrite this configuration value.
+
+Option `--get-many N` allows to download many books (at most N, where N
+is an integer). Options `--get-many N` and `--get` are, of course,
+mutually incompatible.
+
 
 Extension search
 ^^^^^^^^^^^^^^^^
 
 Extension search
 ^^^^^^^^^^^^^^^^
@@ -200,4 +274,23 @@ Options::
 
 With one option `-v` it also prints database id.
 
 
 With one option `-v` it also prints database id.
 
+
+ml-web.py
+------------
+
+Usage::
+
+    ml-web.py [-p port]
+
+Options::
+
+    -p, --port port      HTTP port to listen to
+
+Run a web server. If a port is given listens on the given port else
+chooses a random port. Starts a browser (or open a new window of a
+running browser) pointing it to the server.
+
+If the program is already running the second instance detects the first
+one, starts a browser pointing to running instance and exits.
+
 .. vim: set tw=72 :
 .. vim: set tw=72 :