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