Browse Source

move update and notify to program

Helmut Pozimski 6 years ago
parent
commit
0b3c01eb1c
2 changed files with 30 additions and 18 deletions
  1. 29 0
      lib_stov/program.py
  2. 1 18
      stov

+ 29 - 0
lib_stov/program.py

@@ -455,3 +455,32 @@ def print_license():
 
         You should have received a copy of the GNU General Public License
         along with stov.  If not, see <http://www.gnu.org/licenses/>.""")
+
+
+def download_notify(database, conf):
+    """
+    starts an update of not yet downloaded videos and notifies the user
+
+    :param database: database object
+    :type database: lib_stov.database.Db
+    :param conf: configuration object
+    :type conf: lib_stov.configuration.Conf
+    """
+    videos_downloaded, videos_failed, video_titles = \
+        download_videos(database, conf)
+    if videos_downloaded > 0 and conf.values["notify"] == "yes":
+        msg = compose_email(conf, videos_downloaded, video_titles)
+        send_email(conf, msg)
+    elif videos_downloaded == 0 and videos_failed == 0:
+        if conf.values["notify"] == "no":
+            LOGGER.info(_("There are no videos to be downloaded."))
+    elif conf.values["notify"] == "no":
+        if videos_failed == 0:
+            LOGGER.info(_("The following videos have been downloaded:\n"))
+            for i in video_titles:
+                LOGGER.info(i)
+    else:
+        if conf.values["notify"] != "yes":
+            LOGGER.error(_("Could not determine how you want to be informed "
+                           "about new videos, please check the notify "
+                           "parameter in your configuration."))

+ 1 - 18
stov

@@ -57,24 +57,7 @@ elif ARGUMENTS.deleteid:
 elif ARGUMENTS.update:
     program.update_subscriptions(DB, CONF)
 elif ARGUMENTS.download:
-    VIDEOS_DOWNLOADED, VIDEOS_FAILED, VIDEO_TITLES = \
-        program.download_videos(DB, CONF)
-    if VIDEOS_DOWNLOADED > 0 and CONF.values["notify"] == "yes":
-        MSG = program.compose_email(CONF, VIDEOS_DOWNLOADED, VIDEO_TITLES)
-        program.send_email(CONF, MSG)
-    elif VIDEOS_DOWNLOADED == 0 and VIDEOS_FAILED == 0:
-        if CONF.values["notify"] == "no":
-            LOGGER.info(_("There are no videos to be downloaded."))
-    elif CONF.values["notify"] == "no":
-        if VIDEOS_FAILED == 0:
-            LOGGER.info(_("The following videos have been downloaded:\n"))
-            for i in VIDEO_TITLES:
-                LOGGER.info(i)
-    else:
-        if CONF.values["notify"] != "yes":
-            LOGGER.error(_("Could not determine how you want to be informed "
-                           "about new videos, please check the notify "
-                           "parameter in your configuration."))
+    program.download_notify(DB, CONF)
 elif ARGUMENTS.subscriptionid:
     program.list_videos(DB, CONF, ARGUMENTS.subscriptionid)
 elif ARGUMENTS.catchup: