summaryrefslogtreecommitdiffstats
path: root/fedora_business_cards
diff options
context:
space:
mode:
authorOin Maple <mapleoin@copac.rdsnet.ro>2009-04-25 11:33:22 +0300
committerOin Maple <mapleoin@copac.rdsnet.ro>2009-04-25 11:33:22 +0300
commit7cc49782869031e5b95c8c8882eded703a25b265 (patch)
treed9bd2d82bca2b05f605240e1d15714928e13037c /fedora_business_cards
parent9a082fb5c2d26d1c8e53a8523fccd0421196a7c9 (diff)
downloadfedora-business-cards-7cc49782869031e5b95c8c8882eded703a25b265.tar.gz
fedora-business-cards-7cc49782869031e5b95c8c8882eded703a25b265.tar.xz
fedora-business-cards-7cc49782869031e5b95c8c8882eded703a25b265.zip
Changed base templates and generator scripts to allow for width and height flagsHEADmaster
Diffstat (limited to 'fedora_business_cards')
-rw-r--r--fedora_business_cards/frontend/cmdline.py9
-rw-r--r--fedora_business_cards/generate.py23
2 files changed, 28 insertions, 4 deletions
diff --git a/fedora_business_cards/frontend/cmdline.py b/fedora_business_cards/frontend/cmdline.py
index 958aa33..b14fe3a 100644
--- a/fedora_business_cards/frontend/cmdline.py
+++ b/fedora_business_cards/frontend/cmdline.py
@@ -58,6 +58,10 @@ def main():
parser.add_option("-u", "--username", dest="username", default="",
help="If set, use a different name than the one logged"+\
" in with to fill out business card information")
+ parser.add_option("-x", "--width", dest="width", default="",
+ help="If set, use a different height")
+ parser.add_option("-y", "--height", dest="height", default="",
+ help="If set, use a different width")
parser.add_option("--pdf", dest="output", default="png", const="pdf",
action="store_const", help="Export as PDF")
parser.add_option("--png", dest="output", default="png", const="png",
@@ -149,7 +153,8 @@ def main():
# generate front of business card
print "Generating front...",
sys.stdout.flush()
- xml = generate.gen_front(name, title, lines, frontloc)
+ xml = generate.gen_front(name, title, lines, frontloc,
+ options.width, options.height)
if options.output == "svg":
export.svg_to_file(xml, options.username+'-front.'+options.output)
elif options.output == "cmyk_pdf":
@@ -160,7 +165,7 @@ def main():
# generate back of business card
print "Generating back...",
sys.stdout.flush()
- xml = generate.gen_back(backloc)
+ xml = generate.gen_back(backloc, options.width, options.height)
if options.output == "svg":
export.svg_to_file(xml, options.username+'-back.'+options.output)
elif options.output == "cmyk_pdf":
diff --git a/fedora_business_cards/generate.py b/fedora_business_cards/generate.py
index 91f1e14..cf2b4e1 100644
--- a/fedora_business_cards/generate.py
+++ b/fedora_business_cards/generate.py
@@ -37,24 +37,43 @@ def find_node(doc_node, tag_name, attribute_name, attribute_value):
return element
-def gen_front(name, title, lines, template_loc):
+def gen_front(name, title, lines, template_loc, width=None, height=None):
"""
Generates the front of the business card.
"""
dom = minidom.parse(template_loc)
+
namenode = find_node(dom, 'text', 'id', 'fullname')
namenode.appendChild(dom.createTextNode(name))
titlenode = find_node(dom, 'text', 'id', 'title')
titlenode.appendChild(dom.createTextNode(title))
+ if width or height:
+ svg = find_node(dom, 'svg', 'id', 'svg')
+ svg.setAttribute('width', width)
+ svg.setAttribute('height', height)
+ svg.setAttribute('viewBox', '0 0 '+width+' '+height)
+ whiteness = find_node(dom, 'rect', 'id', 'whiteness')
+ whiteness.setAttribute('height', height)
+ blueband = find_node(dom, 'rect', 'id', 'blueband')
+ blueband.setAttribute('height', height)
+ blueband.setAttribute('width', width)
for i in range(6):
node = find_node(dom, 'tspan', 'id', 'line%d' % (i+1))
node.appendChild(dom.createTextNode(lines[i]))
return dom.toxml()
-def gen_back(template_loc):
+def gen_back(template_loc, width=None, height=None):
"""
Generates the back of the business card.
"""
dom = minidom.parse(template_loc)
+ if width or height:
+ svg = find_node(dom, 'svg', 'id', 'svg')
+ svg.setAttribute('width', width)
+ svg.setAttribute('height', height)
+ svg.setAttribute('viewBox', '0 0 '+width+' '+height)
+ background = find_node(dom, 'rect', 'id', 'background')
+ background.setAttribute('width', width)
+ background.setAttribute('height', height)
return dom.toxml()