MCPcopy Index your code
hub / github.com/RustPython/RustPython / _qname

Method _qname

Lib/xml/etree/ElementTree.py:1861–1896  ·  view source on GitHub ↗
(self, qname, uri=None)

Source from the content-addressed store, hash-verified

1859 raise ValueError(f'Prefix {prefix} of QName "{prefixed_name}" is not declared in scope')
1860
1861 def _qname(self, qname, uri=None):
1862 if uri is None:
1863 uri, tag = qname[1:].rsplit('}', 1) if qname[:1] == '{' else ('', qname)
1864 else:
1865 tag = qname
1866
1867 prefixes_seen = set()
1868 for u, prefix in self._iter_namespaces(self._declared_ns_stack):
1869 if u == uri and prefix not in prefixes_seen:
1870 return f'{prefix}:{tag}' if prefix else tag, tag, uri
1871 prefixes_seen.add(prefix)
1872
1873 # Not declared yet => add new declaration.
1874 if self._rewrite_prefixes:
1875 if uri in self._prefix_map:
1876 prefix = self._prefix_map[uri]
1877 else:
1878 prefix = self._prefix_map[uri] = f'n{len(self._prefix_map)}'
1879 self._declared_ns_stack[-1].append((uri, prefix))
1880 return f'{prefix}:{tag}', tag, uri
1881
1882 if not uri and '' not in prefixes_seen:
1883 # No default namespace declared => no prefix needed.
1884 return tag, tag, uri
1885
1886 for u, prefix in self._iter_namespaces(self._ns_stack):
1887 if u == uri:
1888 self._declared_ns_stack[-1].append((uri, prefix))
1889 return f'{prefix}:{tag}' if prefix else tag, tag, uri
1890
1891 if not uri:
1892 # As soon as a default namespace is defined,
1893 # anything that has no namespace (and thus, no prefix) goes there.
1894 return tag, tag, uri
1895
1896 raise ValueError(f'Namespace "{uri}" is not declared in scope')
1897
1898 def data(self, data):
1899 if not self._ignored_depth:

Callers 1

endMethod · 0.95

Calls 6

_iter_namespacesMethod · 0.95
setFunction · 0.85
lenFunction · 0.85
rsplitMethod · 0.45
addMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected