File Explorer

/proc/self/root/proc/self/root/usr/lib64/python3.9/xml/dom

This explorer reads the filesystem of the server it runs on, so /workspace/user isn't present here. Browsing and the terminal still work against this server's own disk from /.

minicompat.py3.3 KB · 110 lines
"""Python version compatibility support for minidom. This module contains internal implementation details andshould not be imported; use xml.dom.minidom instead.""" # This module should only be imported using "import *".## The following names are defined:##   NodeList      -- lightest possible NodeList implementation##   EmptyNodeList -- lightest possible NodeList that is guaranteed to#                    remain empty (immutable)##   StringTypes   -- tuple of defined string types##   defproperty   -- function used in conjunction with GetattrMagic;#                    using these together is needed to make them work#                    as efficiently as possible in both Python 2.2+#                    and older versions.  For example:##                        class MyClass(GetattrMagic):#                            def _get_myattr(self):#                                return something##                        defproperty(MyClass, "myattr",#                                    "return some value")##                    For Python 2.2 and newer, this will construct a#                    property object on the class, which avoids#                    needing to override __getattr__().  It will only#                    work for read-only attributes.##                    For older versions of Python, inheriting from#                    GetattrMagic will use the traditional#                    __getattr__() hackery to achieve the same effect,#                    but less efficiently.##                    defproperty() should be used for each version of#                    the relevant _get_<property>() function. __all__ = ["NodeList", "EmptyNodeList", "StringTypes", "defproperty"] import xml.dom StringTypes = (str,)  class NodeList(list):    __slots__ = ()     def item(self, index):        if 0 <= index < len(self):            return self[index]     def _get_length(self):        return len(self)     def _set_length(self, value):        raise xml.dom.NoModificationAllowedErr(            "attempt to modify read-only attribute 'length'")     length = property(_get_length, _set_length,                      doc="The number of nodes in the NodeList.")     # For backward compatibility    def __setstate__(self, state):        if state is None:            state = []        self[:] = state  class EmptyNodeList(tuple):    __slots__ = ()     def __add__(self, other):        NL = NodeList()        NL.extend(other)        return NL     def __radd__(self, other):        NL = NodeList()        NL.extend(other)        return NL     def item(self, index):        return None     def _get_length(self):        return 0     def _set_length(self, value):        raise xml.dom.NoModificationAllowedErr(            "attempt to modify read-only attribute 'length'")     length = property(_get_length, _set_length,                      doc="The number of nodes in the NodeList.")  def defproperty(klass, name, doc):    get = getattr(klass, ("_get_" + name))    def set(self, value, name=name):        raise xml.dom.NoModificationAllowedErr(            "attempt to modify read-only attribute " + repr(name))    assert not hasattr(klass, "_set_" + name), \           "expected not to find _set_" + name    prop = property(get, set, doc=doc)    setattr(klass, name, prop)