From cd366888187ca123f34bd5c9ea5af8f7a08301e6 Mon Sep 17 00:00:00 2001 From: MrS0m30n3 Date: Wed, 24 Dec 2014 12:00:42 +0200 Subject: [PATCH] Update docstrings updthread.py --- youtube_dl_gui/updthread.py | 43 +++++++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/youtube_dl_gui/updthread.py b/youtube_dl_gui/updthread.py index f2dd7cd..2d3a853 100644 --- a/youtube_dl_gui/updthread.py +++ b/youtube_dl_gui/updthread.py @@ -1,6 +1,6 @@ #!/usr/bin/env python2 -''' Youtube-dlG module to download youtube-dl. ''' +"""Youtubedlg module to update youtube-dl binary. """ import os.path from threading import Thread @@ -18,15 +18,22 @@ from .utils import ( class UpdateThread(Thread): - ''' - Download latest youtube-dl. + """Python Thread that downloads youtube-dl binary. - Params - download_path: Absolute path where UpdateThread - should download the latest youtube-dl. + Attributes: + LATEST_YOUTUBE_DL (string): URL with the latest youtube-dl binary. + PUBLISHER_TOPIC (string): Subscription topic for the wx Publisher. + DOWNLOAD_TIMEOUT (int): Download timeout in seconds. + + Args: + download_path (string): Absolute path where UpdateThread will download + the latest youtube-dl. - quiet: If True UpdateThread won't send any messages back to caller. - ''' + quiet (boolean): If True UpdateThread won't send the finish signal + back to the caller. Finish signal can be used to make sure that + UpdateThread has been terminated in an asynchronous way. + + """ LATEST_YOUTUBE_DL = 'https://yt-dl.org/latest/' PUBLISHER_TOPIC = 'update' @@ -39,7 +46,7 @@ class UpdateThread(Thread): self.start() def run(self): - self._callafter("Downloading latest youtube-dl. Please wait...") + self._talk_to_gui("Downloading latest youtube-dl. Please wait...") source_file = self.LATEST_YOUTUBE_DL + YOUTUBEDL_BIN destination_file = os.path.join(self.download_path, YOUTUBEDL_BIN) @@ -56,10 +63,18 @@ class UpdateThread(Thread): except (HTTPError, URLError, IOError) as e: msg = 'Youtube-dl download failed ' + str(e) - self._callafter(msg) - if not self.quiet: - self._callafter('finish') + self._talk_to_gui(msg) - def _callafter(self, data): - ''' CallAfter wrapper. ''' + if not self.quiet: + self._talk_to_gui('finish') + + def _talk_to_gui(self, data): + """Send data back to the GUI using wx CallAfter and wx Publisher. + + Args: + data (string): Can be either a message that informs for the + update process or a 'finish' signal that shows that the + update process has been completed. + + """ CallAfter(Publisher.sendMessage, self.PUBLISHER_TOPIC, data)