PHP 8.2.30
Preview: genshi.py Size: 1.52 KB
/proc/thread-self/root/lib/python2.7/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py

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):
    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)

Directory Contents

Dirs: 0 × Files: 9

Name Size Perms Modified Actions
1.52 KB lrw-r--r-- 2022-04-21 18:08:21
Edit Download
1.68 KB lrw-r--r-- 2022-04-21 18:08:34
Edit Download
1.68 KB lrw-r--r-- 2022-04-21 18:08:34
Edit Download
1.62 KB lrw-r--r-- 2022-04-21 18:08:21
Edit Download
1.72 KB lrw-r--r-- 2022-04-21 18:08:34
Edit Download
1.65 KB lrw-r--r-- 2022-04-21 18:08:35
Edit Download
208 B lrw-r--r-- 2022-04-21 18:08:21
Edit Download
486 B lrw-r--r-- 2022-04-21 18:08:34
Edit Download
486 B lrw-r--r-- 2022-04-21 18:08:34
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).