Skip to content

Commit

Permalink
adding exif data display
Browse files Browse the repository at this point in the history
  • Loading branch information
sanfx committed Dec 15, 2013
1 parent dd30716 commit cbabc96
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 2 deletions.
3 changes: 2 additions & 1 deletion python/gallery.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import sys
import os
import utils
import slideShowBase

from PyQt4 import QtGui, QtCore
Expand Down Expand Up @@ -60,7 +61,7 @@ def data(self, index, role):
fileName = os.path.split(self._listdata[row][column])[-1]
except IndexError:
return
return QtCore.QString(fileName)
return QtCore.QString("\n".join(list(utils.getExifData((self._listdata[row][column])))))

if index.isValid() and role == QtCore.Qt.DecorationRole:
row = index.row()
Expand Down
13 changes: 12 additions & 1 deletion python/slideShow.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,12 @@ def __init__(self, imgLst, num=0, flag=True, parent=None):
self.__imgLst = imgLst
self.prepairWindow()


# def resizeEvent(self, event):
# self.label.resize(event.size())
# # self.overlayExifText.resize(event.size())
# event.accept()

def print_(self):
dialog = QtGui.QPrintDialog(self.printer, self)
if dialog.exec_():
Expand Down Expand Up @@ -182,9 +188,13 @@ def createActions(self):
enabled=False, checkable=True, shortcut="Ctrl+F",
triggered=self.fitToWindow)


def _buildUi(self):
self.label = QtGui.QLabel()
self.overlayExifText = QtGui.QLabel(self.label)
self.overlayExifText.setSizePolicy(QtGui.QSizePolicy.Ignored,
QtGui.QSizePolicy.Ignored)
self.overlayExifText.setStyleSheet("QLabel { color : blue; }")
self.overlayExifText.setAlignment(QtCore.Qt.AlignTop)
self.label.setBackgroundRole(QtGui.QPalette.Base)
self.label.setSizePolicy(QtGui.QSizePolicy.Ignored,
QtGui.QSizePolicy.Ignored)
Expand Down Expand Up @@ -215,6 +225,7 @@ def showImageByPath(self, path):
self.label.size(),
QtCore.Qt.KeepAspectRatio,
QtCore.Qt.SmoothTransformation))
self.overlayExifText.setText("\n".join(list(utils.getExifData((path)))))

def keyPressEvent(self, keyevent):
""" Capture key to exit, next image, previous image,
Expand Down
15 changes: 15 additions & 0 deletions python/utils.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import os
import sys
import exifread
from PyQt4 import QtGui

def isExtensionSupported(filename):
Expand Down Expand Up @@ -27,3 +28,17 @@ def getDirContent(path):
return os.listdir(path)
except OSError:
raise OSError("Provided path '%s' doesn't exists." % path)

def getExifData(filePath):
try:
f = open(filePath, 'rb')
except OSError:
return
tags = exifread.process_file(f)
exifData = {}
if tags:
# print "Showing exif data for image '%s':" % os.path.basename(filePath)
for tag, data in tags.iteritems():
yield "%s: %s" % (tag, data)

# print str(getExifData('/Users/sanjeevkumar/Pictures/tempting/yjytjh.jpg'))

0 comments on commit cbabc96

Please sign in to comment.