D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
usr
/
lib
/
python3.6
/
site-packages
/
html5lib
/
filters
/
Filename :
whitespace.py
back
Copy
from __future__ import absolute_import, division, unicode_literals import re from . import base from ..constants import rcdataElements, spaceCharacters spaceCharacters = "".join(spaceCharacters) SPACES_REGEX = re.compile("[%s]+" % spaceCharacters) class Filter(base.Filter): spacePreserveElements = frozenset(["pre", "textarea"] + list(rcdataElements)) def __iter__(self): preserve = 0 for token in base.Filter.__iter__(self): type = token["type"] if type == "StartTag" \ and (preserve or token["name"] in self.spacePreserveElements): preserve += 1 elif type == "EndTag" and preserve: preserve -= 1 elif not preserve and type == "SpaceCharacters" and token["data"]: # Test on token["data"] above to not introduce spaces where there were not token["data"] = " " elif not preserve and type == "Characters": token["data"] = collapse_spaces(token["data"]) yield token def collapse_spaces(text): return SPACES_REGEX.sub(' ', text)
Name
Size
Last Modified
Owner
Permissions
Actions
__pycache__
Dir
August 18 2024 4:13:00
root
0755
__init__.py
0
KB
July 15 2016 1:24:18
root
0644
alphabeticalattributes.py
0.606
KB
July 15 2016 1:24:18
root
0644
base.py
0.279
KB
July 15 2016 1:24:18
root
0644
inject_meta_charset.py
2.678
KB
July 15 2016 1:24:18
root
0644
lint.py
3.274
KB
July 15 2016 1:24:18
root
0644
optionaltags.py
10.287
KB
July 15 2016 1:24:18
root
0644
sanitizer.py
24.512
KB
July 15 2016 1:24:18
root
0644
whitespace.py
1.112
KB
July 15 2016 1:24:18
root
0644
2017 © D7net | D704T team