当前位置: 首页>>代码示例>>Python>>正文


Python UnwrapObject.getToolById方法代码示例

本文整理汇总了Python中xpcom.server.UnwrapObject.getToolById方法的典型用法代码示例。如果您正苦于以下问题:Python UnwrapObject.getToolById方法的具体用法?Python UnwrapObject.getToolById怎么用?Python UnwrapObject.getToolById使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在xpcom.server.UnwrapObject的用法示例。


在下文中一共展示了UnwrapObject.getToolById方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: KoToolbox2Service

# 需要导入模块: from xpcom.server import UnwrapObject [as 别名]
# 或者: from xpcom.server.UnwrapObject import getToolById [as 别名]

#.........这里部分代码省略.........
        self.registerStandardToolbox(toolbox_id)
        
        import directoryServiceUtils
        extensionDirs = directoryServiceUtils.getExtensionDirectories()
        for extensionDir in extensionDirs:
            # Does this happen for disabled extensions?
            toolDir = join(extensionDir, koToolbox2.DEFAULT_TARGET_DIRECTORY)
            if os.path.exists(toolDir):
                self.activateExtensionToolbox(extensionDir)
            #else:
            #    log.debug("No tools in %s", extensionDir)
        self.toolboxLoader.deleteUnloadedTopLevelItems()
    
    def registerStandardToolbox(self, id):
        #log.debug("registerStandardToolbox(id:%d)", id)
        self._standardToolbox = id

    def registerUserToolbox(self, uri, id, isFromExtension):
        self._loadedToolboxes[uri] = id
        self._tbFromExtension[id] = isFromExtension

    def unregisterUserToolbox(self, uri):
        try:
            id = self._loadedToolboxes[uri]
        except KeyError:
            log.debug("Didn't find uri %s in self._loadedToolboxes")
            return
        try:
            del self._tbFromExtension[id]
        except KeyError:
            pass
        del self._loadedToolboxes[uri]

    def getLoadedProjectIDs(self):
        """
        Return a list of tuples of (toolID, toolURI) for project tools
        """
        if not self._loadedToolboxes:
            return []
        return [(id, uri)
                for uri, id in self._loadedToolboxes.items()
                if not self._tbFromExtension.get(id, False)]

    def toolbox_id_from_uri(self, uri):
        try:
            return self._loadedToolboxes[uri]
        except KeyError:
            log.debug("Didn't find uri %s in self._loadedToolboxes")
            return None

    def getExtensionToolbox(self, extensionName):
        # @param: extensionName {str} - the em:name from install.rdf
        koDirSvc = components.classes["@activestate.com/koDirs;1"].\
            getService(components.interfaces.koIDirs)
        binDirs = [join(koDirSvc.mozBinDir, "extensions"),
                   join(koDirSvc.userDataDir, "XRE", "extensions")]
        for dir in binDirs:
            extDir = join(dir, extensionName)
            if os.path.isdir(extDir):
                toolsDir = join(extDir, "tools")
                if os.path.isdir(toolsDir):
                    tbox_id = self.db.get_id_from_path(join(extDir, "tools"))
                    if tbox_id != -1:
                        return self._toolsMgrSvc.getToolById(tbox_id)
        return None

    def getProjectToolboxId(self, uri):
        id = self._loadedToolboxes.get(uri, None)
        if id is None:
            return -1
        return id

    def getProjectURL(self, rootId):
        for url, id in self._loadedToolboxes.iteritems():
            if id == rootId:
                return url
        
    def getStandardToolboxID(self):
        return self._standardToolbox

    def getStandardToolbox(self):
        return self._toolsMgrSvc.getToolById(self._standardToolbox)
    
    def getSharedToolbox(self):
        return self._toolsMgrSvc.getToolById(self._sharedToolbox)

    def _notifyToolboxChanged(self, parentPath):
        observerSvc = components.classes["@mozilla.org/observer-service;1"].\
                       getService(components.interfaces.nsIObserverService)
        try:
            observerSvc.notifyObservers(None, 'toolbox-reload-view', parentPath)
        except:
            log.exception("For notification toolbox-reload-view:%s", parentPath)

    def importDirectory(self, parentPath, pathToImport):
        try:
            self.toolboxLoader.importDirectory(parentPath, pathToImport)
            self._notifyToolboxChanged(parentPath)
        except Exception, ex:
            raise ServerException(nsError.NS_ERROR_ILLEGAL_VALUE, ex)
开发者ID:ball6847,项目名称:openkomodo,代码行数:104,代码来源:koToolbox2Components.py

示例2: getMacroTool

# 需要导入模块: from xpcom.server import UnwrapObject [as 别名]
# 或者: from xpcom.server.UnwrapObject import getToolById [as 别名]
 def getMacroTool(self):
     # Should get snippets as well...
     toolSvc = UnwrapObject(components.classes["@activestate.com/koToolbox2ToolManager;1"].\
                            getService(components.interfaces.koIToolbox2ToolManager))
     return toolSvc.getToolById(self._uri.server)
开发者ID:ball6847,项目名称:openkomodo,代码行数:7,代码来源:URIlib.p.py


注:本文中的xpcom.server.UnwrapObject.getToolById方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。