summaryrefslogtreecommitdiff
path: root/ar/.local/bin/decodetitle
diff options
context:
space:
mode:
Diffstat (limited to 'ar/.local/bin/decodetitle')
-rwxr-xr-xar/.local/bin/decodetitle17
1 files changed, 17 insertions, 0 deletions
diff --git a/ar/.local/bin/decodetitle b/ar/.local/bin/decodetitle
new file mode 100755
index 0000000..e7a553c
--- /dev/null
+++ b/ar/.local/bin/decodetitle
@@ -0,0 +1,17 @@
+#!/usr/bin/env python3
+
+import html
+import sys
+import xml.etree.ElementTree as ET
+
+text_input = sys.stdin.read()
+root = ET.fromstring(text_input)
+
+# RSS 2.0: <channel><item><title>
+for item in root.findall(".//item"):
+ title = item.find("title")
+ if title is not None and title.text:
+ title.text = html.unescape(title.text)
+
+# re-serialize
+sys.stdout.buffer.write(ET.tostring(root, encoding="utf-8", xml_declaration=True))