From e250f6d006843f61d2338f11c142965ba0ac4653 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Wed, 8 Jul 2020 22:45:30 +0200 Subject: [PATCH] probatoire --- build.py | 2 +- cnam/travaux/index.rst | 1 + cnam/travaux/probatoire/.gitignore | 1 + cnam/travaux/probatoire/build.py | 81 +++++++++++++++++++ cnam/travaux/probatoire/document.bib | 0 cnam/travaux/probatoire/document.tex | 11 +++ cnam/travaux/probatoire/document/packages.tex | 12 +++ cnam/travaux/probatoire/index.rst | 7 ++ cnam/travaux/probatoire/probatoire.rst | 10 +++ 9 files changed, 124 insertions(+), 1 deletion(-) create mode 100644 cnam/travaux/probatoire/.gitignore create mode 100755 cnam/travaux/probatoire/build.py create mode 100644 cnam/travaux/probatoire/document.bib create mode 100644 cnam/travaux/probatoire/document.tex create mode 100644 cnam/travaux/probatoire/document/packages.tex create mode 100644 cnam/travaux/probatoire/index.rst create mode 100644 cnam/travaux/probatoire/probatoire.rst diff --git a/build.py b/build.py index a7751a6..1b6057a 100755 --- a/build.py +++ b/build.py @@ -6,7 +6,7 @@ import subprocess import sphinx.cmd.build -TRAVAUX = ['blanc'] +TRAVAUX = ['probatoire'] INPUT = ["cnam"] OUTPUT = "out" diff --git a/cnam/travaux/index.rst b/cnam/travaux/index.rst index 747631f..56a1e33 100644 --- a/cnam/travaux/index.rst +++ b/cnam/travaux/index.rst @@ -6,6 +6,7 @@ Travaux .. toctree:: :maxdepth: 1 + probatoire/index blanc/index image/index pitch/index diff --git a/cnam/travaux/probatoire/.gitignore b/cnam/travaux/probatoire/.gitignore new file mode 100644 index 0000000..2bd18fa --- /dev/null +++ b/cnam/travaux/probatoire/.gitignore @@ -0,0 +1 @@ +/*.pdf diff --git a/cnam/travaux/probatoire/build.py b/cnam/travaux/probatoire/build.py new file mode 100755 index 0000000..87d6c7f --- /dev/null +++ b/cnam/travaux/probatoire/build.py @@ -0,0 +1,81 @@ +#! /usr/bin/python3 -B + +import os +import shutil +import subprocess +import sys + +DOCUMENTS = [ + ('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() diff --git a/cnam/travaux/probatoire/document.bib b/cnam/travaux/probatoire/document.bib new file mode 100644 index 0000000..e69de29 diff --git a/cnam/travaux/probatoire/document.tex b/cnam/travaux/probatoire/document.tex new file mode 100644 index 0000000..bb1d897 --- /dev/null +++ b/cnam/travaux/probatoire/document.tex @@ -0,0 +1,11 @@ +\documentclass[12pt]{extarticle} +\newcommand{\import}[1]{\input{document/#1}} + +\import{packages} + +\bibliography{document} + +\begin{document} + + +\end{document} diff --git a/cnam/travaux/probatoire/document/packages.tex b/cnam/travaux/probatoire/document/packages.tex new file mode 100644 index 0000000..016d469 --- /dev/null +++ b/cnam/travaux/probatoire/document/packages.tex @@ -0,0 +1,12 @@ +\usepackage[a4paper,portrait, +bmargin=20mm,lmargin=20mm,rmargin=20mm,tmargin=20mm]{geometry} +\usepackage{extsizes} +\usepackage{fontspec} + +\usepackage{polyglossia} +\setmainlanguage{french} + +\usepackage[acronym,toc]{glossaries} + +\usepackage[backend=biber,sorting=anyt]{biblatex} +\usepackage{tocbibind} diff --git a/cnam/travaux/probatoire/index.rst b/cnam/travaux/probatoire/index.rst new file mode 100644 index 0000000..18e49dc --- /dev/null +++ b/cnam/travaux/probatoire/index.rst @@ -0,0 +1,7 @@ +Mémoire probatoire +================== + +.. toctree:: + :numbered: 2 + + probatoire diff --git a/cnam/travaux/probatoire/probatoire.rst b/cnam/travaux/probatoire/probatoire.rst new file mode 100644 index 0000000..0cd7f99 --- /dev/null +++ b/cnam/travaux/probatoire/probatoire.rst @@ -0,0 +1,10 @@ +Sujet +===== + +* :download:`SVM ` + +Livrables +========= + +* :download:`Mémoire ` +* :download:`Présentation `