summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDennis Kobert <dennis@kobert.dev>2020-07-02 13:44:09 +0200
committerDennis Kobert <dennis@kobert.dev>2020-07-02 13:44:09 +0200
commit63fb9e6c50f3b1e4c3b052d5951f4b73cc254be6 (patch)
tree9f5065d51a7064816d4434969db35c88ca5466f3
parent09bc9ecdb65bb1de671cd03462795face175cb61 (diff)
Export pdf
-rw-r--r--secateurs.py15
-rw-r--r--test.plm33
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
}