-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathpyploma.py
executable file
·42 lines (31 loc) · 1.36 KB
/
pyploma.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# -*- coding: utf-8 -*-
# This diploma generator read a list of names to
# fill a LaTeX template with a point for the name.
# Optinally, it can compile the LaTeX files and join them.
# If LaTeX errors are present, then press Enter.
print "Pyploma: Diploma generator for LaTeX and pdf.\n"
import sys
# Invoke terminal
from commands import *
import commands
def run_command(cmd):
getstatusoutput(cmd)
if len(sys.argv) != 3:
print "Usage: python pyploma.py \"Name To be Printed\" Event_ID"
else:
name = str(sys.argv[1])
filename = str(sys.argv[2])
salida = open(filename + ".tex","w") # create a LaTeX file for each person in the list
text = open("certi.tex") # open the LaTeX document
text = text.read() # read it
text_list = list(text) # transform it into a list
y_name = text.find("%pointname") #search the point for name inclusion
z_name = len("%pointname")+2
text_list[y_name+z_name:y_name+z_name] = name # insert the name
text_final = "".join(text_list) # from list to string
salida.write(text_final) # save changes in the created file
salida.close() # closes the file
run_command(str("pdflatex -interaction=nonstopmode " + filename + ".tex")) # compile LaTeX a pdf (optional)
print name #control
run_command(str("pdftk output*.pdf cat output todos_diplomas.pdf")) # create pdf with all the created diplomas (optional)
print "\nAnd we are done! :-)" #control