[surveillance/fiche_deconnexion/<des trucs>] iso8859-15 is evil
Réencodage des fichiers et changements des variable d'encodage du script.
This commit is contained in:
parent
14b5e136cf
commit
b29face316
3 changed files with 123 additions and 121 deletions
|
@ -9,7 +9,7 @@
|
|||
\usepackage{alltt}
|
||||
\usepackage[dvips]{eso-pic,graphicx}
|
||||
\usepackage{color}
|
||||
\usepackage[latin1]{inputenc}
|
||||
\usepackage[utf8x]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage[french]{babel}
|
||||
|
||||
|
@ -31,7 +31,7 @@
|
|||
\pagestyle{fancy}
|
||||
\renewcommand{\headrulewidth}{0.8pt}
|
||||
\renewcommand{\footrulewidth}{0.2pt}
|
||||
\lhead{\textbf{Notification de déconnexion}}
|
||||
\lhead{\textbf{Notification de déconnexion}}
|
||||
\rhead{\textbf{CR@NS}}
|
||||
\cfoot{\textbf{CR@NS}}
|
||||
|
||||
|
@ -71,7 +71,7 @@
|
|||
\begin{tabular}[c]{c}
|
||||
\hline
|
||||
\vspace{0.1cm} \\
|
||||
\Huge{\textbf{Notification de déconnexion}}\\
|
||||
\Huge{\textbf{Notification de déconnexion}}\\
|
||||
\vspace{0.1cm} \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
|
@ -83,7 +83,7 @@
|
|||
\begin{center}
|
||||
\begin{minipage}{0.5\textwidth}
|
||||
\textbf{Nom} \dotfill{} \nom \\
|
||||
\textbf{Prénom} \dotfill{} \prenom \\
|
||||
\textbf{Prénom} \dotfill{} \prenom \\
|
||||
\textbf{Chambre} \dotfill{} \chambre \\
|
||||
\textbf{Email} \dotfill{} \texttt{\email}
|
||||
\end{minipage}
|
||||
|
@ -93,46 +93,46 @@
|
|||
\noindent\fcolorbox[gray]{0}{0.85}{%
|
||||
\begin{minipage}[t]{0.7\textwidth}%
|
||||
\begin{center}
|
||||
\large Tes machines ont été déconnectées pour environ \textbf{\duree{}}, du
|
||||
\textbf{\depuis{}} jusqu'au \textbf{\jusquau{}} (inclus) pour usage de logiciels de pair à pair (P2P).
|
||||
\large Tes machines ont été déconnectées pour environ \textbf{\duree{}}, du
|
||||
\textbf{\depuis{}} jusqu'au \textbf{\jusquau{}} (inclus) pour usage de logiciels de pair à pair (P2P).
|
||||
\end{center}
|
||||
\end{minipage}}
|
||||
\end{center}
|
||||
\vspace{0.3cm}
|
||||
|
||||
\begin{multicols}{2}
|
||||
{\small En effet, tes machines ont communiquées avec l'extérieur en utilisant
|
||||
des protocoles de P2P, ce qui est interdit par la charte que tu as signée
|
||||
{\small En effet, tes machines ont communiquées avec l'extérieur en utilisant
|
||||
des protocoles de P2P, ce qui est interdit par la charte que tu as signée
|
||||
(\url{http://www.crans.org/CransAdministratif/CharteDuCrans}). Ce point est
|
||||
d'ailleurs rappelé sur l'exemplaire du formulaire d'adhésion que tu as
|
||||
conservé. Les causes les plus communes sont l'utilisation d'un service
|
||||
d'ailleurs rappelé sur l'exemplaire du formulaire d'adhésion que tu as
|
||||
conservé. Les causes les plus communes sont l'utilisation d'un service
|
||||
de \emph{peer to peer} type Kazaa, Morpheus, eDonkey.
|
||||
|
||||
Il n'existe pour ce genre d'actions qu'une très faible tolérance que
|
||||
tu as dépassé à plusieurs reprises malgré plusieurs alertes par
|
||||
mail\footnote{Si tu n'as pas reçu les
|
||||
Il n'existe pour ce genre d'actions qu'une très faible tolérance que
|
||||
tu as dépassé à plusieurs reprises malgré plusieurs alertes par
|
||||
mail\footnote{Si tu n'as pas reçu les
|
||||
mails en question, c'est que tu ne consultes pas ton mail ; tu
|
||||
\emph{dois} consulter régulièrement ton adresse \email. Si tu veux
|
||||
utiliser une autre adresse mail, adresse-toi à ton câbleur pour le
|
||||
changement.} accompagnés à chaque fois d'une déconnexion de 24h.
|
||||
Voici l'historique de tes déconnexions :
|
||||
\emph{dois} consulter régulièrement ton adresse \email. Si tu veux
|
||||
utiliser une autre adresse mail, adresse-toi à ton câbleur pour le
|
||||
changement.} accompagnés à chaque fois d'une déconnexion de 24h.
|
||||
Voici l'historique de tes déconnexions :
|
||||
\begin{center}
|
||||
\begin{tabular}[c]{p{5cm}}
|
||||
\historique
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
|
||||
Tous les services te sont retirés durant la durée de la déconnexion,
|
||||
\textbf{notamment l'accès à Internet}, à l'exception
|
||||
Tous les services te sont retirés durant la durée de la déconnexion,
|
||||
\textbf{notamment l'accès à Internet}, à l'exception
|
||||
\ifthenelse{\boolean{mailcrans}}{du mail (sur le serveur de
|
||||
l'association uniquement) et }{}de l'accès au serveur Web de
|
||||
l'association (désactive le proxy si tu ne parviens pas à y accéder).
|
||||
Note également que tu es responsable de l'utilisation qui est faite de
|
||||
l'association uniquement) et }{}de l'accès au serveur Web de
|
||||
l'association (désactive le proxy si tu ne parviens pas à y accéder).
|
||||
Note également que tu es responsable de l'utilisation qui est faite de
|
||||
tes machines. Le fait que tu ne saches pas que certains programmes
|
||||
utilisent des protocoles de P2P ne te dispense pas de ta responsabilité.
|
||||
utilisent des protocoles de P2P ne te dispense pas de ta responsabilité.
|
||||
|
||||
Si tu as des questions supplémentaires, envoie les à \url{disconnect@crans.org}.
|
||||
Il est inutile d'aller déranger ton câbleur qui ne gère pas ce problème.}
|
||||
Si tu as des questions supplémentaires, envoie les à \url{disconnect@crans.org}.
|
||||
Il est inutile d'aller déranger ton câbleur qui ne gère pas ce problème.}
|
||||
\vspace{0.3cm}
|
||||
|
||||
\noindent\fcolorbox[gray]{0}{0.98}{\begin{minipage}{0.5\textwidth}
|
||||
|
@ -142,41 +142,41 @@ Il est inutile d'aller d
|
|||
$\mathcal{R}:$ \emph{#2}}
|
||||
|
||||
{\small
|
||||
\qa{Pourquoi n'ai-je pas été prévenu plus tôt ?}%
|
||||
{Trois mails au minimum ont été envoyés en moins d'un an à ce sujet
|
||||
sur l'adresse email indiquée sur cette fiche. Il nous faut nécessairement une
|
||||
\qa{Pourquoi n'ai-je pas été prévenu plus tôt ?}%
|
||||
{Trois mails au minimum ont été envoyés en moins d'un an à ce sujet
|
||||
sur l'adresse email indiquée sur cette fiche. Il nous faut nécessairement une
|
||||
adresse valide pour te contacter dans les cas similaires. Tu dois donc
|
||||
lire le mail arrivant à cette adresse ou en indiquer une autre à ton
|
||||
câbleur.\\
|
||||
Ces mails étaient de plus accompagnés chacun d'une déconnexion de 24h.
|
||||
lire le mail arrivant à cette adresse ou en indiquer une autre à ton
|
||||
câbleur.\\
|
||||
Ces mails étaient de plus accompagnés chacun d'une déconnexion de 24h.
|
||||
}
|
||||
|
||||
\qa{J'ai prêté ma chambre à un ami.}%
|
||||
{La connexion est personnelle, à ton nom et tu en es responsable.}
|
||||
\qa{J'ai prêté ma chambre à un ami.}%
|
||||
{La connexion est personnelle, à ton nom et tu en es responsable.}
|
||||
|
||||
\qa{Je ne savais pas que tel programme utilisait un protocole de P2P.}%
|
||||
{Dans le doute, mieux vaut éviter d'utiliser des programmes dont
|
||||
on ne connaît pas le fonctionnement et nous demander, notamment
|
||||
{Dans le doute, mieux vaut éviter d'utiliser des programmes dont
|
||||
on ne connaît pas le fonctionnement et nous demander, notamment
|
||||
lors des premiers mails de sanctions. Outre les programmes
|
||||
comme Kazaa ou eMule, l'utilisation de certaines fonctionnalités d'un
|
||||
programme peut entraîner l'usage des réseaux de P2P.}
|
||||
comme Kazaa ou eMule, l'utilisation de certaines fonctionnalités d'un
|
||||
programme peut entraîner l'usage des réseaux de P2P.}
|
||||
|
||||
\qa{J'ai beaucoup de travail et j'ai besoin du net.}%
|
||||
{C'est le cas des \nbadherents{} adhérents du CRANS et c'est la raison principale
|
||||
de la déconnexion. Nous avons des contraintes extérieures nous
|
||||
obligeant à réguler certains usages afin de conserver la connexion
|
||||
au réseau.}
|
||||
{C'est le cas des \nbadherents{} adhérents du CRANS et c'est la raison principale
|
||||
de la déconnexion. Nous avons des contraintes extérieures nous
|
||||
obligeant à réguler certains usages afin de conserver la connexion
|
||||
au réseau.}
|
||||
|
||||
\qa{Je dois rendre un projet demain !}%
|
||||
{Pas d'exception, ton école fournit sans doute une connexion à Internet, c'est
|
||||
moins confortable que depuis chez soi, mais ça marche quand même. Nous ne pouvons faire
|
||||
{Pas d'exception, ton école fournit sans doute une connexion à Internet, c'est
|
||||
moins confortable que depuis chez soi, mais ça marche quand même. Nous ne pouvons faire
|
||||
absolument \textbf{aucune} exception !}
|
||||
|
||||
\qa{J'ai payé !}%
|
||||
{Il s'agit de l'adhésion à une association et nous avons des contraintes
|
||||
supplémentaires par rapport à un fournisseur d'accès classique. Les
|
||||
statuts nous autorisent à suspendre la connexion en cas de manquement
|
||||
à la charte que tu as signée.}}
|
||||
\qa{J'ai payé !}%
|
||||
{Il s'agit de l'adhésion à une association et nous avons des contraintes
|
||||
supplémentaires par rapport à un fournisseur d'accès classique. Les
|
||||
statuts nous autorisent à suspendre la connexion en cas de manquement
|
||||
à la charte que tu as signée.}}
|
||||
\end{minipage}}
|
||||
\end{multicols}
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
\usepackage{alltt}
|
||||
\usepackage[dvips]{eso-pic,graphicx}
|
||||
\usepackage{color}
|
||||
\usepackage[latin1]{inputenc}
|
||||
\usepackage[utf8x]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage[french]{babel}
|
||||
|
||||
|
@ -31,7 +31,7 @@
|
|||
\pagestyle{fancy}
|
||||
\renewcommand{\headrulewidth}{0.8pt}
|
||||
\renewcommand{\footrulewidth}{0.2pt}
|
||||
\lhead{\textbf{Notification de déconnexion}}
|
||||
\lhead{\textbf{Notification de déconnexion}}
|
||||
\rhead{\textbf{CR@NS}}
|
||||
\cfoot{\textbf{CR@NS}}
|
||||
|
||||
|
@ -72,7 +72,7 @@
|
|||
\begin{tabular}[c]{c}
|
||||
\hline
|
||||
\vspace{0.1cm} \\
|
||||
\Huge{\textbf{Notification de déconnexion}}\\
|
||||
\Huge{\textbf{Notification de déconnexion}}\\
|
||||
\vspace{0.1cm} \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
|
@ -84,7 +84,7 @@
|
|||
\begin{center}
|
||||
\begin{minipage}{0.5\textwidth}
|
||||
\textbf{Nom} \dotfill{} \nom \\
|
||||
\textbf{Prénom} \dotfill{} \prenom \\
|
||||
\textbf{Prénom} \dotfill{} \prenom \\
|
||||
\textbf{Chambre} \dotfill{} \chambre \\
|
||||
\textbf{Email} \dotfill{} \texttt{\email}
|
||||
\end{minipage}
|
||||
|
@ -94,7 +94,7 @@
|
|||
\noindent\fcolorbox[gray]{0}{0.85}{%
|
||||
\begin{minipage}[t]{0.7\textwidth}%
|
||||
\begin{center}
|
||||
\large Tes machines ont été déconnectées pour environ \textbf{\duree{}}, du
|
||||
\large Tes machines ont été déconnectées pour environ \textbf{\duree{}}, du
|
||||
\textbf{\depuis{}} jusqu'au \textbf{\jusquau{}} (inclus) pour upload.
|
||||
\end{center}
|
||||
\end{minipage}}
|
||||
|
@ -102,19 +102,19 @@
|
|||
\vspace{0.3cm}
|
||||
|
||||
\begin{multicols}{2}
|
||||
{\small En effet, tes machines ont envoyé une quantité importante de données vers
|
||||
l'extérieur, ce qui est interdit par la charte que tu as signée
|
||||
{\small En effet, tes machines ont envoyé une quantité importante de données vers
|
||||
l'extérieur, ce qui est interdit par la charte que tu as signée
|
||||
(\url{http://www.crans.org/CransAdministratif/CharteDuCrans}). Ce point est
|
||||
d'ailleurs rappelé sur l'exemplaire du formulaire d'adhésion que tu as
|
||||
conservé. Les causes les plus communes sont l'utilisation d'un service
|
||||
d'ailleurs rappelé sur l'exemplaire du formulaire d'adhésion que tu as
|
||||
conservé. Les causes les plus communes sont l'utilisation d'un service
|
||||
de \emph{peer to peer} type Kazaa, Morpheus, eDonkey.
|
||||
|
||||
La limite est de ~limitehard~ Mo par jour\footnote{Avant le 3 mai 2004, la
|
||||
limite était de 100 Mo.} et tu as dépassé plusieurs fois cette limite
|
||||
malgré plusieurs rappels par mail\footnote{Si tu n'as pas reçu les
|
||||
limite était de 100 Mo.} et tu as dépassé plusieurs fois cette limite
|
||||
malgré plusieurs rappels par mail\footnote{Si tu n'as pas reçu les
|
||||
mails en question, c'est que tu ne consultes pas ton mail ; tu
|
||||
\emph{dois} consulter régulièrement ton adresse \email. Si tu veux
|
||||
utiliser une autre adresse mail, adresse-toi à ton câbleur pour le
|
||||
\emph{dois} consulter régulièrement ton adresse \email. Si tu veux
|
||||
utiliser une autre adresse mail, adresse-toi à ton câbleur pour le
|
||||
changement.}. Voici l'historique :
|
||||
\begin{center}
|
||||
\begin{tabular}[c]{p{5cm}ll}
|
||||
|
@ -122,18 +122,18 @@ changement.}. Voici l'historique :
|
|||
\end{tabular}
|
||||
\end{center}
|
||||
|
||||
Tous les services te sont retirés durant la durée de la déconnexion,
|
||||
\textbf{notamment l'accès à Internet}, à l'exception
|
||||
Tous les services te sont retirés durant la durée de la déconnexion,
|
||||
\textbf{notamment l'accès à Internet}, à l'exception
|
||||
\ifthenelse{\boolean{mailcrans}}{du mail (sur le serveur de
|
||||
l'association uniquement) et }{}de l'accès au serveur Web de
|
||||
l'association (désactive le proxy si tu ne parviens pas à y accéder).
|
||||
Note également que tu es responsable de l'utilisation qui est faite de
|
||||
l'association uniquement) et }{}de l'accès au serveur Web de
|
||||
l'association (désactive le proxy si tu ne parviens pas à y accéder).
|
||||
Note également que tu es responsable de l'utilisation qui est faite de
|
||||
tes machines. Le fait que tu ne saches pas que certains programmes
|
||||
envoient des quantités importantes de données ne te dispense pas de ta
|
||||
responsabilité.
|
||||
envoient des quantités importantes de données ne te dispense pas de ta
|
||||
responsabilité.
|
||||
|
||||
Si tu as des questions supplémentaires, envoie les à \url{disconnect@crans.org}.
|
||||
Il est inutile d'aller déranger ton câbleur qui ne gère pas ce problème.}
|
||||
Si tu as des questions supplémentaires, envoie les à \url{disconnect@crans.org}.
|
||||
Il est inutile d'aller déranger ton câbleur qui ne gère pas ce problème.}
|
||||
\vspace{0.3cm}
|
||||
|
||||
\noindent\fcolorbox[gray]{0}{0.98}{\begin{minipage}{0.5\textwidth}
|
||||
|
@ -143,40 +143,40 @@ Il est inutile d'aller d
|
|||
$\mathcal{R}:$ \emph{#2}}
|
||||
|
||||
{\small
|
||||
\qa{Pourquoi n'ai-je pas été prévenu plus tôt ?}%
|
||||
{Six mails au minimum ont été envoyés en moins d'un mois à ce sujet
|
||||
sur l'adresse email indiquée sur cette fiche. Il nous faut nécessairement une
|
||||
\qa{Pourquoi n'ai-je pas été prévenu plus tôt ?}%
|
||||
{Six mails au minimum ont été envoyés en moins d'un mois à ce sujet
|
||||
sur l'adresse email indiquée sur cette fiche. Il nous faut nécessairement une
|
||||
adresse valide pour te contacter dans les cas similaires. Tu dois donc
|
||||
lire le mail arrivant à cette adresse ou en indiquer une autre à ton
|
||||
câbleur.}
|
||||
lire le mail arrivant à cette adresse ou en indiquer une autre à ton
|
||||
câbleur.}
|
||||
|
||||
\qa{J'ai prêté ma chambre à un ami.}%
|
||||
{La connexion est personnelle, à ton nom et tu en es responsable.}
|
||||
\qa{J'ai prêté ma chambre à un ami.}%
|
||||
{La connexion est personnelle, à ton nom et tu en es responsable.}
|
||||
|
||||
\qa{Je ne savais pas que tel programme uploadait.}%
|
||||
{Dans le doute, mieux vaut éviter d'utiliser des programmes dont
|
||||
on ne connaît pas le fonctionnement et nous demander, notamment
|
||||
{Dans le doute, mieux vaut éviter d'utiliser des programmes dont
|
||||
on ne connaît pas le fonctionnement et nous demander, notamment
|
||||
lors des premiers mails d'avertissement. Outre les programmes
|
||||
comme Kazaa ou eMule qui de toute façon sont strictement interdits
|
||||
d'utilisation sur le réseau CRANS, l'utilisation d'une webcam peut
|
||||
entraîner un upload important.}
|
||||
comme Kazaa ou eMule qui de toute façon sont strictement interdits
|
||||
d'utilisation sur le réseau CRANS, l'utilisation d'une webcam peut
|
||||
entraîner un upload important.}
|
||||
|
||||
\qa{J'ai beaucoup de travail et j'ai besoin du net.}%
|
||||
{C'est le cas des \nbadherents{} adhérents du CRANS et c'est la raison principale
|
||||
de la déconnexion. Nous avons des contraintes extérieures nous
|
||||
obligeant à réguler certains usages afin de conserver la connexion
|
||||
au réseau.}
|
||||
{C'est le cas des \nbadherents{} adhérents du CRANS et c'est la raison principale
|
||||
de la déconnexion. Nous avons des contraintes extérieures nous
|
||||
obligeant à réguler certains usages afin de conserver la connexion
|
||||
au réseau.}
|
||||
|
||||
\qa{Je dois rendre un projet demain !}%
|
||||
{Pas d'exception, ton école fournit sans doute une connexion à Internet, c'est
|
||||
moins confortable que depuis chez soi, mais ça marche quand même. Nous ne pouvons faire
|
||||
{Pas d'exception, ton école fournit sans doute une connexion à Internet, c'est
|
||||
moins confortable que depuis chez soi, mais ça marche quand même. Nous ne pouvons faire
|
||||
absolument \textbf{aucune} exception !}
|
||||
|
||||
\qa{J'ai payé !}%
|
||||
{Il s'agit de l'adhésion à une association. D'autre part nous avons des
|
||||
contraintes supplémentaires par rapport à un fournisseur d'accès
|
||||
classique. Les statuts nous autorisent à suspendre la connexion en cas
|
||||
de manquement à la charte que tu as signée.}}
|
||||
\qa{J'ai payé !}%
|
||||
{Il s'agit de l'adhésion à une association. D'autre part nous avons des
|
||||
contraintes supplémentaires par rapport à un fournisseur d'accès
|
||||
classique. Les statuts nous autorisent à suspendre la connexion en cas
|
||||
de manquement à la charte que tu as signée.}}
|
||||
\end{minipage}}
|
||||
\end{multicols}
|
||||
|
||||
|
|
|
@ -1,15 +1,17 @@
|
|||
#! /usr/bin/env python
|
||||
# -*- coding: iso-8859-15 -*-
|
||||
# -*- encoding: utf-8 -*-
|
||||
|
||||
"""
|
||||
Script de génération de feuille de déconnexion pour :
|
||||
Script de génération de feuille de déconnexion pour :
|
||||
- upload
|
||||
- p2p
|
||||
|
||||
Copyright (C) Xavier Pessoles, Étienne Chové, Vincent Bernat, Nicolas Salles
|
||||
Copyright (C) Xavier Pessoles, Étienne Chové, Vincent Bernat, Nicolas Salles
|
||||
Licence : GPL v2
|
||||
"""
|
||||
|
||||
encoding = "UTF-8"
|
||||
|
||||
import sys
|
||||
sys.path.append('/usr/scripts/gestion')
|
||||
|
||||
|
@ -37,56 +39,56 @@ locale.setlocale(locale.LC_TIME, 'fr_FR.utf8')
|
|||
|
||||
sanctions = ['upload', 'p2p']
|
||||
|
||||
help = """Script de génération d'une feuille de déconnexion.
|
||||
help = """Script de génération d'une feuille de déconnexion.
|
||||
Les sanctions disponibles sont :
|
||||
\t--%s
|
||||
usage: generate.py --sanction recherche_ldap
|
||||
Le motif de recherche dans la base ldap doit donné un résultat unique""" % "\n\t--".join(map(lambda x: x,sanctions))
|
||||
Le motif de recherche dans la base ldap doit donné un résultat unique""" % "\n\t--".join(map(lambda x: x,sanctions))
|
||||
|
||||
def decode(s):
|
||||
u"""
|
||||
Retourne un unicode à partir de s
|
||||
s doit être en utf-8
|
||||
Retourne un unicode à partir de s
|
||||
s doit être en utf-8
|
||||
"""
|
||||
|
||||
if type(s) is unicode:
|
||||
# Si s est déjà un unicode, on ne décode pas
|
||||
# Si s est déjà un unicode, on ne décode pas
|
||||
return s
|
||||
else:
|
||||
return s.decode('utf-8', 'ignore') # On ignore les erreurs
|
||||
|
||||
def strip_accents(a):
|
||||
u""" Supression des accents de la chaîne fournie """
|
||||
u""" Supression des accents de la chaîne fournie """
|
||||
res = normalize('NFKD', decode(a)).encode('ASCII', 'ignore')
|
||||
return res.replace(' ', '_').replace("'", '')
|
||||
|
||||
def generate_ps(sanction, proprio, db):
|
||||
"""En fonction de la sanction à appliquer au propriétaire,
|
||||
on génère la feuille de déconnexion et on retourne son nom et
|
||||
"""En fonction de la sanction à appliquer au propriétaire,
|
||||
on génère la feuille de déconnexion et on retourne son nom et
|
||||
emplacement."""
|
||||
try:
|
||||
log('Generate deconnexion notice for %s' % proprio.Nom())
|
||||
# Dossier de génération du ps
|
||||
# Dossier de génération du ps
|
||||
dossier = '/usr/scripts/surveillance/fiche_deconnexion'
|
||||
|
||||
# Base pour le nom du fichier
|
||||
fichier = strftime('%Y-%m-%d-%H-%M') + '-%s-%s' % (sanction,
|
||||
strip_accents(proprio.Nom().lower().replace(' ', '-')))
|
||||
|
||||
# Création du fichier tex
|
||||
# Création du fichier tex
|
||||
format_date = '%A %d %B %Y'
|
||||
template = file('%s/deconnexion_%s.tex' % (dossier, sanction)).read()
|
||||
template = template.replace('~prenom~', proprio.prenom().encode('iso8859-15'))
|
||||
template = template.replace('~nom~', proprio.nom().encode('iso8859-15'))
|
||||
template = template.replace('~chambre~', proprio.chbre().encode('iso8859-15'))
|
||||
template = template.replace('~mail~', proprio.email().encode('iso8859-15'))
|
||||
template = template.replace('~prenom~', proprio.prenom().encode(encoding))
|
||||
template = template.replace('~nom~', proprio.nom().encode(encoding))
|
||||
template = template.replace('~chambre~', proprio.chbre().encode(encoding))
|
||||
template = template.replace('~mail~', proprio.email().encode(encoding))
|
||||
template = template.replace('~debut~', strftime(format_date, localtime()))
|
||||
template = template.replace('~fin~', strftime(format_date, localtime(time()+14*86400)))
|
||||
# filtrage des autodisc
|
||||
historique = [ bl.encode('iso-8859-15', 'ignore').split('$') for bl in proprio.blacklist() if bl.split('$')[2] == 'autodisc_%s' % sanction ]
|
||||
historique = [ bl.encode(encoding, 'ignore').split('$') for bl in proprio.blacklist() if bl.split('$')[2] == 'autodisc_%s' % sanction ]
|
||||
# transfomation en tuple (date, sanction)
|
||||
historique = [ (strftime('%A %d %B %Y', localtime(int(bl[0]))), bl[-1]) for bl in historique ]
|
||||
# On ne prend au maximum que les 5 dernières occurences
|
||||
# On ne prend au maximum que les 5 dernières occurences
|
||||
historique = historique[-5:]
|
||||
# tranformation en ligne
|
||||
if sanction == 'upload' :
|
||||
|
@ -106,17 +108,17 @@ def generate_ps(sanction, proprio, db):
|
|||
file('%s/%s.tex' % (dossier, fichier), 'w').write(template)
|
||||
|
||||
# Compilation du fichier latex
|
||||
# Paquets nécessaires : texlive-latex-base, texlive-latex-recommended,
|
||||
# Paquets nécessaires : texlive-latex-base, texlive-latex-recommended,
|
||||
# texlive-latex-extra, texlive-lang-french, texlive-luatex,
|
||||
# texlive-pstricks
|
||||
commande = 'PATH="/bin:/usr/bin" cd %(dossier)s && latex %(base)s.tex && dvips %(base)s.dvi && rm -f %(base)s.dvi %(base)s.aux %(base)s.log %(base)s.tex'%{'dossier': dossier, 'base': fichier}
|
||||
status, output = commands.getstatusoutput(commande)
|
||||
if status != 0:
|
||||
log('Erreur lors de la génération du ps : ')
|
||||
log('Erreur lors de la génération du ps : ')
|
||||
log(output)
|
||||
return '%s/%s.ps' % (dossier, fichier)
|
||||
except Exception, e:
|
||||
log('Erreur lors de la génération du ps : ')
|
||||
log('Erreur lors de la génération du ps : ')
|
||||
log(str(e))
|
||||
log("Values : sanction:%s adherent:%s" % (sanction,
|
||||
strip_accents(proprio.Nom())))
|
||||
|
@ -142,11 +144,11 @@ if __name__ == "__main__":
|
|||
sanction = s
|
||||
|
||||
if not sanction :
|
||||
print "Erreur : aucune sanction définie.\n"
|
||||
print "Erreur : aucune sanction définie.\n"
|
||||
aide()
|
||||
|
||||
if len(sys.argv) <= 2 :
|
||||
print "Erreur : aucun motif de recherche défini.\n"
|
||||
print "Erreur : aucun motif de recherche défini.\n"
|
||||
aide()
|
||||
else :
|
||||
motif = sys.argv[-1]
|
||||
|
@ -154,14 +156,14 @@ if __name__ == "__main__":
|
|||
recherche = db.search(motif)['adherent']
|
||||
|
||||
if len(recherche) == 0:
|
||||
print "Erreur : aucun résultat pour %s.\n" % motif
|
||||
print "Erreur : aucun résultat pour %s.\n" % motif
|
||||
aide()
|
||||
elif len(recherche) != 1:
|
||||
print "Erreur : plusieurs résultats pour %s.\n" % motif
|
||||
print "Erreur : plusieurs résultats pour %s.\n" % motif
|
||||
aide()
|
||||
else :
|
||||
adherent = recherche[0]
|
||||
|
||||
# On génére alors le postscript
|
||||
# On génére alors le postscript
|
||||
fichier = generate_ps(sanction, adherent, db)
|
||||
print u'Le fichier %s a été généré.' % fichier
|
||||
print u'Le fichier %s a été généré.' % fichier
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue