Example #1
0
    def process(self, queue):
        """Load images into the QPixmapCache"""
        s = Settings()
        thumb_size = int(s.value('thumb_size', 200))
        cache = plexdesktop.sqlcache.db_thumb()
        # while True:
        for (media_object, row) in iter(queue.get, None):
            if not media_object:
                continue
            url = media_object.thumb
            if not url:
                continue
            if url in cache:
                img_data = cache[url]
            else:  # not in cache, fetch from server
                try:
                    if media_object.container.is_library:
                        res = media_object.container.server.image(
                            url, thumb_size, thumb_size, timeout=5)
                    else:
                        res = media_object.container.server.image(url, timeout=5)
                except (ConnectionError, requests.exceptions.RequestException) as e:
                    logger.error('QueueThumbWorker: {}'.format(e))
                    cache.close()
                    continue
                else:
                    img_data = res.content
                    cache[url] = img_data

            img = QtGui.QPixmap()
            img.loadFromData(img_data)
            QtGui.QPixmapCache.insert(url, img)
            self.result_ready.emit(row, media_object)
Example #2
0
 def __init__(self, parent=None):
     super().__init__(parent)
     s = Settings()
     browser_font_size = int(s.value('browser_font', 9))
     self.title_font = QtGui.QFont('Open Sans Extrabold', browser_font_size)
     self.summary_font = QtGui.QFont('Open Sans',
                                     browser_font_size * 0.95,
                                     QtGui.QFont.Bold)
     self.title_font_metrics = QtGui.QFontMetrics(self.title_font)
     self.summary_font_metrics = QtGui.QFontMetrics(self.title_font)
     self.last_icon_size = self.parent().iconSize().height()
Example #3
0
    def process(self, queue):
        """Load images into the QPixmapCache"""
        s = Settings()
        thumb_size = int(s.value('thumb_size', 200))
        cache = plexdesktop.sqlcache.db_thumb()
        # while True:
        for (media_object, row) in iter(queue.get, None):
            if not media_object:
                continue
            url = media_object.thumb
            if not url:
                continue
            if url in cache:
                img_data = cache[url]
            else:  # not in cache, fetch from server
                try:
                    if media_object.container.is_library:
                        res = media_object.container.server.image(url,
                                                                  thumb_size,
                                                                  thumb_size,
                                                                  timeout=5)
                    else:
                        res = media_object.container.server.image(url,
                                                                  timeout=5)
                except (ConnectionError,
                        requests.exceptions.RequestException) as e:
                    logger.error('QueueThumbWorker: {}'.format(e))
                    cache.close()
                    continue
                else:
                    img_data = res.content
                    cache[url] = img_data

            img = QtGui.QPixmap()
            img.loadFromData(img_data)
            QtGui.QPixmapCache.insert(url, img)
            self.result_ready.emit(row, media_object)
Example #4
0
 def __init__(self, parent=None):
     super().__init__(parent)
     s = Settings()
     self.thumb_size = int(s.value('thumb_size', 240))
Example #5
0
 def __init__(self, parent=None):
     super().__init__(parent)
     s = Settings()
     self.thumb_size = int(s.value('thumb_size', 240))