Ejemplo n.º 1
0
    def __init__(self, rddtDataExtractor, lstModelObj, validatedPRAWUserOrSub, queue, lstModelType, isStopped):
        """
        Thread to download for a submission. Spawns more threads for downloading images or submission json data
        :param lstModelObj: The User or Subreddit "ListModel" Object
        :type rddtDataExtractor: RedditDataExtractor.redditDataExtractor.RedditDataExtractor
        :type lstModelObj: RedditDataExtractor.GUI.genericListModelObjects.GenericListModelObj
        :type validatedPRAWUserOrSub: praw.objects.Subreddit or praw.objects.User
        :type queue: Queue.queue
        :type lstModelType: RedditDataExtractor.redditDataExtractor.ListType
        :type isStopped: function
        """
        super().__init__()

        self._rddtDataExtractor = rddtDataExtractor
        self._lstModelObj = lstModelObj
        self._validatedPRAWUserOrSub = validatedPRAWUserOrSub
        self._queue = queue
        self._lstModelType = lstModelType
        self._imagePool = QThreadPool()
        self._imagePool.setMaxThreadCount(3)
        self._submissionPool = QThreadPool()
        self._submissionPool.setMaxThreadCount(3)
        self._videoPool = QThreadPool()
        self._videoPool.setMaxThreadCount(2)
        self._mostRecentDownloadTimestamp = None
        self._downloaderIsStopped = isStopped
Ejemplo n.º 2
0
 def __init__(self, rddtDataExtractor, validUsersOrSubs, queue, listModelType):
     """
     The object that handles coordinating the download of the submission content. Spawns threads to download
     from users / subreddits simultaneously and to download images simultaneously.
     :type rddtDataExtractor: RedditDataExtractor.redditDataExtractor.RedditDataExtractor
     :type validUsersOrSubs: list
     :type queue: Queue.queue
     :type listModelType: RedditDataExtractor.redditDataExtractor.ListType
     """
     super().__init__()
     self._rddtDataExtractor = rddtDataExtractor
     self._validUsersOrSubs = validUsersOrSubs
     self._queue = queue
     self._listModelType = listModelType
     self._dataPool = QThreadPool()
     self._dataPool.setMaxThreadCount(4)
     self._continueOperation = True
     self.finishSignalForTest = False