diff options
Diffstat (limited to 'fedora_business_cards/generate.py')
-rw-r--r-- | fedora_business_cards/generate.py | 23 |
1 files changed, 21 insertions, 2 deletions
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() |