]> Sergey Matveev's repositories - dotfiles.git/blobdiff - bin/bin/mail_dup_hdrs_remove.py
Fix stupid name
[dotfiles.git] / bin / bin / mail_dup_hdrs_remove.py
diff --git a/bin/bin/mail_dup_hdrs_remove.py b/bin/bin/mail_dup_hdrs_remove.py
new file mode 100755 (executable)
index 0000000..669d8b4
--- /dev/null
@@ -0,0 +1,34 @@
+#!/usr/bin/env python3.6
+
+import sys
+
+fn = sys.argv[1]
+out = sys.argv[2]
+with open(fn, "rb") as fd:
+    lines = fd.read().split(b"\n")
+
+def dup(lines, what):
+    idx = []
+    met = False
+    for i, line in enumerate(lines):
+        if line == "":
+            break
+        if met:
+            if line.startswith(b" "):
+                idx.append(i)
+                continue
+            else:
+                met = False
+        if line.startswith(what):
+            if len(idx) == 0:
+                idx.append(i)
+                met = True
+            else:
+                return [l for n, l in enumerate(lines) if n not in idx]
+    return lines
+
+lines = dup(lines, b"To")
+lines = dup(lines, b"From")
+lines = dup(lines, b"Subject")
+with open(out, "wb") as fd:
+    fd.write(b"\n".join(lines))