From 96308eb571b28236528e336f03fe8dd84fceb7d4 Mon Sep 17 00:00:00 2001 From: Sumpfork Date: Fri, 20 Nov 2015 12:56:38 -0800 Subject: [PATCH] better page size handling --- domdiv/__init__.py | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/domdiv/__init__.py b/domdiv/__init__.py index b52dde4..19ce2dd 100644 --- a/domdiv/__init__.py +++ b/domdiv/__init__.py @@ -4,7 +4,7 @@ import codecs import json import sys -from reportlab.lib.pagesizes import LETTER, A4 +import reportlab.lib.pagesizes as pagesizes from reportlab.lib.units import cm from cards import Card @@ -147,16 +147,14 @@ def parse_papersize(spec): else: papersize = spec.upper() - if papersize == 'A4': - print "Using A4 sized paper." - paperwidth, paperheight = A4 - elif papersize == 'LETTER': - print "Using letter sized paper." - paperwidth, paperheight = LETTER - else: - paperwidth, paperheight = parseDimensions(papersize) - print 'Using custom paper size, %.2fcm x %.2fcm' % (paperwidth / cm, paperheight / cm) - + try: + paperwidth, paperheight = getattr(pagesizes, papersize) + except AttributeError: + try: + paperwidth, paperheight = parseDimensions(papersize) + print 'Using custom paper size, %.2fcm x %.2fcm' % (paperwidth / cm, paperheight / cm) + except ValueError: + paperwidth, paperheight = pagesizes.LETTER return paperwidth, paperheight