返回 [Wikilink(target, anchor, alias, relation), ...] Wikilink 是 namedtuple,既支持 link.target 具名访问,也支持 4-tuple 解构。 alias 与 relation 互斥(最多一个非 None);纯 [[X]] 两者都为 None。
(content)
| 297 | |
| 298 | |
| 299 | def parse_wikilinks(content): |
| 300 | """返回 [Wikilink(target, anchor, alias, relation), ...] |
| 301 | |
| 302 | Wikilink 是 namedtuple,既支持 link.target 具名访问,也支持 4-tuple 解构。 |
| 303 | alias 与 relation 互斥(最多一个非 None);纯 [[X]] 两者都为 None。 |
| 304 | """ |
| 305 | out = [] |
| 306 | for m in WIKILINK_RE.finditer(content): |
| 307 | alias, relation = split_alias_or_relation(m.group(3)) |
| 308 | out.append(Wikilink( |
| 309 | target=m.group(1), |
| 310 | anchor=m.group(2), |
| 311 | alias=alias, |
| 312 | relation=relation, |
| 313 | )) |
| 314 | return out |
| 315 | |
| 316 | |
| 317 | def normalize_link_target(target): |
no test coverage detected