#!/usr/bin/env python # -*- coding: utf-8 -*- from pluginsystem import Plugin from constants import Section import gtk, subprocess, os.path class openFolder(Plugin): Name = "Ordner öffnen" Desc = "Durch einen Klick wird der Ordner geöffnet, in dem sich die Datei befindet" Author = "antion" Configurable = False def enable(self): self.toolbutton = self.gui.main_window.add_toolbutton(gtk.image_new_from_icon_name("folder", 16), 'Ordner öffnen', [Section.OTRKEY, Section.VIDEO_UNCUT, Section.VIDEO_CUT, Section.ARCHIVE, Section.TRASH]) self.toolbutton.connect('clicked', self.open_folder) def disable(self): self.gui.main_window.remove_toolbutton(self.toolbutton) def open_folder(self, widget): """Öffnet den Ordner abhängig von der geöffneten Section""" folders = { Section.OTRKEY : self.app.config.get('folder_new_otrkeys'), Section.VIDEO_UNCUT : self.app.config.get('folder_uncut_avis'), Section.VIDEO_CUT : self.app.config.get('folder_cut_avis'), Section.ARCHIVE : self.app.config.get('folder_archive'), Section.TRASH : self.app.config.get('folder_trash') } toOpen = folders[self.app.section] if self.app.section == Section.ARCHIVE: #Falls man sich im Archiv befindet, soll der ausgewählte Ordner geöffnet werden filenames = self.gui.main_window.get_selected_filenames() if len(filenames) == 1: #Ist ein Ordner oder eine Datei ausgewählt? if os.path.isdir(filenames[0]): #Ein Ordner ist angewählt toOpen = filenames[0] else: toOpen = os.path.dirname(filenames[0]) print "[Plugin] Open Folder: " + toOpen subprocess.Popen(['xdg-open', toOpen])