晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
| DIR:/opt/cloudlinux/venv/lib64/python3.11/site-packages/guppy/gsl/ |
| Current File : //opt/cloudlinux/venv/lib64/python3.11/site-packages/guppy/gsl/Gsml.py |
class GsmlHandler:
# To be mixed in with something like HTMLParser.HTMLParser
def handle_starttag(self, tag, attrs):
self.stack.append(self.out)
self.out = []
if attrs:
at = []
for k, v in attrs:
at.append(self.mod.node_of_taci(k, v))
self.out.append(self.mod.node_of_taci('with', '', at))
def handle_endtag(self, tag):
node = self.mod.node_of_taci(tag, '', self.out)
self.out = self.stack.pop()
self.out.append(node)
def handle_charref(self, name):
if name[:1] == "x":
char = int(name[1:], 16)
name = '0'+name
else:
char = int(name)
if 0 <= char < 128:
char = chr(char)
self.handle_data(char)
else:
self.out.append(self.mod.node_of_taci('char', name))
def handle_entityref(self, name):
if name not in self.mod.entitydefs:
self.unknown_entityref(name)
self.out.append(self.mod.node_of_taci('char', name))
def unknown_entityref(self, name):
raise SyntaxError('Unknown entity ref: %r' % name)
def handle_data(self, data):
# data = data.strip()
if data.strip():
self.out.extend(self.mod.nodes_of_text(data))
def handle_comment(self, data):
self.out.append(self.mod.node_of_taci('comment', data, (), 0))
def handle_decl(self, decl):
self.out.append(self.mod.node_of_taci('html_declaration', decl))
def handle_pi(self, data):
self.out.append(self.mod.node_of_taci('processing_instruction', data))
class _GLUECLAMP_:
_imports_ = (
'_root.html.parser:HTMLParser',
'_parent.SpecNodes:node_of_taci',
'_parent.SpecNodes:nodes_of_text',
'_root.htmlentitydefs:entitydefs',
)
encoding = "iso-8859-1"
def node_of_gsml(self, text):
class Parser(GsmlHandler, self.HTMLParser):
def __init__(self, mod):
mod.HTMLParser.__init__(self)
self.mod = mod
self.out = []
self.stack = []
p = Parser(self)
p.feed(text)
p.close()
if p.stack:
raise SyntaxError('Missing end tag')
node = self.node_of_taci('block', '', p.out, 0)
return node
def _test_main_(self):
x = """
<!DOCTYPE html...>
This is an <em> emphasized </em> word.
See also <a href="guppy-pe.sf.net"> Guppy. </a>
Defined as <use_my_macro/>.
Handle char ref: d.
Handle char ref: <.
<!-- A comment -->
<?A processing instruction>
<namespace:tag />
"""
node = self.node_of_gsml(x)
# FIXME: Assert equals to something?
print(node)
|