diff options
-rw-r--r-- | ishtar_common/models.py | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 6fbb0f313..4165128f6 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -3169,6 +3169,7 @@ class DocumentTemplate(models.Model): datetime.datetime.now().strftime('%Y-%m-%d-%H%M%S') suffix = "." + self.template.name.split('.')[-1] len_objects = len(objects) + names = [] for idx in range(int(len(objects) / self.label_per_page) + 1): if idx * self.label_per_page >= len_objects: break @@ -3184,11 +3185,28 @@ class DocumentTemplate(models.Model): result = engine.render(self.template, **values) except TemplateSyntaxError as e: raise TemplateSyntaxError(str(e), e.lineno) - output_name = main_output_name + "-" + str(idx + 1) + suffix + output_name = main_output_name + "-" + str(idx) + suffix + names.append(output_name) output = open(output_name, 'wb') output.write(result) - # output_name = main_output_name + suffix + output_name = main_output_name + suffix # TODO: merge docs - return the last for now + from ooopy.OOoPy import OOoPy + from ooopy.Transformer import Transformer + import ooopy.Transforms as Transforms + o = OOoPy(infile=names[0], outfile=output_name) + if len(names) > 1: + t = Transformer( + o.mimetype, + Transforms.get_meta(o.mimetype), + Transforms.Concatenate(*(names[1:])), + Transforms.renumber_all(o.mimetype), + Transforms.set_meta(o.mimetype), + Transforms.Fix_OOo_Tag(), + Transforms.Manifest_Append() + ) + t.transform (o) + o.close() return output_name |