summaryrefslogtreecommitdiff
path: root/instructions_extractor.py
diff options
context:
space:
mode:
authorTimotej Lazar <timotej.lazar@fri.uni-lj.si>2019-02-24 21:05:27 +0100
committerTimotej Lazar <timotej.lazar@fri.uni-lj.si>2019-02-24 21:05:27 +0100
commit8081a5520a441b43a8a7a73f3a90c7aacfaa8e10 (patch)
treec7f49bd33ed19d53afc0ee9df8b2c82c200c5910 /instructions_extractor.py
parent9963b74f777edf985540eac71b1ca095f88b8bca (diff)
Move everything one level up
Diffstat (limited to 'instructions_extractor.py')
-rw-r--r--instructions_extractor.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/instructions_extractor.py b/instructions_extractor.py
new file mode 100644
index 0000000..cc622f9
--- /dev/null
+++ b/instructions_extractor.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python3
+
+import glob
+import os
+import sys
+
+def print_instructions(p, fname):
+ try:
+ print("---------------")
+ l = p.split(os.sep)
+ l1 = []
+ for i in range(len(l)):
+ f = os.path.join(*l[:i+1])
+ if os.path.islink(f):
+ s = "{0} ({1})".format(l[i], os.path.split(os.readlink(f))[1])
+ else:
+ s = l[i]
+ l1.append(s)
+ print(p)
+ print(" - ".join(l1))
+ with open(os.path.join(p, fname)) as f:
+ task_code = compile(f.read(), fname, 'exec')
+ d = {}
+ exec(task_code, globals(), d)
+ for lang, text in d['instructions'].items():
+ print("Language: {0}".format(lang))
+ print(text.encode('utf-8'))
+ print("")
+ except Exception as e:
+ print(e)
+
+if __name__ == '__main__':
+ l = glob.glob(sys.argv[1])
+ l.sort()
+ for d in l:
+ for root, dirs, files in os.walk(d, followlinks=True):
+ for fname in files:
+ if fname == 'task.py':
+ print_instructions(root, fname)