-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathconverte_para_pdf.py
37 lines (30 loc) · 1.12 KB
/
converte_para_pdf.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
'''
Converte para pdf usando nbconvert.
Esse script existe para contornar as deficiencias do make que nao lida
bem com nomes de arquivo que contem espaco.
'''
import sys
import shutil
import subprocess
import os
import unicodedata
def remove_acentos(s):
return ''.join(c for c in unicodedata.normalize('NFD', s)
if unicodedata.category(c) != 'Mn')
# Pega o nome de arquivo e troca sublinha por espaco.
nome_base = sys.argv[1][:-4]
nome_sem_acentos = remove_acentos(nome_base)
nome_com_espacos = nome_base.replace('_', ' ')
# Executa o comando usando um arquivo com nome adequado
# Comando para chamar nbconvert e suas opcoes.
comando = u"jupyter nbconvert --execute --allow-errors --config custom_cfg.py"
comando += u" --template notas.tplx --to pdf"
comando += u' "%s"' % (nome_com_espacos + ".ipynb")
print(comando)
subprocess.call(comando, shell=True)
comando = u"jupyter nbconvert --template notas.tplx --to pdf"
comando += u' "%s"' % (nome_com_espacos + ".ipynb")
print(comando)
subprocess.call(comando, shell=True)
os.unlink(nome_com_espacos + ".ipynb")
os.rename(nome_com_espacos + ".pdf", nome_base + ".pdf")