aboutsummaryrefslogtreecommitdiffstats
path: root/filter_plugins
diff options
context:
space:
mode:
Diffstat (limited to 'filter_plugins')
-rw-r--r--filter_plugins/core.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/filter_plugins/core.py b/filter_plugins/core.py
new file mode 100644
index 0000000..74d6a72
--- /dev/null
+++ b/filter_plugins/core.py
@@ -0,0 +1,19 @@
+import unicodedata
+from typing import Callable
+
+
+def normalize_unicode_to_ansii(data: str) -> str:
+ """Returns an UTF-8 normalized string without unicode characters."""
+ return (
+ unicodedata.normalize("NFD", data)
+ .encode("ascii", errors="ignore")
+ .decode("utf-8")
+ )
+
+
+class FilterModule(object):
+
+ def filters(self) -> dict[str, Callable]:
+ return {
+ "normalize_unicode_to_ansii": normalize_unicode_to_ansii
+ }
remember that computers suck.