Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
BDE
nk20
Commits
dcdd8e56
Commit
dcdd8e56
authored
Sep 06, 2020
by
erdnaxe
🦋
Browse files
Migrate LaTeX to XeTeX
parent
ae028b7d
Pipeline
#8668
passed with stages
in 11 minutes and 5 seconds
Changes
16
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
.gitlab-ci.yml
View file @
dcdd8e56
...
...
@@ -18,8 +18,7 @@ py37-django22:
python3-django-extensions python3-django-filters python3-django-polymorphic
python3-djangorestframework python3-django-cas-server python3-psycopg2 python3-pil
python3-babel python3-lockfile python3-pip python3-phonenumbers
python3-bs4 python3-setuptools tox
texlive-latex-base texlive-latex-recommended texlive-lang-french lmodern texlive-fonts-recommended
python3-bs4 python3-setuptools tox texlive-xetex
script
:
tox -e py37-django22
# Ubuntu 20.04
...
...
@@ -36,8 +35,7 @@ py38-django22:
python3-django-extensions python3-django-filters python3-django-polymorphic
python3-djangorestframework python3-django-cas-server python3-psycopg2 python3-pil
python3-babel python3-lockfile python3-pip python3-phonenumbers
python3-bs4 python3-setuptools tox
texlive-latex-base texlive-latex-recommended texlive-lang-french lmodern texlive-fonts-recommended
python3-bs4 python3-setuptools tox texlive-xetex
script
:
tox -e py38-django22
linters
:
...
...
Dockerfile
View file @
dcdd8e56
...
...
@@ -12,8 +12,7 @@ RUN apt-get update && \
python3-babel python3-lockfile python3-pip python3-phonenumbers ipython3
\
python3-bs4 python3-setuptools
\
uwsgi uwsgi-plugin-python3
\
texlive-latex-base texlive-latex-recommended texlive-lang-french lmodern texlive-fonts-recommended
\
gettext libjs-bootstrap4 fonts-font-awesome
&&
\
texlive-xetex gettext libjs-bootstrap4 fonts-font-awesome
&&
\
rm
-rf
/var/lib/apt/lists/
*
# Instal PyPI requirements
...
...
README.md
View file @
dcdd8e56
...
...
@@ -23,8 +23,7 @@ Bien que cela permette de créer une instance sur toutes les distributions,
$ sudo apt update
$ sudo apt install --no-install-recommends -y \
ipython3 python3-setuptools python3-venv python3-dev \
texlive-latex-base texlive-lang-french lmodern texlive-fonts-recommended \
gettext libjs-bootstrap4 fonts-font-awesome git
texlive-xetex gettext libjs-bootstrap4 fonts-font-awesome git
```
2.
**Clonage du dépot**
là où vous voulez :
...
...
@@ -98,8 +97,7 @@ Sinon vous pouvez suivre les étapes décrites ci-dessous.
python3-babel python3-lockfile python3-pip python3-phonenumbers ipython3 \
python3-bs4 python3-setuptools \
uwsgi uwsgi-plugin-python3 \
texlive-latex-base texlive-lang-french lmodern texlive-fonts-recommended \
gettext libjs-bootstrap4 fonts-font-awesome \
texlive-xetex gettext libjs-bootstrap4 fonts-font-awesome \
nginx python3-venv git acl
```
...
...
ansible/roles/1-apt-basic/tasks/main.yml
View file @
dcdd8e56
...
...
@@ -38,10 +38,7 @@
-
python3-venv
# LaTeX (PDF generation)
-
texlive-fonts-recommended
-
texlive-lang-french
-
texlive-latex-base
-
texlive-latex-recommended
-
texlive-xetex
# WSGI server
-
uwsgi
...
...
apps/treasury/static/img/Finalist_bg.jpg
0 → 100644
View file @
dcdd8e56
63.2 KB
apps/treasury/static/img/Kataclist_bg.jpg
0 → 100644
View file @
dcdd8e56
44.6 KB
apps/treasury/static/img/Listorique_bg.jpg
0 → 100644
View file @
dcdd8e56
58 KB
apps/treasury/static/img/Monopolist_bg.jpg
0 → 100644
View file @
dcdd8e56
48.4 KB
apps/treasury/static/img/Saperlistpopette_bg.jpg
0 → 100644
View file @
dcdd8e56
41.2 KB
apps/treasury/static/img/Satellist_bg.jpg
0 → 100644
View file @
dcdd8e56
28.8 KB
apps/treasury/templates/treasury/invoice_sample.tex
View file @
dcdd8e56
{
% load escape_tex %}
\documentclass
[a4paper,11pt]
{
article
}
\nonstopmode
\documentclass
[11pt]
{
article
}
\usepackage
[french]
{
babel
}
\usepackage
[T1]
{
fontenc
}
\usepackage
[utf8]
{
inputenc
}
\usepackage
[a4paper]
{
geometry
}
%\usepackage{bera}
\usepackage
{
fontspec
}
\usepackage
{
geometry
}
\usepackage
{
graphicx
}
\usepackage
{
fancyhdr
}
\usepackage
{
fp
}
\usepackage
{
transparent
}
\usepackage
{
eso-pic
}
\usepackage
{
ifthen
}
\DeclareUnicodeCharacter
{
00B0
}{$^
\circ
$}
\def\TVA
{
0
}
% Taux de la TVA
\def\TotalHT
{
0
}
...
...
@@ -60,7 +52,8 @@
\parbox
[b][\paperheight]
{
\paperwidth
}{
%
\vfill
\centering
{
\transparent
{
0.1
}
\includegraphics
[width=\textwidth]
{
../../apps/treasury/static/img/
{{
obj.bde
}}}}
%
%FIXME remove ".png" on obj.bde
%\includegraphics[width=\textwidth]{../../apps/treasury/static/img/{{ obj.bde }}_bg.jpg};
\vfill
}
}
...
...
apps/treasury/tests/test_treasury.py
View file @
dcdd8e56
# Copyright (C) 2018-2020 by BDE ENS Paris-Saclay
# SPDX-License-Identifier: GPL-3.0-or-later
from
unittest
import
skip
from
django.contrib.auth.models
import
User
from
django.core.exceptions
import
ValidationError
...
...
@@ -143,7 +142,6 @@ class TestInvoices(TestCase):
self
.
assertRedirects
(
response
,
reverse
(
"treasury:invoice_list"
),
302
,
200
)
self
.
assertFalse
(
Invoice
.
objects
.
filter
(
pk
=
self
.
invoice
.
id
).
exists
())
@
skip
(
"LaTeX is buggy in the CI"
)
def
test_invoice_render_pdf
(
self
):
"""
Generate the PDF file of an invoice.
...
...
apps/treasury/views.py
View file @
dcdd8e56
...
...
@@ -209,7 +209,7 @@ class InvoiceRenderView(LoginRequiredMixin, View):
# The file has to be rendered twice
for
ignored
in
range
(
2
):
error
=
subprocess
.
Popen
(
[
"
pdf
latex"
,
"-interaction=nonstopmode"
,
"invoice-{}.tex"
.
format
(
pk
)],
[
"
xe
latex"
,
"-interaction=nonstopmode"
,
"invoice-{}.tex"
.
format
(
pk
)],
cwd
=
tmp_dir
,
stdin
=
open
(
os
.
devnull
,
"r"
),
stderr
=
open
(
os
.
devnull
,
"wb"
),
...
...
apps/wei/templates/wei/weilist_sample.tex
View file @
dcdd8e56
\documentclass
[landscape,10pt]
{
article
}
\usepackage
[utf8]
{
inputenc
}
\usepackage
[T1]
{
fontenc
}
\usepackage
[french]
{
babel
}
\documentclass
[a4paper,landscape,10pt]
{
article
}
\usepackage
{
fontspec
}
\usepackage
[margin=1.5cm]
{
geometry
}
\usepackage
{
lmodern
}
\begin{document}
\begin{center}
\huge
{
Liste des inscrits
\og
{{
wei.name
}}
\fg
{}
}
\huge
{
Liste des inscrits
«
{{
wei.name
}}
»
}
{
% if bus %}
\LARGE
{
Bus
{{
bus.name|safe
}}}
...
...
apps/wei/tests/test_wei_registration.py
View file @
dcdd8e56
...
...
@@ -690,7 +690,7 @@ class TestWEIRegistration(TestCase):
"""
with
open
(
"/dev/null"
,
"wb"
)
as
devnull
:
return
subprocess
.
call
(
[
"which"
,
"
pdf
latex"
],
[
"which"
,
"
xe
latex"
],
stdout
=
devnull
,
stderr
=
devnull
,
)
==
0
...
...
apps/wei/views.py
View file @
dcdd8e56
...
...
@@ -1103,7 +1103,7 @@ class MemberListRenderView(LoginRequiredMixin, View):
with
open
(
os
.
devnull
,
"wb"
)
as
devnull
:
error
=
subprocess
.
Popen
(
[
"
pdf
latex"
,
"-interaction=nonstopmode"
,
"{}/wei-list.tex"
.
format
(
tmp_dir
)],
[
"
xe
latex"
,
"-interaction=nonstopmode"
,
"{}/wei-list.tex"
.
format
(
tmp_dir
)],
cwd
=
tmp_dir
,
stderr
=
devnull
,
stdout
=
devnull
,
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment