X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=docs%2Fcommand_line.rst;h=e7421435d057888d960c3f2fdbecad65c44462a7;hb=HEAD;hp=53fe92664797c1129b8ce15cf97bc77f0a8c2535;hpb=6bd9bb41bc381bb2b30290f0135e96c5ff0911c4;p=m_librarian.git diff --git a/docs/command_line.rst b/docs/command_line.rst index 53fe926..e742143 100644 --- a/docs/command_line.rst +++ b/docs/command_line.rst @@ -6,10 +6,20 @@ Command-line scripts .. contents:: :local: +.. highlight:: none ml-initdb.py ------------ +Usage:: + + ml-initdb.py [-C] [-D] + +Options:: + + -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. @@ -19,7 +29,13 @@ ml-import.py Usage:: - ml-import.py [file.inpx ...] + ml-import.py [-C] [-D] [-P] [file.inpx ...] + +Options:: + + -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 @@ -31,22 +47,24 @@ ml-search.py Usage:: - ml-search.py [-i] [-I] [-t] [-s] [-f] [-d] [-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:: - -i, --ignore-case ignore case (default is to guess) - -I, --case-sensitive don’t ignore case - -t, --start search type: substring at the start - (this is the default) - -s, --substring search type: substring anywhere - -f, --full search type: match the full string - -d, --details Output more details about found objects; - repeat for even more details - -c, --count Output count of found objects + -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 + (this is the default) + -s, --substring search type: substring anywhere + -f, --full search type: match the full string + -c, --count Output count of found objects + -v, --verbose Output more details about found objects; + repeat for even more details Options ``-i/-I`` cannot be used together as they are the opposite. In case none of them are used the program guesses case-sensitivity by @@ -71,7 +89,7 @@ Author search Usage:: - ml-search.py [-i/-I] [-t/-s/-f] author [-s surname] [-n name] [-m misc-name] [fullname] + ml-search.py author [-s surname] [-n name] [-m misc-name] [--id id] [fullname] Search and print a list of authors by surname/name/misc name/full name. @@ -80,6 +98,7 @@ Options:: -s, --surname surname Search by surname -n, --name name Search by name -m, --misc-name misc. name Search by misc. name + --id id Search by database id Example:: @@ -96,15 +115,15 @@ Example:: Search and print a list of authors whose surname starts with "duck" and name starts with "mack", case insensitive. -With one option `-d` it also prints database id. +With one option `-v` it also prints database id. -Book search -^^^^^^^^^^^ +Book searching and downloading +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Usage:: - ml-search.py [-i/-I] [-t/-s/-f] books [-t title] [-s series] [-a archive] [-f file] [--surname name] [--name name] [--misc-name name] [--fullname name] [-e ext] [--gname name] [--gtitle title] [-l lang] + 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. @@ -114,34 +133,112 @@ Options:: -s, --series series Search by series -a, --archive archive Search by archive (zip file) -f, --file file Search by file name (without extension) + --id id Search by database id --surname surname Search by author’s surname --name name Search by author’s name --misc-name misc. name Search by author’s misc. name --fullname name Search by author’s full name + --aid aid Search by author’s id -e, --ext ext Search by file extension + --eid eid Search by extension’s id --gname name Search by genre’s name --gtitle title Search by genre’s title + --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 `-d` it also prints database id, the list of authors and genres, +option `-v` it also prints database id, the list of authors and genres, and also series the book belongs to (if any) and the serial number of -the book in the series. With two options `-d` (`-d -d` or simply `-dd`) -it also prints the file date and language. With three `-d` it prints +the book in the series. With two options `-v` (`-v -v` or simply `-vv`) +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. +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 ^^^^^^^^^^^^^^^^ Usage:: - ml-search.py [-i/-I] [-t/-s/-f] ext [name] + ml-search.py ext [name] [--id id] + +Options:: + + --id id Search by database id Search and print a list of extensions by name. -With one option `-d` it also prints database id. +With one option `-v` it also prints database id. Genres search @@ -149,7 +246,7 @@ Genres search Usage:: - ml-search.py [-i/-I] [-t/-s/-f] genres [-n name] [-t title] + ml-search.py genres [-n name] [-t title] [--id id] Search and print a list of genres by name and title. @@ -157,8 +254,9 @@ Options:: -n, --name name Search by name -t, --title title Search by title + --id id Search by database id -With one option `-d` it also prints database id. +With one option `-v` it also prints database id. Language search @@ -166,10 +264,33 @@ Language search Usage:: - ml-search.py [-i/-I] [-t/-s/-f] lang [name] + ml-search.py lang [name] [--id id] Search and print a list of languages by name. -With one option `-d` it also prints database id. +Options:: + + --id id Search by 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 :