Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
7b77188e
Kaydet (Commit)
7b77188e
authored
Şub 19, 2012
tarafından
Martin v. Löwis
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Create _attr/_attrNS lazily.
üst
14aa280d
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
34 additions
and
9 deletions
+34
-9
expatbuilder.py
Lib/xml/dom/expatbuilder.py
+1
-0
minidom.py
Lib/xml/dom/minidom.py
+33
-9
No files found.
Lib/xml/dom/expatbuilder.py
Dosyayı görüntüle @
7b77188e
...
@@ -760,6 +760,7 @@ class Namespaces:
...
@@ -760,6 +760,7 @@ class Namespaces:
del
self
.
_ns_ordered_prefixes
[:]
del
self
.
_ns_ordered_prefixes
[:]
if
attributes
:
if
attributes
:
node
.
_ensure_attributes
()
_attrs
=
node
.
_attrs
_attrs
=
node
.
_attrs
_attrsNS
=
node
.
_attrsNS
_attrsNS
=
node
.
_attrsNS
for
i
in
range
(
0
,
len
(
attributes
),
2
):
for
i
in
range
(
0
,
len
(
attributes
),
2
):
...
...
Lib/xml/dom/minidom.py
Dosyayı görüntüle @
7b77188e
...
@@ -689,13 +689,21 @@ class Element(Node):
...
@@ -689,13 +689,21 @@ class Element(Node):
self
.
childNodes
=
NodeList
()
self
.
childNodes
=
NodeList
()
self
.
nextSibling
=
self
.
previousSibling
=
None
self
.
nextSibling
=
self
.
previousSibling
=
None
self
.
_attrs
=
{}
# attributes are double-indexed:
# Attribute dictionaries are lazily created
self
.
_attrsNS
=
{}
# tagName -> Attribute
# attributes are double-indexed:
# URI,localName -> Attribute
# tagName -> Attribute
# in the future: consider lazy generation
# URI,localName -> Attribute
# of attribute objects this is too tricky
# in the future: consider lazy generation
# for now because of headaches with
# of attribute objects this is too tricky
# namespaces.
# for now because of headaches with
# namespaces.
self
.
_attrs
=
None
self
.
_attrsNS
=
None
def
_ensure_attributes
(
self
):
if
self
.
_attrs
is
None
:
self
.
_attrs
=
{}
self
.
_attrsNS
=
{}
def
_get_localName
(
self
):
def
_get_localName
(
self
):
try
:
try
:
...
@@ -707,8 +715,9 @@ class Element(Node):
...
@@ -707,8 +715,9 @@ class Element(Node):
return
self
.
tagName
return
self
.
tagName
def
unlink
(
self
):
def
unlink
(
self
):
for
attr
in
list
(
self
.
_attrs
.
values
()):
if
self
.
_attrs
is
not
None
:
attr
.
unlink
()
for
attr
in
list
(
self
.
_attrs
.
values
()):
attr
.
unlink
()
self
.
_attrs
=
None
self
.
_attrs
=
None
self
.
_attrsNS
=
None
self
.
_attrsNS
=
None
Node
.
unlink
(
self
)
Node
.
unlink
(
self
)
...
@@ -755,14 +764,19 @@ class Element(Node):
...
@@ -755,14 +764,19 @@ class Element(Node):
attr
.
nodeName
=
qualifiedName
attr
.
nodeName
=
qualifiedName
def
getAttributeNode
(
self
,
attrname
):
def
getAttributeNode
(
self
,
attrname
):
if
self
.
_attrs
is
None
:
return
None
return
self
.
_attrs
.
get
(
attrname
)
return
self
.
_attrs
.
get
(
attrname
)
def
getAttributeNodeNS
(
self
,
namespaceURI
,
localName
):
def
getAttributeNodeNS
(
self
,
namespaceURI
,
localName
):
if
self
.
_attrsNS
is
None
:
return
None
return
self
.
_attrsNS
.
get
((
namespaceURI
,
localName
))
return
self
.
_attrsNS
.
get
((
namespaceURI
,
localName
))
def
setAttributeNode
(
self
,
attr
):
def
setAttributeNode
(
self
,
attr
):
if
attr
.
ownerElement
not
in
(
None
,
self
):
if
attr
.
ownerElement
not
in
(
None
,
self
):
raise
xml
.
dom
.
InuseAttributeErr
(
"attribute node already owned"
)
raise
xml
.
dom
.
InuseAttributeErr
(
"attribute node already owned"
)
self
.
_ensure_attributes
()
old1
=
self
.
_attrs
.
get
(
attr
.
name
,
None
)
old1
=
self
.
_attrs
.
get
(
attr
.
name
,
None
)
if
old1
is
not
None
:
if
old1
is
not
None
:
self
.
removeAttributeNode
(
old1
)
self
.
removeAttributeNode
(
old1
)
...
@@ -781,6 +795,8 @@ class Element(Node):
...
@@ -781,6 +795,8 @@ class Element(Node):
setAttributeNodeNS
=
setAttributeNode
setAttributeNodeNS
=
setAttributeNode
def
removeAttribute
(
self
,
name
):
def
removeAttribute
(
self
,
name
):
if
self
.
_attrsNS
is
None
:
raise
xml
.
dom
.
NotFoundErr
()
try
:
try
:
attr
=
self
.
_attrs
[
name
]
attr
=
self
.
_attrs
[
name
]
except
KeyError
:
except
KeyError
:
...
@@ -788,6 +804,8 @@ class Element(Node):
...
@@ -788,6 +804,8 @@ class Element(Node):
self
.
removeAttributeNode
(
attr
)
self
.
removeAttributeNode
(
attr
)
def
removeAttributeNS
(
self
,
namespaceURI
,
localName
):
def
removeAttributeNS
(
self
,
namespaceURI
,
localName
):
if
self
.
_attrsNS
is
None
:
raise
xml
.
dom
.
NotFoundErr
()
try
:
try
:
attr
=
self
.
_attrsNS
[(
namespaceURI
,
localName
)]
attr
=
self
.
_attrsNS
[(
namespaceURI
,
localName
)]
except
KeyError
:
except
KeyError
:
...
@@ -810,9 +828,13 @@ class Element(Node):
...
@@ -810,9 +828,13 @@ class Element(Node):
removeAttributeNodeNS
=
removeAttributeNode
removeAttributeNodeNS
=
removeAttributeNode
def
hasAttribute
(
self
,
name
):
def
hasAttribute
(
self
,
name
):
if
self
.
_attrs
is
None
:
return
False
return
name
in
self
.
_attrs
return
name
in
self
.
_attrs
def
hasAttributeNS
(
self
,
namespaceURI
,
localName
):
def
hasAttributeNS
(
self
,
namespaceURI
,
localName
):
if
self
.
_attrsNS
is
None
:
return
False
return
(
namespaceURI
,
localName
)
in
self
.
_attrsNS
return
(
namespaceURI
,
localName
)
in
self
.
_attrsNS
def
getElementsByTagName
(
self
,
name
):
def
getElementsByTagName
(
self
,
name
):
...
@@ -853,6 +875,7 @@ class Element(Node):
...
@@ -853,6 +875,7 @@ class Element(Node):
writer
.
write
(
"/>
%
s"
%
(
newl
))
writer
.
write
(
"/>
%
s"
%
(
newl
))
def
_get_attributes
(
self
):
def
_get_attributes
(
self
):
self
.
_ensure_attributes
()
return
NamedNodeMap
(
self
.
_attrs
,
self
.
_attrsNS
,
self
)
return
NamedNodeMap
(
self
.
_attrs
,
self
.
_attrsNS
,
self
)
def
hasAttributes
(
self
):
def
hasAttributes
(
self
):
...
@@ -890,6 +913,7 @@ defproperty(Element, "localName",
...
@@ -890,6 +913,7 @@ defproperty(Element, "localName",
def
_set_attribute_node
(
element
,
attr
):
def
_set_attribute_node
(
element
,
attr
):
_clear_id_cache
(
element
)
_clear_id_cache
(
element
)
element
.
_ensure_attributes
()
element
.
_attrs
[
attr
.
name
]
=
attr
element
.
_attrs
[
attr
.
name
]
=
attr
element
.
_attrsNS
[(
attr
.
namespaceURI
,
attr
.
localName
)]
=
attr
element
.
_attrsNS
[(
attr
.
namespaceURI
,
attr
.
localName
)]
=
attr
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment