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:])
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())