Exemple #1
0
    def __init__(self):
        launchy.Plugin.__init__(self)

        self.hash = launchy.hash(self.getName())
#        self.labelHash = launchy.hash("pydiry")

        self.dirs = CaselessDict()
Exemple #2
0
    def __init__(self):
        launchy.Plugin.__init__(self)
        self.icon = os.path.join(launchy.getIconsPath(), "pydiry.ico")
        self.hash = launchy.hash(self.getName())
        self.labelHash = launchy.hash("pydiry")

        self.dirs = CaselessDict()
Exemple #3
0
	def __init__(self):
		launchy.Plugin.__init__(self)
		self.icon = os.path.join(launchy.getIconsPath(), "pydiry.ico")
		self.hash = launchy.hash(self.getName())
		self.labelHash = launchy.hash("pydiry")
		
		self.dirs = CaselessDict()
Exemple #4
0
class PyDiry(launchy.Plugin):
    __version__ = "1.0"
    setting_dir = "PyDiryPy"
    #setting_dir = "py_directories/dirs"
    #setting_dir = "py_speedcommander/dirs"

    def __init__(self):
        launchy.Plugin.__init__(self)

        self.hash = launchy.hash(self.getName())
#        self.labelHash = launchy.hash("pydiry")

        self.dirs = CaselessDict()
        #self.icon = self.getIcon()

    def init(self):
        self.__readConfig()
        pass

    def getID(self):
        return int(self.hash)

    def getName(self):
        return "PyDiry"

    def setPath(self, path):
        self.path = path

    def getIcon(self):
        return self.path + "/pydiry.ico"

    def getLabels(self, inputDataList):
        pass

    def getResults(self, inputDataList, resultsList):
        inputs = len(inputDataList)

        if inputs != 2:
            return

        firstText = inputDataList[0].getText()
        if not self.dirs.has_key(firstText):
            return

        path = self.dirs[firstText]
        query = inputDataList[1].getText()

        if query == '':
            # Default query is '*'
            query = '*'
        elif not query.startswith('*') and not query.endswith('*'):
            # Add * at both sides to ease searching
            query = '*%s*' % query

        pathContents = glob.glob(os.path.join(path, query))
        pathContents.sort()

        for itemPath in pathContents:
            resultsList.append( launchy.CatItem(itemPath,
                                                self.__makeShortName(itemPath),
                                                self.getID(),
                                                itemPath ) )

    def getCatalog(self, resultsList):
        for name,path in self.dirs.items():
            resultsList.push_back( launchy.CatItem( name + ".pydiry",
                                                    name,
                                                    self.getID(),
                                                    self.getIcon() ) )

    def launchItem(self, inputDataList, catItemOrig):
        catItem = inputDataList[-1].getTopResult()
        if catItem.fullPath().endswith(".pydiry"):
            # Launch the directory itself
            try:
                path = self.dirs[catItem.shortName]
                launchy.runProgram(path, "")
                #import os,win32api
                #win32api.ShellExecute(0, '', os.path.join(working,"programs/nsis/~~~/makensisw.exe"), path, '', 1)# 前台打开
            except:
                pass
        else:
            # Launchy a file or directory
            launchy.runProgram(catItem.fullPath(), "" )

    def hasDialog(self):
        return True

    def doDialog(self, parentWidgetPtr):
        print(parentWidgetPtr)
        parentWidget = wrapinstance(parentWidgetPtr, QtWidgets.QWidget)

        self.widget = PyDiryGui.PyDiryUi(parentWidget, self.setting_dir)
        self.widget.show()

        return unwrapinstance(self.widget)

    def endDialog(self, accept):
        self.widget.hide()
        if accept:
            self.widget.writeSettings()
            self.__readConfig()

        del self.widget
        self.widget = None

    def __readConfig(self):
        settings = launchy.settings

        # Test if the settings file has PyDiry configuration
#        version = settings.value("PyDiry/version", QVariant("0.0")).toString()
#        print_debug("PyDiry version: " + version)
#        if version == "0.0":
#            settings.beginWriteArray(self.setting_dir)
#            settings.setArrayIndex(0)
#            settings.setValue("name", QVariant("My Documents"))
#            settings.setValue("path", QVariant("%USERPROFILE%\\My Documents"))
#            settings.endArray()
#
#        # Set our version
#        settings.setValue("PyDiry/version", QVariant(self.__version__))

        self.dirs.clear()

        # Read directories from the settings file
        size = settings.beginReadArray(self.setting_dir)
        for i in range(0, size):
            settings.setArrayIndex(i);
            name = settings.value("name")
            path = settings.value("path")
            self.dirs[name] = expandvars(path)
        settings.endArray()

    def __makeShortName(self, itemPath):
        try:
            return os.path.split(itemPath)[1]
        except:
            return itemPath

    def launchyShow(self):
        pass

    def launchyHide(self):
        pass
