]> git.phdru.name Git - m_librarian.git/blobdiff - scripts/ml-search.py
Feat(ml-search.py): Option `--download-to`
[m_librarian.git] / scripts / ml-search.py
index 5ee84ccd1e19c6b390c6a1cede087d3cfc3f4635..e6cde27184ac6b593e44ba0b21f47f43cea1de47 100755 (executable)
@@ -2,6 +2,10 @@
 
 from __future__ import print_function
 import argparse
+try:
+    from configparser import NoSectionError, NoOptionError
+except ImportError:  # Python 2
+    from ConfigParser import NoSectionError, NoOptionError
 import os
 import sys
 from sqlobject.sqlbuilder import CONCAT
@@ -200,7 +204,13 @@ def _search_books(case_sensitive, search_type, args):
             print(" ", encode(_("Deleted")), ":",
                   encode(_(str(book.deleted))))
         if args.get or args.get_many:
-            download(book, os.path.curdir, args.path, args.format)
+            download_to = args.download_to
+            if download_to is None:
+                try:
+                    download_to = get_config().get('download', 'path')
+                except (NoSectionError, NoOptionError):
+                    download_to = os.path.curdir
+            download(book, download_to, args.path, args.format)
         count += 1
     print_count(count)
 
@@ -323,6 +333,9 @@ if __name__ == '__main__':
     parser.add_argument('-l', '--lang', help='search by language')
     parser.add_argument('--lid', type=int, help='search by language\'s id')
     parser.add_argument('-P', '--path', help='path to the library archives')
+    parser.add_argument('--download-to', nargs='?',
+                        const=None, default=os.path.curdir,
+                        help='download directory')
     parser.add_argument('-F', '--format',
                         help='download format, default is %%f')
     parser.add_argument('--get', action='store_true',