Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def load_thumbnail(self):
pixmap = QtGui.QPixmap()
thumb = self.metadata.thumbnail
if thumb:
pixmap.loadFromData(thumb.data)
if pixmap.isNull():
self.image.setText(translate('ImageList', 'No\nthumbnail\nin file'))
return
pixmap = self.transform(pixmap, self.metadata.orientation)
self.image.setPixmap(
pixmap.scaled(self.thumb_size, self.thumb_size,
Qt.KeepAspectRatio, Qt.SmoothTransformation))
candidates.append(candidate)
if not candidates:
return None
rsp = requests.get(photo['url_t'])
if rsp.status_code == 200:
flickr_icon = rsp.content
else:
logger.error('HTTP error %d (%s)', rsp.status_code, photo['url_t'])
return None
# get user to choose matching image file
dialog = QtWidgets.QDialog(parent=self)
dialog.setWindowTitle(translate('FlickrTab', 'Select an image'))
dialog.setLayout(QtWidgets.QFormLayout())
dialog.layout().setFieldGrowthPolicy(
QtWidgets.QFormLayout.AllNonFixedFieldsGrow)
pixmap = QtGui.QPixmap()
pixmap.loadFromData(flickr_icon)
label = QtWidgets.QLabel()
label.setPixmap(pixmap)
dialog.layout().addRow(label, QtWidgets.QLabel(translate(
'FlickrTab', 'Which image file matches\nthis picture on Flickr?')))
divider = QtWidgets.QFrame()
divider.setFrameStyle(QtWidgets.QFrame.HLine)
dialog.layout().addRow(divider)
buttons = {}
for candidate in candidates:
label = QtWidgets.QLabel()
pixmap = candidate.image.pixmap()
if pixmap:
label.setPixmap(pixmap)
else:
label.setText(candidate.image.text())
def __init__(self, options, initial_files):
super(MainWindow, self).__init__()
self.setWindowTitle(translate(
'MenuBar', "Photini photo metadata editor"))
pixmap = QtGui.QPixmap()
pixmap.loadFromData(pkg_resources.resource_string(
'photini', 'data/icons/48/photini.png'))
icon = QtGui.QIcon(pixmap)
self.setWindowIcon(icon)
self.selection = list()
# logger window
self.loggerwindow = LoggerWindow(options.verbose)
self.loggerwindow.setWindowIcon(icon)
# set network proxy
proxies = getproxies()
if 'http' in proxies:
parsed = urlparse(proxies['http'])
QNetworkProxy.setApplicationProxy(QNetworkProxy(
QNetworkProxy.HttpProxy, parsed.hostname, parsed.port))
# create shared global objects
self.app = QtWidgets.QApplication.instance()
def write(self, handler, tag):
if handler.is_xmp_tag(tag):
data = self.data
if self.fmt != 'JPEG':
pixmap = QtGui.QPixmap()
pixmap.loadFromData(data)
buf = QtCore.QBuffer()
buf.open(QtCore.QIODevice.WriteOnly)
pixmap.save(buf, 'JPEG')
data = buf.data().data()
w = pixmap.width()
h = pixmap.height()
else:
w, h = self.size()
data = codecs.encode(data, 'base64_codec')
if not six.PY2:
data = data.decode('ascii')
handler.set_string(tag, (data, 'JPEG', str(w), str(h)))
elif handler.is_exif_tag(tag):
handler.set_exif_thumbnail_from_buffer(self.data)