📂 FileMgr
📍
/
opt
/
venv
/
sockfence
/
lib
/
python3.9
/
site-packages
/
pip
/
_vendor
/
html5lib
/
treeadapters
✏️ 5lib/treeadapters/genshi.py
⬅ Kembali
from __future__ import absolute_import, division, unicode_literals from genshi.core import QName, Attrs from genshi.core import START, END, TEXT, COMMENT, DOCTYPE def to_genshi(walker): """Convert a tree to a genshi tree :arg walker: the treewalker to use to walk the tree to convert it :returns: generator of genshi nodes """ text = [] for token in walker: type = token["type"] if type in ("Characters", "SpaceCharacters"): text.append(token["data"]) elif text: yield TEXT, "".join(text), (None, -1, -1) text = [] if type in ("StartTag", "EmptyTag"): if token["namespace"]: name = "{%s}%s" % (token["namespace"], token["name"]) else: name = token["name"] attrs = Attrs([(QName("{%s}%s" % attr if attr[0] is not None else attr[1]), value) for attr, value in token["data"].items()]) yield (START, (QName(name), attrs), (None, -1, -1)) if type == "EmptyTag": type = "EndTag" if type == "EndTag": if token["namespace"]: name = "{%s}%s" % (token["namespace"], token["name"]) else: name = token["name"] yield END, QName(name), (None, -1, -1) elif type == "Comment": yield COMMENT, token["data"], (None, -1, -1) elif type == "Doctype": yield DOCTYPE, (token["name"], token["publicId"], token["systemId"]), (None, -1, -1) else: pass # FIXME: What to do? if text: yield TEXT, "".join(text), (None, -1, -1)
💾 Simpan
Batal
⬅ html5lib
4 item
Nama
Tipe
Ukuran
Diubah
Aksi
📁
__pycache__
dir
—
2026-07-29 13:48
📂 Buka
✏️ Rename
🗑
🐍
__init__.py
py
679 B
2026-07-29 13:47
✏️
👁️
🔤
🗑
🐍
genshi.py
py
1.7 KB
2026-07-29 13:47
✏️
👁️
🔤
🗑
🐍
sax.py
py
1.7 KB
2026-07-29 13:47
✏️
👁️
🔤
🗑
✏️ Rename
Nama Baru
Simpan
Batal