diff options
| -rwxr-xr-x | postgresqleu/confreg/jinjapdf.py | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/postgresqleu/confreg/jinjapdf.py b/postgresqleu/confreg/jinjapdf.py index 2b51ead1..2b9a9f16 100755 --- a/postgresqleu/confreg/jinjapdf.py +++ b/postgresqleu/confreg/jinjapdf.py @@ -280,7 +280,7 @@ def test_inlist(v, thelist): class JinjaRenderer(object): - def __init__(self, rootdir, templatefile, fonts, debug=False, systemroot=None, orientation='portrait', pagesize='A4'): + def __init__(self, rootdir, templatefile, fonts, debug=False, jinjadebug=False, systemroot=None, orientation='portrait', pagesize='A4'): if rootdir: self.templatedir = os.path.join(rootdir, 'templates') else: @@ -291,6 +291,7 @@ class JinjaRenderer(object): self.pagesize = landscape(self.pagesize) self.debug = debug + self.jinjadebug = jinjadebug self.border = self.pagebreaks = False @@ -336,6 +337,12 @@ class JinjaRenderer(object): def add_to_story(self, ctx): ctx.update(self.context) s = self.template.render(**ctx) + if self.jinjadebug: + print("Resulting json:") + print("------------------------") + print(s) + print("------------------------") + self.jinjadebug = False # For badges so we don't print one for each badge! try: js = json.loads(s) except ValueError as e: @@ -379,8 +386,8 @@ class JinjaRenderer(object): class JinjaBadgeRenderer(JinjaRenderer): - def __init__(self, rootdir, fonts, debug=False, border=False, pagebreaks=False, systemroot=None, orientation='portrait', pagesize='A4'): - super(JinjaBadgeRenderer, self).__init__(rootdir, 'badge.json', fonts, debug=debug, systemroot=systemroot, orientation=orientation, pagesize=pagesize) + def __init__(self, rootdir, fonts, debug=False, jinjadebug=False, border=False, pagebreaks=False, systemroot=None, orientation='portrait', pagesize='A4'): + super(JinjaBadgeRenderer, self).__init__(rootdir, 'badge.json', fonts, debug=debug, jinjadebug=jinjadebug, systemroot=systemroot, orientation=orientation, pagesize=pagesize) self.border = border self.pagebreaks = pagebreaks @@ -393,8 +400,8 @@ class JinjaBadgeRenderer(JinjaRenderer): class JinjaTicketRenderer(JinjaRenderer): - def __init__(self, rootdir, fonts, debug=False, systemroot=None): - super(JinjaTicketRenderer, self).__init__(rootdir, 'ticket.json', fonts, debug=debug, systemroot=systemroot) + def __init__(self, rootdir, fonts, debug=False, jinjadebug=False, systemroot=None): + super(JinjaTicketRenderer, self).__init__(rootdir, 'ticket.json', fonts, debug=debug, jinjadebug=False, systemroot=systemroot) def add_reg(self, reg, conference): self.add_to_story({ @@ -431,6 +438,7 @@ if __name__ == "__main__": parser.add_argument('--pagebreaks', action='store_true', help='Enable pagebreaks on written file') parser.add_argument('--fontroot', type=str, help='fontroot for dejavu fonts') parser.add_argument('--font', type=str, nargs=1, action='append', help='<font name>:<font path>') + parser.add_argument('--debug-template', action='store_true', help='Print template output before running') args = parser.parse_args() @@ -476,11 +484,11 @@ if __name__ == "__main__": fonts.extend([f.split(':') for f in font]) if args.what == 'badge': - renderer = JinjaBadgeRenderer(args.repopath, fonts, debug=True, border=args.borders, pagebreaks=args.pagebreaks) + renderer = JinjaBadgeRenderer(args.repopath, fonts, debug=True, jinjadebug=args.debug_template, border=args.borders, pagebreaks=args.pagebreaks) for reg in a: renderer.add_badge(reg, conference) else: - renderer = JinjaTicketRenderer(args.repopath, fonts, debug=True) + renderer = JinjaTicketRenderer(args.repopath, fonts, debug=True, jinjadebug=args.debug_template) renderer.add_reg(a[0], conference) with open(args.outputfile, 'wb') as output: |
