]> git.phdru.name Git - m_librarian.git/commitdiff
Allow to list all extensions and genres
authorOleg Broytman <phd@phdru.name>
Sat, 14 May 2016 15:11:38 +0000 (18:11 +0300)
committerOleg Broytman <phd@phdru.name>
Sat, 14 May 2016 15:14:57 +0000 (18:14 +0300)
docs-ru/command_line.rst
docs/command_line.rst
m_librarian/db.py
scripts/ml-search.py

index b219022c16fad21cdd414fc9efafb48dacc4dfd0..9a383c415373c96db4a16885ee148a87598aaa7f 100644 (file)
@@ -67,10 +67,10 @@ ml-search.py
 
 Использование::
 
-    ml-search.py [-i] [-I] [-t ...] author [-s surname] [-n name] [-m misc-name]
+    ml-search.py [-i] [-I] [-t ...] author [-s surname] [-n name] [-m misc-name] [fullname]
 
-Искать и печатать список авторов по фамилии, имени и доп. имени (обычно
-отчеству).
+Искать и печатать список авторов по фамилии, имени, доп. имени (обычно
+отчеству) или полному имени.
 
 Опции::
 
@@ -98,7 +98,7 @@ ml-search.py
 
 Использование::
 
-    ml-search.py [-i] [-I] [-t ...] ext name
+    ml-search.py [-i] [-I] [-t ...] ext [name]
 
 Искать и печатать список расширений имён файлов по имени.
 
@@ -121,7 +121,7 @@ ml-search.py
 
 Использование::
 
-    ml-search.py [-i] [-I] [-t ...] lang name
+    ml-search.py [-i] [-I] [-t ...] lang [name]
 
 Искать и печатать список языков по имени.
 
index ca386bd819d0a351b2acd8f9844eedaff3560f3b..4b30eb624524d34c27c876c00c482c241074f25e 100644 (file)
@@ -66,9 +66,9 @@ Author search
 
 Usage::
 
-    ml-search.py [-i] [-I] [-t ...] author [-s surname] [-n name] [-m misc-name]
+    ml-search.py [-i] [-I] [-t ...] author [-s surname] [-n name] [-m misc-name] [fullname]
 
-Search and print a list of authors by surname/name/misc name.
+Search and print a list of authors by surname/name/misc name/full name.
 
 Options::
 
@@ -96,7 +96,7 @@ Extension search
 
 Usage::
 
-    ml-search.py [-i] [-I] [-t ...] ext name
+    ml-search.py [-i] [-I] [-t ...] ext [name]
 
 Search and print a list of extensions by name.
 
@@ -119,7 +119,7 @@ Language search
 
 Usage::
 
-    ml-search.py [-i] [-I] [-t ...] lang name
+    ml-search.py [-i] [-I] [-t ...] lang [name]
 
 Search and print a list of languages by name.
 
index 771fd57270a18a33b1a95bddb76d37cbc75cce7a..7e5744f243e64eabebe14afadd66f768a08e2430 100755 (executable)
@@ -76,7 +76,7 @@ class BookGenre(SQLObject):
 
 
 class Extension(SQLObject):
-    name = StringCol(notNull=True, unique=True)
+    name = UnicodeCol(notNull=True, unique=True)
     count = IntCol(notNull=True)
     count_idx = DatabaseIndex(count)
 
@@ -93,7 +93,7 @@ class Genre(SQLObject):
 
 
 class Language(SQLObject):
-    name = StringCol(notNull=True, unique=True)
+    name = UnicodeCol(notNull=True, unique=True)
     count = IntCol(notNull=True)
     count_idx = DatabaseIndex(count)
 
index e4ae0119fe58127de3b5c43515582063d1eb1ead..2915f51e42cfb795f3e0f1069be8edcc11850143 100755 (executable)
@@ -51,9 +51,12 @@ def _search_authors(case_sensitive, args):
 
 
 def _search_extensions(case_sensitive, args):
-    values = {'name': args.name}
-    if case_sensitive is None:
-        case_sensitive = _guess_case_sensitivity(values)
+    if args.name:
+        values = {'name': args.name}
+        if case_sensitive is None:
+            case_sensitive = _guess_case_sensitivity(values)
+    else:
+        values = {}
     for ext in search_extensions(args.search_type, case_sensitive, values):
         print ext.name.encode(default_encoding), \
             (u"(%s: %d)" % (_('books'), ext.count)).encode(default_encoding)
@@ -76,9 +79,12 @@ def _search_genres(case_sensitive, args):
 
 
 def _search_languages(case_sensitive, args):
-    values = {'name': args.name}
-    if case_sensitive is None:
-        case_sensitive = _guess_case_sensitivity(values)
+    if args.name:
+        values = {'name': args.name}
+        if case_sensitive is None:
+            case_sensitive = _guess_case_sensitivity(values)
+    else:
+        values = {}
     for lang in search_languages(args.search_type, case_sensitive, values):
         print lang.name.encode(default_encoding), \
             (u"(%s: %d)" % (_('books'), lang.count)).encode(default_encoding)
@@ -109,7 +115,7 @@ if __name__ == '__main__':
     parser.set_defaults(func=_search_authors)
 
     parser = subparsers.add_parser('ext', help='Search extensions')
-    parser.add_argument('name', help='search by name')
+    parser.add_argument('name', nargs='?', help='search by name')
     parser.set_defaults(func=_search_extensions)
 
     parser = subparsers.add_parser('genres', help='Search genres')
@@ -118,7 +124,7 @@ if __name__ == '__main__':
     parser.set_defaults(func=_search_genres)
 
     parser = subparsers.add_parser('lang', help='Search languages')
-    parser.add_argument('name', help='search by name')
+    parser.add_argument('name', nargs='?', help='search by name')
     parser.set_defaults(func=_search_languages)
 
     args = main_parser.parse_args()