def __completeActionName(self, pluginName, text):
     actionsDict = PeerActions.get().getAllPeerActions(filterFunc=self.__peerActionHasPrivacy)
     actions = actionsDict[pluginName]
     for action in actions:
         actionName = action.getName().replace(" ", "\\ ")
         if actionName.lower().startswith(text):
             yield actionName
 def _completePluginName(self, text):
     actionsDict = PeerActions.get().getAllPeerActions(filterFunc=self.__peerActionHasPrivacy)
     for pluginName, actions in actionsDict.iteritems():
         pluginName = pluginName.replace(" ", "\\ ")
         if pluginName.lower().startswith(text):
             yield pluginName
         pluginObject = actions[0].getPluginObject()
         if pluginObject is not None:
             dispName = pluginObject.get_displayed_name().replace(" ", "\\ ")
             if dispName.lower().startswith(text):
                 yield dispName
    def __getPluginName(self, pluginName):
        actionsDict = PeerActions.get().getAllPeerActions(filterFunc=self.__peerActionHasPrivacy)

        pluginName = pluginName.lower()
        for aPluginName, actions in actionsDict.iteritems():
            # prefer displayed plugin name
            pluginObject = actions[0].getPluginObject()
            if pluginObject is not None and pluginObject.get_displayed_name().lower() == pluginName:
                pluginName = aPluginName
                break

            if pluginName == aPluginName.lower():
                pluginName = aPluginName
                break
        if pluginName not in actionsDict:
            return None
        return pluginName
 def listActions(self, args):
     if len(args) == 0:
         self.appendOutput(u"Plugin Name", u"Action Name", u"Policy")
         self.appendSeparator()
         for dPluginName, actions in (
             PeerActions.get().getAllPeerActions(filterFunc=self.__peerActionHasPrivacy).iteritems()
         ):
             for action in actions:
                 if not action.hasPrivacySettings():
                     continue
                 if action.getPluginObject() is not None:
                     pluginName = action.getPluginObject().get_displayed_name()
                 else:
                     pluginName = dPluginName
                 self.appendOutput(
                     pluginName, action.getName(), self.__getPrivacyPolicyDescription(action.getPrivacyPolicy())
                 )
         self.flushOutput()
    def handleSetting(self, args, handler):
        if len(args) < 2:
            return self.printHelp("privacy")

        actionsDict = PeerActions.get().getAllPeerActions(filterFunc=self.__peerActionHasPrivacy)

        pluginName = self.__getPluginName(args[0])
        if pluginName is None:
            print "Unknown plugin or plugin has no peer actions. Use privacy list to get a list of available peer actions."
            return
        pluginActions = actionsDict[pluginName]

        actionNameLower = args[1].lower()
        action = None
        for anAction in pluginActions:
            if actionNameLower == anAction.getName().lower():
                action = anAction
                break
        if action is None:
            print "Unknown peer action. Use privacy list to get a list of available peer actions."
            return

        handler(action, args[2:])
Exemple #6
0
 def __init__(self, parent, logger):
     super(PeerActionsModel, self).__init__(parent)
     self.logger = logger
     self._pluginToRow = {}
     self.setHorizontalHeaderLabels([u"Peer Actions"])
     self.addPeerActions(PeerActions.get().getAllPeerActions())