Exemple #5
0
class PyDiry(launchy.Plugin):
	__version__ = "1.0"
	
	def __init__(self):
		launchy.Plugin.__init__(self)
		self.icon = os.path.join(launchy.getIconsPath(), "pydiry.ico")
		self.hash = launchy.hash(self.getName())
		self.labelHash = launchy.hash("pydiry")
		
		self.dirs = CaselessDict()
	
	def init(self):
		self.__readConfig()
		pass
	
	def getID(self):
		return self.hash
	
	def getName(self):
		return "PyDiry"
	
	def getIcon(self):
		return self.icon
	
	def getLabels(self, inputDataList):
		pass
	
	def getResults(self, inputDataList, resultsList):
		inputs = len(inputDataList)
		
		if inputs != 2:
			return
		
		firstText = inputDataList[0].getText()
		if not self.dirs.has_key(firstText):
			return
		
		path = self.dirs[firstText]
		query = inputDataList[1].getText()
		
		if query == '':
			# Default query is '*'
			query = '*'
		elif not query.startswith('*') and not query.endswith('*'):
			# Add * at both sides to ease searching
			query = '*%s*' % query
		
		pathContents = glob.glob(os.path.join(path, query))
		pathContents.sort()
		
		for itemPath in pathContents:
			resultsList.append( launchy.CatItem(itemPath, self.__makeShortName(itemPath), self.getID(), itemPath ) )
		
	def getCatalog(self, resultsList):
		for name,path in self.dirs.items():
			resultsList.push_back( launchy.CatItem( name + ".pydiry", name, self.getID(), self.getIcon() ) )
		
	def launchItem(self, inputDataList, catItemOrig):
		catItem = inputDataList[-1].getTopResult()
		if catItem.fullPath.endswith(".pydiry"):
			# Launch the directory itself
			try:
				path = self.dirs[catItem.shortName]
				launchy.runProgram(path, "")
			except:
				pass
		else:
			# Launchy a file or directory
			launchy.runProgram( catItem.fullPath, "" )
		
	def hasDialog(self):
		return True
		
	def doDialog(self, parentWidgetPtr):
		parentWidget = wrapinstance(parentWidgetPtr, QtGui.QWidget)
		
		self.widget = PyDiryGui.PyDiryUi(parentWidget)
		self.widget.show()
			
		return unwrapinstance(self.widget)
		
	def endDialog(self, accept):
		self.widget.hide()
		if accept:
			self.widget.writeSettings()
			self.__readConfig()
		
		del self.widget
		self.widget = None
	
	def __readConfig(self):
		settings = launchy.settings
		
		# Test if the settings file has PyDiry configuration
		version = settings.value("PyDiry/version", QVariant("0.0")).toString()
		print_debug("PyDiry version: " + version)
		if version == "0.0":
			settings.beginWriteArray("PyDiry/dirs")
			settings.setArrayIndex(0)
			settings.setValue("name", QVariant("My Documents"))
			settings.setValue("path", QVariant("%USERPROFILE%\\My Documents"))
			settings.endArray()
		
		# Set our version
		settings.setValue("PyDiry/version", QVariant(self.__version__))
		
		self.dirs.clear()
		
		# Read directories from the settings file
		size = settings.beginReadArray("PyDiry/dirs")
		for i in range(0, size):
			settings.setArrayIndex(i);
			name = unicode(settings.value("name").toString())
			path = unicode(settings.value("path").toString())
			self.dirs[name] = expandvars(path)
		settings.endArray()
		
	def __makeShortName(self, itemPath):
		try:
			return os.path.split(itemPath)[1]
		except:
			return itemPath
