From 63fb9e6c50f3b1e4c3b052d5951f4b73cc254be6 Mon Sep 17 00:00:00 2001 From: Dennis Kobert Date: Thu, 2 Jul 2020 13:44:09 +0200 Subject: Export pdf --- secateurs.py | 15 ++++++++++----- test.plm | 33 +++++++++++++++++---------------- 2 files changed, 27 insertions(+), 21 deletions(-) diff --git a/secateurs.py b/secateurs.py index c6a4f04..ffa29b3 100644 --- a/secateurs.py +++ b/secateurs.py @@ -1,9 +1,10 @@ import plantuml import sys import time +import os f = open(sys.argv[1], 'r').readlines() -p = plantuml.PlantUML(url="http://www.plantuml.com/plantuml/img/") +p = plantuml.PlantUML(url="http://www.plantuml.com/plantuml/svg/") preamble = [] @@ -26,7 +27,9 @@ def generate_svg(text): return name = text.split(' ') - open('out/' + name[name.index('namespace') + 1] + '.png', 'wb').write(res) + name = 'out/' + name[name.index('namespace') + 1] + open(name + '.svg', 'wb').write(res) + os.system(f"inkscape {name + '.svg'} -o {name + '.pdf'}") time.sleep(1) @@ -34,7 +37,7 @@ def parse_namespace(offset): print(f"offset: {offset}") depth = 1 contains_subspaces = False - for i in range(offset + 2, len(f)): + for i in range(offset + 1, len(f)): #print(f[i]) depth += f[i].count("{") - f[i].count("}") if "namespace" in f[i]: @@ -42,8 +45,10 @@ def parse_namespace(offset): contains_subspaces = True parse_namespace(i) if depth == 0: - if not contains_subspaces: - generate_svg('\n'.join(f[offset:i + 1])) + if not contains_subspaces or True: + lines = f[offset:i + 1] + #lines = filter(lambda x: "hidden" not in x, lines) + generate_svg(''.join(lines)) return i diff --git a/test.plm b/test.plm index fc3fad0..1617586 100644 --- a/test.plm +++ b/test.plm @@ -27,6 +27,9 @@ namespace django #DDDDDD { class AbstractBaseUser << (M,orchid) >> } 'django.contrib.auth.base_user.AbstractBaseUser -d-|>django.db.models.Model + django.contrib.auth.base_user.AbstractBaseUser -[hidden]d- django.core.management.base.BaseCommand + 'django.forms -[hidden]u- django.db.models + django.core.management.base.BaseCommand -[hidden]d- django.forms } @@ -109,8 +112,6 @@ namespace dill { check_permission(user: User): bool } - - } namespace dill.accounts.models { @@ -220,6 +221,17 @@ namespace dill { __contains__(perm: Perm): bool } } + dill.accounts.mixins.LoginRequiredMixin --[hidden]l- dill.accounts.mixins.AccessMixin + + dill.accounts.models -[hidden]d- dill.accounts.management.commands + dill.accounts.management.commands -[hidden]l- dill.accounts.permissions + dill.accounts.permissions --[hidden]d- dill.accounts.backends + dill.accounts.backends --[hidden]d- dill.accounts.forms + dill.accounts.views -[hidden]d- dill.accounts.mixins + + 'dill.accounts.views -[hidden]d- dill.accounts.forms + dill.accounts.mixins --[hidden]d- dill.accounts.middleware + dill.accounts.middleware -[hidden]l- dill.accounts.templatetags.perms } namespace dill.models { @@ -251,7 +263,6 @@ namespace dill { thumb_height: IntegerField thumb_width: IntegerField - save() } class Note << (M,orchid) >> { @@ -283,6 +294,8 @@ namespace dill { length: IntegerField height: IntegerField width: IntegerField + + __str__() } NoteMedia -[hidden]d- Note @@ -333,24 +346,12 @@ namespace dill { 'django-media-fields.models.VideoField -[hidden]d- django.contrib.auth.base_user.AbstractBaseUser ' make it nice - django.contrib.auth.base_user.AbstractBaseUser -[hidden]d- django.core.management.base.BaseCommand - 'django.forms -[hidden]u- django.db.models - django.core.management.base.BaseCommand -[hidden]d- django.forms + 'django.views -[hidden]u- django.forms dill.accounts.middleware -[hidden]d- dill.admin 'django.forms -[hidden]d- django.core.management.base.BaseCommand 'django.core.management.base.BaseCommand -[hidden]d- django.views dill.models --[hidden]d- dill.accounts - dill.accounts.mixins.LoginRequiredMixin --[hidden]l- dill.accounts.mixins.AccessMixin - dill.accounts.models -[hidden]d- dill.accounts.management.commands - dill.accounts.management.commands -[hidden]l- dill.accounts.permissions - dill.accounts.permissions --[hidden]d- dill.accounts.backends - dill.accounts.backends --[hidden]d- dill.accounts.forms - dill.accounts.views -[hidden]d- dill.accounts.mixins - - 'dill.accounts.views -[hidden]d- dill.accounts.forms - dill.accounts.mixins --[hidden]d- dill.accounts.middleware - dill.accounts.middleware -[hidden]l- dill.accounts.templatetags.perms } -- cgit v1.2.3-54-g00ecf