summaryrefslogtreecommitdiff
path: root/seq-ateurs.py
diff options
context:
space:
mode:
Diffstat (limited to 'seq-ateurs.py')
-rw-r--r--seq-ateurs.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/seq-ateurs.py b/seq-ateurs.py
new file mode 100644
index 0000000..c5ff9b6
--- /dev/null
+++ b/seq-ateurs.py
@@ -0,0 +1,42 @@
+#!/usr/bin/env python3
+import plantuml
+import sys
+import time
+import os
+
+f = open(sys.argv[1], 'r').readlines()
+p = plantuml.PlantUML(url="http://www.plantuml.com/plantuml/svg/")
+
+
+def generate_svg(name, text):
+ print(f"generating: {text}")
+ try:
+ res = p.processes(plantuml_text=(text))
+ except Exception:
+ print(p.get_url(plantuml_text=(text)))
+ return
+
+ svg = 'seq/' + name + '.svg'
+ pdf = 'seq/' + name + '.pdf'
+ open(svg, 'wb').write(res)
+ os.system(f"inkscape {svg} -o {pdf}")
+ time.sleep(1)
+
+
+def parse_sequence(offset):
+ print(f"offset: {offset}")
+ while not "```plantuml" == f[offset].strip():
+ offset += 1
+ begin = offset
+ while not "```" == f[offset].strip():
+ offset += 1
+ lines = f[begin + 1:(offset - 1)]
+ name = f[begin + 1][1:-1]
+ print(f"name: {name}")
+ generate_svg(name, ''.join(lines))
+ return offset
+
+
+offset = 0
+while offset < len(f):
+ offset = parse_sequence(offset)