本文整理汇总了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)
示例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)