def info_current(self, *_args): """Opens the photo properties window.""" import os, time, commands from webilder.webshots.wbz import parse_metadata from webilder.uitricks import UITricks, open_browser currentfile = commands.getoutput('/usr/bin/gconftool-2 -g /desktop/gnome/background/picture_filename') if self.image_file == currentfile: currentinfo = self.info_file try: fileobj = open(currentinfo, 'r') infodata = parse_metadata(fileobj.read()) fileobj.close() except IOError: infodata = {} else: import getpass wbtestpath = '/home/' + getpass.getuser() + '/.webilder/Collection/' wbtest = currentfile.startswith(wbtestpath) if wbtest == True: currentinfo = os.path.splitext(currentfile)[0] + '.inf' try: fileobj = open(currentinfo, 'r') infodata = parse_metadata(fileobj.read()) fileobj.close() except IOError: infodata = {} else: try: infodata = parse_metadata("url=--\ncredit=--\ntitle=--\ntags=--\nalbumTitle=--\n") except IOError: infodata = {} applet_win = UITricks('ui/webilder.glade', 'PhotoPropertiesDialog') applet_win.title.set_markup('<b>%s</b>' % infodata['title']) applet_win.album.set_markup(infodata['albumTitle']) applet_win.file.set_text(currentfile) applet_win.tags.set_text(infodata['tags']) applet_win.size.set_text(_('%.1f KB') % (os.path.getsize(currentfile) / 1024.0)) applet_win.date.set_text(time.strftime('%c', time.localtime(os.path.getctime(currentfile)))) applet_win.url.set_text(infodata['url']) applet_win.closebutton.connect('clicked', lambda *args: applet_win.destroy()) applet_win.show()
def on_photo_properties_handle_activate(self, _event): """Called when photo properties has been clicked.""" selected = self.iconview.get_selected_items() if not selected: return win = UITricks('ui/webilder.glade', 'PhotoPropertiesDialog') selected = selected[-1] path = selected iterator = self.iconview.get_model().get_iter(path) data = self.iconview.get_model().get_value(iterator, IV_DATA_COLUMN) win.title.set_markup('<b>%s</b>' % data['title']) win.album.set_markup(data['album']) win.file.set_text(data['filename']) win.tags.set_text(data['tags']) win.size.set_text( _('%.1f KB') % (os.path.getsize(data['filename']) / 1024.0)) win.date.set_text( time.strftime('%c', time.localtime(os.path.getctime(data['filename'])))) win.url.set_text(data['inf'].get('url', '')) win.closebutton.connect('clicked', lambda *args: win.destroy()) win.show()