build,topic
This commit is contained in:
parent
c78a7fc942
commit
605e5f9f58
3 changed files with 90 additions and 0 deletions
82
cnam/travaux/mémoire/build.py
Executable file
82
cnam/travaux/mémoire/build.py
Executable file
|
@ -0,0 +1,82 @@
|
|||
#! /usr/bin/python3 -B
|
||||
|
||||
import os
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
DOCUMENTS = [
|
||||
('topic', 'sujet'),
|
||||
# ('document', 'mémoire'),
|
||||
# ('présentation', 'présentation'),
|
||||
]
|
||||
TMP = 'tmp'
|
||||
|
||||
|
||||
def run(command):
|
||||
subprocess.call(command)
|
||||
|
||||
|
||||
def errun(command):
|
||||
return subprocess.check_output(
|
||||
command, stderr=subprocess.STDOUT)
|
||||
|
||||
|
||||
def build(sign):
|
||||
for en, fr in DOCUMENTS:
|
||||
command = ['xelatex', '-output-directory', TMP, en]
|
||||
run(command)
|
||||
run(['makeglossaries', '-d', TMP, en])
|
||||
run(['biber',
|
||||
'--input-directory', TMP,
|
||||
'--output-directory', TMP,
|
||||
en,
|
||||
])
|
||||
run(command)
|
||||
run(command)
|
||||
pdf = f'{fr}.pdf'
|
||||
os.rename(os.path.join(TMP, f'{en}.pdf'),
|
||||
os.path.join(TMP, pdf))
|
||||
if not sign:
|
||||
os.rename(os.path.join(TMP, pdf), pdf)
|
||||
else:
|
||||
run(['gpg',
|
||||
'--armor',
|
||||
'--detach-sign',
|
||||
os.path.join(TMP, pdf),
|
||||
])
|
||||
signature = f'{pdf}.asc'
|
||||
for f in [pdf, signature]:
|
||||
os.rename(os.path.join(TMP, f), f)
|
||||
lines = errun(['gpg',
|
||||
'--verify', signature, pdf,
|
||||
]).decode('u8').splitlines()
|
||||
id = lines[2].index('"')
|
||||
lines = [
|
||||
lines[0],
|
||||
lines[1],
|
||||
lines[2][:id] + lines[4][id:]
|
||||
.replace('@', ' @ ')
|
||||
.replace('.', ' ⋅ ')
|
||||
] + lines[5:]
|
||||
buffer = os.linesep.join(lines).encode('u8')
|
||||
with open(f'{pdf}.vrf', 'bw') as f:
|
||||
f.write(buffer)
|
||||
|
||||
|
||||
def clean():
|
||||
shutil.rmtree(TMP, ignore_errors=True)
|
||||
|
||||
|
||||
def main():
|
||||
file = os.path.realpath(__file__)
|
||||
directory = os.path.dirname(file)
|
||||
os.chdir(directory)
|
||||
clean()
|
||||
os.makedirs(TMP)
|
||||
build(len(sys.argv) == 1)
|
||||
clean()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
|
@ -1,6 +1,8 @@
|
|||
Sujet
|
||||
=====
|
||||
|
||||
* :download:`Sujet <sujet.pdf>`
|
||||
|
||||
Livrables
|
||||
=========
|
||||
|
||||
|
|
6
cnam/travaux/mémoire/topic.tex
Normal file
6
cnam/travaux/mémoire/topic.tex
Normal file
|
@ -0,0 +1,6 @@
|
|||
\documentclass[12pt]{extarticle}
|
||||
\begin{document}
|
||||
|
||||
\pagebreak
|
||||
|
||||
\end{document}
|
Loading…
Add table
Add a link
Reference in a new issue