]> git.phdru.name Git - m_librarian.git/blobdiff - scripts/ml-search.py
Feat(config): Environment variables are expanded in paths
[m_librarian.git] / scripts / ml-search.py
index fe8dc48be67140af19d63108f9b96474be8fcb74..24db982fafb1b4cf80ef45741e0ec1d5b76380f5 100755 (executable)
@@ -2,6 +2,7 @@
 
 from __future__ import print_function
 import argparse
+import os
 import sys
 from sqlobject.sqlbuilder import CONCAT
 
@@ -152,7 +153,8 @@ def _search_books(case_sensitive, search_type, args):
             Language, search_type, case_sensitive, lvalues)
         join_expressions.extend(conditions)
     books = search_books(search_type, case_sensitive, values, join_expressions,
-                         orderBy=('series', 'ser_no', 'title'))
+                         orderBy=('series', 'ser_no', 'title'),
+                         use_filters=args.filters)
     if args.count:
         print_count(books.count())
         return
@@ -199,7 +201,10 @@ def _search_books(case_sensitive, search_type, args):
             print(" ", encode(_("Deleted")), ":",
                   encode(_(str(book.deleted))))
         if args.get or args.get_many:
-            download(book, args.path, args.format)
+            download_to = args.download_to
+            if download_to is None:
+                download_to = get_config().getpath('download', 'path')
+            download(book, download_to, args.path, args.format)
         count += 1
     print_count(count)
 
@@ -321,7 +326,12 @@ if __name__ == '__main__':
     parser.add_argument('--gid', type=int, help='search by genre\'s id')
     parser.add_argument('-l', '--lang', help='search by language')
     parser.add_argument('--lid', type=int, help='search by language\'s id')
+    parser.add_argument('--filters', action='store_true',
+                        help='use filters from config')
     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',