summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2019-05-23 10:53:43 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2019-05-23 10:53:43 +0200
commit1eaa2257d7cc72ed6c25df393c591da544a12f53 (patch)
treefd85fae64a1a0c00c8efb9afb98614fe1c8fa8c7 /ishtar_common
parent1351334e7914608fc2de87b806846bc37f671097 (diff)
downloadIshtar-1eaa2257d7cc72ed6c25df393c591da544a12f53.tar.bz2
Ishtar-1eaa2257d7cc72ed6c25df393c591da544a12f53.zip
Document generation: better layout for VALUES
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/models.py29
-rw-r--r--ishtar_common/utils_secretary.py4
2 files changed, 20 insertions, 13 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index e78e18704..612b57b03 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -120,14 +120,16 @@ class ValueGetter(object):
if not hasattr(self, 'documents'):
return values
values[prefix + "documents"] = [
- doc.get_values(prefix=prefix) for doc in self.documents.all()
+ doc.get_values(no_values=True)
+ for doc in self.documents.all()
]
if hasattr(self, "main_image") and self.main_image and hasattr(
self.main_image, "get_values"):
- values[prefix + "main_image"] = self.main_image.get_values()
+ values[prefix + "main_image"] = self.main_image.get_values(
+ no_values=True)
return values
- def get_values(self, prefix=''):
+ def get_values(self, prefix='', no_values=False):
if not prefix:
prefix = self._prefix
values = {}
@@ -154,20 +156,27 @@ class ValueGetter(object):
if val.endswith('.None'):
val = ''
values[key] = val
- if prefix and prefix != self._prefix:
+ if (prefix and prefix != self._prefix) or no_values:
# do not provide KEYS and VALUES for sub-items
return values
- values['KEYS'] = u'\n'.join(values.keys())
value_list = []
for key in values.keys():
if key in ('KEYS', 'VALUES'):
continue
value_list.append((key, unicode(values[key])))
+ """
values['VALUES'] = u'\n'.join(
[u"%s: %s" % (k, v) for k, v in sorted(value_list,
key=lambda x: x[0])])
+ """
for global_var in GlobalVar.objects.all():
values[global_var.slug] = global_var.value or ""
+ values['VALUES'] = json.dumps(
+ values, indent=4, sort_keys=True,
+ skipkeys=True, ensure_ascii=False,
+ separators=("", " : "),
+ ).replace(" " * 4, "\t")
+
return values
@classmethod
@@ -3780,8 +3789,9 @@ class Person(Address, Merge, OwnPerms, ValueGetter):
values.append(attached_to)
return u" ".join(values)
- def get_values(self, prefix=''):
- values = super(Person, self).get_values(prefix=prefix)
+ def get_values(self, prefix='', no_values=False):
+ values = super(Person, self).get_values(prefix=prefix,
+ no_values=no_values)
if not self.attached_to:
values.update(
Person.get_empty_values(prefix=prefix + 'attached_to_'))
@@ -4629,8 +4639,9 @@ class Document(BaseHistorizedItem, OwnPerms, ImageModel, ValueGetter):
return ""
return self.image.path
- def get_values(self, prefix=""):
- values = super(Document, self).get_values(prefix=prefix)
+ def get_values(self, prefix="", no_values=False):
+ values = super(Document, self).get_values(prefix=prefix,
+ no_values=no_values)
values[prefix + "image_path"] = self.image_path
return values
diff --git a/ishtar_common/utils_secretary.py b/ishtar_common/utils_secretary.py
index 6f605590e..15fb69a2d 100644
--- a/ishtar_common/utils_secretary.py
+++ b/ishtar_common/utils_secretary.py
@@ -25,10 +25,6 @@ class IshtarSecretaryRenderer(Renderer):
# self.environment.filters['pad'] = pad_string
def ishtar_media_loader(self, media, *args, **kwargs):
- """Loads a file from the file system.
- :param media: A file object or a relative or absolute path of a file.
- :type media: unicode
- """
image_file, mime = self.fs_loader(media, *args, **kwargs)
if "width" in kwargs:
kwargs['frame_attrs']['svg:width'] = kwargs["width"]