Beispiel #1
0
    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()
Beispiel #2
0
    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()