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


Python UnwrapObject.setNonVital方法代码示例

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


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

示例1: DOMDeserialize

# 需要导入模块: from xpcom.server import UnwrapObject [as 别名]
# 或者: from xpcom.server.UnwrapObject import setNonVital [as 别名]
    def DOMDeserialize(self, rootElement, parentPref, prefFactory, basedir=None, chainNotifications=0):
        """We know how to deserialize preferent-set elements."""
        # Create a new preference set and rig it into the preference set hierarchy.
        preftype = rootElement.getAttribute("preftype")
        if preftype == "project":
            xpPrefSet = components.classes["@activestate.com/koProjectPreferenceSet;1"].createInstance(
                components.interfaces.koIProjectPreferenceSet
            )
        elif preftype == "file":
            xpPrefSet = components.classes["@activestate.com/koFilePreferenceSet;1"].createInstance(
                components.interfaces.koIFilePreferenceSet
            )
        elif parentPref is None:
            xpPrefSet = components.classes["@activestate.com/koPreferenceRoot;1"].createInstance(
                components.interfaces.koIPreferenceSet
            )
        else:
            xpPrefSet = components.classes["@activestate.com/koPreferenceSet;1"].createInstance(
                components.interfaces.koIPreferenceSet
            )
        newPrefSet = UnwrapObject(xpPrefSet)
        if hasattr(newPrefSet, "chainNotifications"):
            newPrefSet.chainNotifications = chainNotifications
        try:
            newPrefSet.id = rootElement.getAttribute("id") or ""
        except KeyError:
            newPrefSet.id = ""
        try:
            newPrefSet.idref = rootElement.getAttribute("idref") or ""
        except KeyError:
            newPrefSet.idref = ""

        # Iterate over the elements of the preference set,
        # deserializing them and fleshing out the new preference
        # set with content.
        childNodes = rootElement.childNodes

        for node in childNodes:
            if node and node.nodeType == minidom.Node.ELEMENT_NODE:
                if node.hasAttribute("validate"):
                    newPrefSet.setValidation(node.getAttribute("id"), node.getAttribute("validate"))
                if node.hasAttribute("nonvital"):
                    newPrefSet.setNonVital(node.getAttribute("id"))
                pref = _dispatch_deserializer(self, node, newPrefSet, prefFactory, basedir, chainNotifications)
                if pref:
                    if pref.id:
                        newPrefSet.setPref(pref.id, pref)
                    else:
                        log.error("Preference has no id - dumping preference:")
                        pref.dump(0)

        return xpPrefSet
开发者ID:twhiteman,项目名称:KomodoEdit,代码行数:54,代码来源:koXMLPrefs.py


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