Skip to content

Commit 6e47509

Browse files
committed
Convert single "<>" to HTML entities
Closes #1562.
1 parent ea00860 commit 6e47509

File tree

3 files changed

+26
-9
lines changed

3 files changed

+26
-9
lines changed

tests/test_el.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@
2929
[],
3030
[],
3131
[
32-
"<b>-ης</b> < <i>αρχαία ελληνική</i> -ης",
33-
"<b>-ης</b> < (<i>ελληνιστική κοινή</i>) -ις < <i>αρχαία ελληνική</i> -(ε)ιος (<i>αρχαία ελληνική</i> κύριος, <i><b>αιτιατική</b></i> τόν κύριον > (<i>ελληνιστική κοινή</i>) τόν κῦριν →ὁ κῦρις > <i>μεσαιωνική ελληνική</i> κύρης > <i>νέα ελληνική</i> νοικοκύρης)",
34-
"<b>-ης</b> < <i>μεσαιωνική ελληνική</i> <b>-ης</b>",
35-
"<b>-ης</b> < <i>αρχαία ελληνική</i> <b>-ης, -ης, -ες</b> & <b>-ής, -ής, -ές</b>",
36-
"<b>-ης</b> < (<i>ελληνιστική κοινή</i>) <b>-ῆς</b> (γενική ενικού θηλυκών: κατά γ<b>ῆς</b>)",
37-
"<b>-ης</b> < <i>τουρκική</i> <b>-i</b> (fıstık > fıstık<b>i</b>)",
32+
"<b>-ης</b> &lt; <i>αρχαία ελληνική</i> -ης",
33+
"<b>-ης</b> &lt; (<i>ελληνιστική κοινή</i>) -ις &lt; <i>αρχαία ελληνική</i> -(ε)ιος (<i>αρχαία ελληνική</i> κύριος, <i><b>αιτιατική</b></i> τόν κύριον &gt; (<i>ελληνιστική κοινή</i>) τόν κῦριν →ὁ κῦρις &gt; <i>μεσαιωνική ελληνική</i> κύρης &gt; <i>νέα ελληνική</i> νοικοκύρης)",
34+
"<b>-ης</b> &lt; <i>μεσαιωνική ελληνική</i> <b>-ης</b>",
35+
"<b>-ης</b> &lt; <i>αρχαία ελληνική</i> <b>-ης, -ης, -ες</b> & <b>-ής, -ής, -ές</b>",
36+
"<b>-ης</b> &lt; (<i>ελληνιστική κοινή</i>) <b>-ῆς</b> (γενική ενικού θηλυκών: κατά γ<b>ῆς</b>)",
37+
"<b>-ης</b> &lt; <i>τουρκική</i> <b>-i</b> (fıstık &gt; fıstık<b>i</b>)",
3838
],
3939
["επίθημα τρικατάληκτων τριγενών επιθέτων (-<b>ής</b>, -<b>ιά</b>, -<b>ί</b>)"],
4040
[],
@@ -44,7 +44,7 @@
4444
["/eˈpi.pe.ðo/"],
4545
["ουδέτερο"],
4646
[
47-
"<b>επίπεδο</b>, επί- <i>ουδέτερο του</i> <b>επίπεδος</b> < (διαχρονικό δάνειο) <i>αρχαία ελληνική</i> ἐπίπεδον",
47+
"<b>επίπεδο</b>, επί- <i>ουδέτερο του</i> <b>επίπεδος</b> &lt; (διαχρονικό δάνειο) <i>αρχαία ελληνική</i> ἐπίπεδον",
4848
],
4949
[
5050
"(<i>γεωμετρία</i>) η λεία ομοιόμορφη γεωμετρική επιφάνεια η οποία μπορεί να εφαρμόσει πλήρως με τον εαυτό της ακόμα και εν κινήσει",
@@ -59,7 +59,7 @@
5959
["/laɱˈva.no/"],
6060
[],
6161
[
62-
"<b>λαμβάνω</b> < (διαχρονικό δάνειο) <i>αρχαία ελληνική</i> λαμβάνω < <i>πρωτοϊνδοευρωπαϊκή</i> *<i>sleh₂gʷ</i>-",
62+
"<b>λαμβάνω</b> &lt; (διαχρονικό δάνειο) <i>αρχαία ελληνική</i> λαμβάνω &lt; <i>πρωτοϊνδοευρωπαϊκή</i> *<i>sleh₂gʷ</i>-",
6363
],
6464
[
6565
"παίρνω, δέχομαι",

tests/test_ro.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@
9292
(
9393
"temperatură",
9494
["/tem.pe.raˈtu.rə/"],
95-
["Din franceză <i>température</i> < latină <i>temperatura</i>."],
95+
["Din franceză <i>température</i> &lt; latină <i>temperatura</i>."],
9696
[
9797
"gradul, starea de căldură a unui mediu, a unui corp etc.",
9898
"stare fiziologică constantă a corpului animal, reprezentând echilibrul dintre căldura produsă și cea pierdută.",

wikidict/utils.py

+17
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,19 @@ def clean(text: str, *, locale: str = "en") -> str:
335335
336336
>>> clean("<gallery>\nImage: Hydra (creature).jpg|due idre minacciose\nImage: Hydre.jpg|idra minacciosa\nImage: Chateauneuf-Randon de Joyeuse.svg|d'oro, a tre pali d'azzurro; al capo di rosso caricato di tre idre minacciose del campo<br /></gallery>")
337337
''
338+
339+
>>> clean(" <")
340+
'<'
341+
>>> clean("< ")
342+
'&lt;'
343+
>>> clean(" < ")
344+
'&lt;'
345+
>>> clean(" >")
346+
'&gt;'
347+
>>> clean("> ")
348+
'>'
349+
>>> clean(" > ")
350+
'&gt;'
338351
"""
339352

340353
# Speed-up lookup
@@ -428,6 +441,10 @@ def clean(text: str, *, locale: str = "en") -> str:
428441
text = sub(r"<<([^/>]+)>>", "\\1", text)
429442
text = sub(r"<<(?:[^/>]+)/([^>]+)>>", "\\1", text)
430443

444+
# Convert single "< ", and " >" to HTML quotes
445+
text = sub(r"<\s+", "&lt; ", text)
446+
text = sub(r"\s+>", " &gt;", text)
447+
431448
# Restore math formulas
432449
for idx, formula in enumerate(formulas):
433450
text = text.replace(f"##math{idx}##", formula)

0 commit comments

Comments
 (0)