diff options
Diffstat (limited to 'ishtar_common/models.py')
| -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 | 
