Browse Source

move listing of videos in a subscription to program

Helmut Pozimski 6 years ago
parent
commit
7b26ff94c0
2 changed files with 38 additions and 24 deletions
  1. 35 0
      lib_stov/program.py
  2. 3 24
      stov

+ 35 - 0
lib_stov/program.py

@@ -305,3 +305,38 @@ def send_email(conf, msg):
             LOGGER.error(_("The server refused the sender address, "
                            "please check your settings."))
         server_connection.quit()
+
+
+def list_videos(database, conf, sub_id):
+    """
+    Lists all videos in a specified subscription
+
+    :param conf: configuration object
+    :type conf: lib_stov.configuration.Conf
+    :param downloaded_videos: number of downloaded videos
+    :type downloaded_videos: int
+    :param sub_id: ID of the subscription
+    :type sub_id: int
+    """
+    try:
+        data = database.get_subscription(sub_id)
+    except stov_exceptions.DBWriteAccessFailedException as error:
+        LOGGER.error(error)
+        sys.exit(1)
+    else:
+        if data:
+            sub = subscription.Sub(subscription_id=data[0][0],
+                                   title=data[0][1],
+                                   subscription_type=data[0][2],
+                                   name=data[0][3],
+                                   search=data[0][4],
+                                   directory=data[0][5],
+                                   disabled=data[0][6], conf=conf)
+            videos = database.get_videos(sub.get_id(), conf)
+            sub.gather_videos(videos)
+            videos_list = sub.print_videos()
+            for video in videos_list:
+                LOGGER.info(video)
+        else:
+            LOGGER.error(_("Invalid subscription, please check the list and "
+                           "try again."))

+ 3 - 24
stov

@@ -58,7 +58,7 @@ elif ARGUMENTS.list:
 elif ARGUMENTS.deleteid:
     program.delete_subscription(DB, ARGUMENTS.deleteid)
 elif ARGUMENTS.update:
-    program.update_subscriptions(CONF, DB)
+    program.update_subscriptions(DB, CONF)
 elif ARGUMENTS.download:
     VIDEOS_DOWNLOADED, VIDEOS_FAILED, VIDEO_TITLES = \
         program.download_videos(DB, CONF)
@@ -79,29 +79,8 @@ elif ARGUMENTS.download:
                            "about new videos, please check the notify "
                            "parameter in your configuration."))
 
-elif ARGUMENTS.subscriptionid is not None:
-    try:
-        DATA = DB.get_subscription(ARGUMENTS.subscriptionid)
-    except stov_exceptions.DBWriteAccessFailedException as error:
-        LOGGER.error(error)
-        sys.exit(1)
-    else:
-        if DATA:
-            SUBSCRIPTION = subscription.Sub(subscription_id=DATA[0][0],
-                                            title=DATA[0][1],
-                                            subscription_type=DATA[0][2],
-                                            name=DATA[0][3],
-                                            search=DATA[0][4],
-                                            directory=DATA[0][5],
-                                            disabled=DATA[0][6], conf=CONF)
-            VIDEOS = DB.get_videos(SUBSCRIPTION.get_id(), CONF)
-            SUBSCRIPTION.gather_videos(VIDEOS)
-            VIDEO_LIST = SUBSCRIPTION.print_videos()
-            for video in VIDEO_LIST:
-                LOGGER.info(video)
-        else:
-            LOGGER.error(_("Invalid subscription, please check the list and "
-                           "try again."))
+elif ARGUMENTS.subscriptionid:
+    program.list_videos(DB, CONF, ARGUMENTS.subscriptionid)
 elif ARGUMENTS.catchup is not None:
     try:
         SUB_DATA = DB.get_subscription_title(ARGUMENTS.catchup)