Exemple #6
0
class PyEC2(launchy.Plugin):
    __version__ = "1.0"
    
    def __init__(self):
        launchy.Plugin.__init__(self)
        self.icon = os.path.join(launchy.getIconsPath(), "pyec2.ico")
        self.hash = launchy.hash(self.getName())
        self.labelHash = launchy.hash("ec2")
        
        self.tags = CaselessDict()
    
    def init(self):
        self.__readConfig()
        pass
    
    def getID(self):
        return self.hash
    
    def getName(self):
        return "PyEC2"
    
    def getIcon(self):
        return self.icon
    
    def getLabels(self, inputDataList):
        pass
    
    def getResults(self, inputDataList, resultsList):
        if len(inputDataList) != 2:
            return
            
        if not inputDataList[0].hasLabel(self.labelHash):
            return
        
        q = inputDataList[1].getText().lower()
        for tag, instances in self.tags.iteritems():
            if q in tag:
                for instance in instances:
                    resultsList.append(
                        launchy.CatItem(
                            '%s:%s.ec2' % (tag, instance),
                            instance,
                            self.getID(),
                            self.getIcon(),
                        )
                )

    def getCatalog(self, resultsList):
        for tag, instances in self.tags.items():
            for instance in instances:
                resultsList.push_back(
                    launchy.CatItem(
                        '%s:%s.ec2' % (tag, instance),
                        instance,
                        self.getID(),
                        self.getIcon()
                    )
                )
        
    def launchItem(self, inputDataList, catItemOrig):
        catItem = inputDataList[-1].getTopResult()
        if catItem.fullPath.endswith(".ec2"):
            # Launch the directory itself
            try:
                path = self.tags[catItem.shortName]
                launchy.runProgram(path, "")
            except:
                pass
        else:
            # Launchy a file or directory
            launchy.runProgram( catItem.fullPath, "" )
       
    def launchyShow(self):
        self._update()

    def __readConfig(self):
        settings = launchy.settings
        
        # Test if the settings file has PyEC2 configuration
        version = settings.value("PyEC2/version", QVariant("0.0")).toString()
        if version == "0.0":
            settings.beginWriteArray("PyEC2/settings")
            settings.setArrayIndex(0)
            settings.setValue("Name", QVariant(""))
            settings.setValue("Region", QVariant(""))
            settings.setValue("Access key", QVariant(""))
            settings.setValue("Secret key", QVariant(""))
            settings.endArray()
        
        # Set our version
        settings.setValue("PyEC2/version", QVariant(self.__version__))

        self._update()

    def _update(self):
        self.tags.clear()
        
        # Read directories from the settings file
        settings = launchy.settings
        size = settings.beginReadArray("PyEC2/settings")
        for i in range(0, size):
            settings.setArrayIndex(i)
            name = unicode(settings.value("Name").toString())
            region = unicode(settings.value("Region").toString())
            access_key_id = unicode(settings.value("Access Key").toString())
            secret_access_key = unicode(settings.value("Secret Key").toString())

            region = '[REGION]'
            access_key_id = '[ACCES_KEY_ID]'
            secret_access_key = '[SECRET_ACCES_KEY]'

            if not (region and access_key_id and secret_access_key):
                continue

            ec2_connection = self.get_ec2_connection(region, access_key_id,
                secret_access_key)

            tags = collections.defaultdict(list)
            for reservation in ec2_connection.get_all_instances():
                for instance in reservation.instances:
                    for tag in instance.tags.itervalues():
                        if instance.public_dns_name:
                            tags[tag].append(instance.public_dns_name)

            self.tags[name] = dict(tags)
        settings.endArray()

    @classmethod
    def get_ec2_connection(cls, region, access_key_id, secret_access_key):
        return ec2.connect_to_region(
            region,
            aws_access_key_id=access_key_id,
            aws_secret_access_key=secret_access_key,
        )
Exemple #7
0
 def __init__(self):
     launchy.Plugin.__init__(self)
     self.hash = launchy.hash(self.getName())
     self.dirs = CaselessDict()
Exemple #8
0
class PyDiry(launchy.Plugin):
    __version__ = "1.0"
    setting_dir = "PyDiryPy"

    def __init__(self):
        launchy.Plugin.__init__(self)
        self.hash = launchy.hash(self.getName())
        self.dirs = CaselessDict()

    def init(self):
        self.__readConfig()

    def getID(self):
        return int(self.hash)

    def getName(self):
        return "PyDiryPy"

    def setPath(self, path):
        self.path = path

    def getIcon(self):
        return self.path + "/pydiry.ico"

    def getLabels(self, inputDataList):
        pass

    def getResults(self, inputDataList, resultsList):
        if len(inputDataList) != 2:
            return

        firstText = inputDataList[0].getText()
        if not self.dirs.has_key(firstText):
            return

        path = self.dirs[firstText]
        query = inputDataList[1].getText()

        if query == '':
            # Default query is '*'
            query = '*'
        elif not query.startswith('*') and not query.endswith('*'):
            # Add * at both sides to ease searching
            query = '*%s*' % query

        pathContents = glob.glob(os.path.join(path, query))
        pathContents.sort()

        for itemPath in pathContents:
            resultsList.append(
                launchy.CatItem(itemPath, self.__makeShortName(itemPath),
                                self.getID(), itemPath))

    def getCatalog(self, resultsList):
        for name, path in self.dirs.items():
            resultsList.push_back(
                launchy.CatItem(name + ".pydiry", name, self.getID(),
                                self.getIcon()))

    def launchItem(self, inputDataList, catItemOrig):
        catItem = inputDataList[-1].getTopResult()
        if catItem.fullPath().endswith(".pydiry"):
            # Launch the directory itself
            try:
                path = self.dirs[catItem.shortName]
                launchy.runProgram(path, "")
            except:
                pass
        else:
            # Launchy a file or directory
            launchy.runProgram(catItem.fullPath(), "")

    def doDialog(self, parentWidgetPtr):
        parentWidget = wrapinstance(parentWidgetPtr, QtWidgets.QWidget)

        self.widget = PyDiryGui.PyDiryUi(parentWidget, self.setting_dir)
        self.widget.show()

        return unwrapinstance(self.widget)

    def endDialog(self, accept):
        self.widget.hide()
        if accept:
            self.widget.writeSettings()
            self.__readConfig()

        del self.widget
        self.widget = None

    def __readConfig(self):
        settings = launchy.settings
        self.dirs.clear()

        # Read directories from the settings file
        size = settings.beginReadArray(self.setting_dir)
        for i in range(0, size):
            settings.setArrayIndex(i)
            name = settings.value("name")
            path = settings.value("path")
            self.dirs[name] = expandvars(path)
        settings.endArray()

    def __makeShortName(self, itemPath):
        try:
            return os.path.split(itemPath)[1]
        except:
            return itemPath