]> git.lizzy.rs Git - nhentai.git/blobdiff - nhentai/command.py
Merge pull request #21 from mentaterasmus/master
[nhentai.git] / nhentai / command.py
index a0cac082797ededdade39ace8dece6d430b300c9..309306ccda8a6f7ec18edfc7672ad84ebccfbe75 100644 (file)
@@ -1,13 +1,16 @@
 #!/usr/bin/env python2.7
 # coding: utf-8
+from __future__ import unicode_literals, print_function
 import signal
+import platform
 
 from nhentai.cmdline import cmd_parser, banner
-from nhentai.parser import doujinshi_parser, search_parser, print_doujinshi
+from nhentai.parser import doujinshi_parser, search_parser, print_doujinshi, login_parser
 from nhentai.doujinshi import Doujinshi
 from nhentai.downloader import Downloader
 from nhentai.logger import logger
 from nhentai.constant import BASE_URL
+from nhentai.utils import generate_html, generate_cbz
 
 
 def main():
@@ -18,6 +21,12 @@ def main():
     doujinshi_ids = []
     doujinshi_list = []
 
+    if options.login:
+        username, password = options.login.split(':', 1)
+        logger.info('Login to nhentai use credential \'%s:%s\'' % (username, '*' * len(password)))
+        for doujinshi_info in login_parser(username=username, password=password):
+            doujinshi_list.append(Doujinshi(**doujinshi_info))
+
     if options.keyword:
         doujinshis = search_parser(options.keyword, options.page)
         print_doujinshi(doujinshis)
@@ -27,11 +36,9 @@ def main():
         doujinshi_ids = options.id
 
     if doujinshi_ids:
-        for id in doujinshi_ids:
-            doujinshi_info = doujinshi_parser(id)
+        for id_ in doujinshi_ids:
+            doujinshi_info = doujinshi_parser(id_)
             doujinshi_list.append(Doujinshi(**doujinshi_info))
-    else:
-        exit(0)
 
     if not options.is_show:
         downloader = Downloader(path=options.output_dir,
@@ -40,8 +47,15 @@ def main():
         for doujinshi in doujinshi_list:
             doujinshi.downloader = downloader
             doujinshi.download()
+            if not options.is_nohtml and not options.is_cbz:
+                generate_html(options.output_dir, doujinshi)
+            elif options.is_cbz:
+                generate_cbz(options.output_dir, doujinshi)
 
-        logger.log(15, u'🍺 All done.')
+        if not platform.system() == 'Windows':
+            logger.log(15, '? All done.')
+        else:
+            logger.log(15, 'All done.')
 
     else:
         [doujinshi.show() for doujinshi in doujinshi_list]