Created
March 21, 2016 16:34
-
-
Save astrojuanlu/2efcc28995e850d66077 to your computer and use it in GitHub Desktop.
Generate AeroPython certificates
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from datetime import datetime | |
from lxml import etree | |
from natural.number import ordinal | |
def main(source_fname, names): | |
with open(source_fname, 'r') as fh: | |
doc = etree.parse(fh) | |
for name in names: | |
new_doc = change_data(doc, name) | |
first, last = name.split()[:2] | |
new_fname = "{FIRST}_{LAST}.svg".format(FIRST=first.lower(), LAST=last.lower()) | |
with open(new_fname, 'wb') as fh: | |
fh.write(etree.tostring(doc)) | |
def change_data(doc, name): | |
root = doc.getroot() | |
name_el, = root.xpath("//*[@id='tspan7354']") | |
date_el, = root.xpath("//*[@id='tspan7354-1']") | |
date = datetime.now() | |
name_el.text = name | |
date_el.text = date.strftime("%B {DAY}, %Y").replace("{DAY}", ordinal(date.day)) | |
return doc | |
if __name__ == '__main__': | |
import sys | |
import fileinput | |
names = [] | |
for name in fileinput.input(): | |
names.append(name) | |
main("source_caminos.svg", names) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
python generate.py < names.txt | |
for file in *_*.svg; do | |
inkscape -z $file -A ${file%.*}.pdf | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment