11#!/usr/bin/env python3
22
33import argparse
4+ import errno
45import sys
56from pathlib import Path
67
@@ -16,7 +17,7 @@ def main():
1617 parser ._optionals .title = 'Arguments'
1718
1819 parser .add_argument ('-v' , '--version' , action = 'version' , version = f"%(prog)s { __version__ } " )
19- parser .add_argument ('-V' , '--verbose' , action = 'store_true' , help = "increase output verbosity" )
20+ parser .add_argument ('-V' , '--verbose' , default = True , action = argparse . BooleanOptionalAction , help = "increase output verbosity" )
2021
2122 subparser = parser .add_subparsers (dest = 'command' )
2223
@@ -28,7 +29,7 @@ def main():
2829 preview_parser .add_argument ('--id' , type = int , nargs = '+' , required = True , help = "magic number" )
2930
3031 args = parser .parse_args ()
31-
32+
3233 if args .command == 'download' :
3334 count = len (args .id )
3435 for id_ in args .id :
@@ -38,9 +39,9 @@ def main():
3839 except HTTPError as error :
3940 print (f"\033 [31mDownloadError:\033 [0m { error } " , file = sys .stderr )
4041 count -= 1
41- if count : print ( f"Stored { count } doujin { 's' if count > 1 else '' } in { str ( args . dest )!r } " )
42-
43- if args .command == 'preview' :
42+ if count :
43+ print ( f"Stored { count } doujin { 's' if count > 1 else '' } in { str ( args . dest )!r } " )
44+ elif args .command == 'preview' :
4445 for id_ in args .id :
4546 try :
4647 doujin = Hentai (id_ )
@@ -50,6 +51,9 @@ def main():
5051 print (f"pages:\t { doujin .num_pages } " , end = '\n \n ' if id_ != len (args .id ) else '' )
5152 except HTTPError as error :
5253 print (f"\033 [31mPreviewError:\033 [0m { error } " , file = sys .stderr )
54+ else :
55+ parser .print_help (sys .stderr )
56+ sys .stderr (errno .EINVAL )
5357
5458if __name__ == '__main__' :
5559 main ()
0 commit comments