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)
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()
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)
def __init__(self, parent=None): super().__init__(parent) s = Settings() self.thumb_size = int(s.value('thumb_size', 240))