diff --git a/surveillance/arpwatch/initscript b/surveillance/arpwatch/initscript index 7f39416f..a6cc9f8b 100755 --- a/surveillance/arpwatch/initscript +++ b/surveillance/arpwatch/initscript @@ -23,21 +23,21 @@ set -e case "$1" in start) - echo -n "Démarrage de $NAME" + echo -n "Démarrage de $NAME" /sbin/start-stop-daemon --start --quiet --pidfile $PIDF --exec $BIN $ARGS echo "." ;; stop) - echo -n "Arrêt de $NAME" + echo -n "Arrêt de $NAME" /sbin/start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $PIDF echo "." ;; restart) - echo -n "Redémarrage (arrêt) de $NAME" + echo -n "Redémarrage (arrêt) de $NAME" /sbin/start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $PIDF /bin/sleep 1 - echo -n "Redémarrage (démarrage) de $NAME" + echo -n "Redémarrage (démarrage) de $NAME" /sbin/start-stop-daemon --start --quiet --pidfile $PIDF --exec $BIN $ARGS echo "." ;; diff --git a/surveillance/filtrage.sql b/surveillance/filtrage.sql index b13389b2..09ec4dc4 100644 --- a/surveillance/filtrage.sql +++ b/surveillance/filtrage.sql @@ -1,22 +1,22 @@ --- Fichier permttant de reconstituer la base de données de filtrage des logs +-- Fichier permttant de reconstituer la base de données de filtrage des logs -- de net-acct et du firewall --- Pour regénérer la base : +-- Pour regénérer la base : -- Dropper la bose en tant qu'utilisateur postgres : dropdb filtrage --- Créer la base avec l'utilisateur crans (par exemple) : +-- Créer la base avec l'utilisateur crans (par exemple) : -- createdb -O crans filtrage --- exécuter en tant qu'utilisateur : +-- exécuter en tant qu'utilisateur : -- psql filtrage -U crans < filtrage.sql BEGIN; --- Création de la table de protocole de type udp .. : index(1,16,17) | nom (,tcp,udp) +-- Création de la table de protocole de type udp .. : index(1,16,17) | nom (,tcp,udp) CREATE TABLE protocole ( id integer NOT NULL, nom text NOT NULL, CONSTRAINT id_protocole PRIMARY KEY (id)); --- Création de la table de protocole p2p : (1,2,3,...)|(eMule,SoulSeak, ...) +-- Création de la table de protocole p2p : (1,2,3,...)|(eMule,SoulSeak, ...) CREATE TABLE protocole_p2p ( id_p2p serial NOT NULL, nom text NOT NULL, @@ -103,19 +103,19 @@ CREATE TABLE flood ( date timestamp NOT NULL, ip_crans inet NOT NULL); --- Table des infectes +-- Table des seedeurs CREATE TABLE avertis_p2p ( date timestamp NOT NULL, ip_crans inet NOT NULL, protocole text NOT NULL); --- Table des sanctionnés pour upload : +-- Table des sanctionnés pour upload : CREATE TABLE sanctions ( date timestamp NOT NULL, ip_crans inet NOT NULL, upload bigint NOT NULL); --- Table des exemptés : +-- Table des exemptés : CREATE TABLE exemptes ( ip_crans inet NOT NULL, ip_dest inet NOT NULL); @@ -180,7 +180,7 @@ CREATE TABLE flood ( INSERT INTO protocole_p2p (nom) VALUES ('GNUtella'); --- Création des index +-- Création des index CREATE INDEX date_virus_idx ON virus (date); CREATE INDEX ip_src_virux_idx ON virus (ip_src); CREATE INDEX id_virus_idx ON virus (id); diff --git a/surveillance/init.d-filtrage_netacct b/surveillance/init.d-filtrage_netacct index 71c6a8e1..898eed33 100755 --- a/surveillance/init.d-filtrage_netacct +++ b/surveillance/init.d-filtrage_netacct @@ -6,21 +6,21 @@ exit 0 case "$1" in start) - echo -n "Démarrage du script de parsage des logs du netacct" + echo -n "Démarrage du script de parsage des logs du netacct" start-stop-daemon --start --quiet --background --make-pidfile --pidfile /var/run/filtrage_netacct.pid --exec /usr/scripts/surveillance/filtrage_netacct.py echo "." ;; stop) - echo -n "Arrêt du parsage des logs du netacct" + echo -n "Arrêt du parsage des logs du netacct" start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile /var/run/filtrage_netacct.pid echo "." ;; restart) - echo -n "Redémarrage du parsage des logs du netacct" + echo -n "Redémarrage du parsage des logs du netacct" start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile /var/run/filtrage_netacct.pid sleep 1 - echo -n "Démarrage du script de parsage des logs du netacct" + echo -n "Démarrage du script de parsage des logs du netacct" start-stop-daemon --start --quiet --background --make-pidfile --pidfile /var/run/filtrage_netacct.pid --exec /usr/scripts/surveillance/filtrage_netacct.py echo "." ;; diff --git a/surveillance/maintenance-netacct-ng.sql b/surveillance/maintenance-netacct-ng.sql index 4e64990b..b27fb29b 100644 --- a/surveillance/maintenance-netacct-ng.sql +++ b/surveillance/maintenance-netacct-ng.sql @@ -1,12 +1,12 @@ ----------------------------------------------------------------- --- Maintenance de la base netacct-ng sur pgsql, lancé par cron +-- Maintenance de la base netacct-ng sur pgsql, lancé par cron ----------------------------------------------------------------- -- effacement des vieux enregistrements DELETE FROM upload where date< timestamp 'now' - interval '2 days'; --- suppression complète des entrées +-- suppression complète des entrées VACUUM; --- réindexation des tables +-- réindexation des tables REINDEX TABLE upload; diff --git a/surveillance/maintenance.sql b/surveillance/maintenance.sql index a81216d0..f1628fd4 100644 --- a/surveillance/maintenance.sql +++ b/surveillance/maintenance.sql @@ -1,20 +1,20 @@ ----------------------------------------------------------------- --- Maintenance de la base pgsql sur thot, lancé par cron +-- Maintenance de la base pgsql sur thot, lancé par cron ----------------------------------------------------------------- -- effacement des vieux enregistrements DELETE FROM upload where date< timestamp 'now' - interval '5 days'; --- la même pour upload6 +-- la même pour upload6 DELETE FROM upload6 WHERE date< timestamp 'now' - interval '5 days'; -- On ne blackliste plus pour virus, on droppe seulement -- DELETE FROM virus where date< timestamp 'now' - interval '2 days'; -- Idem pour flood -- DELETE FROM flood where date< timestamp 'now' - interval '2 days'; --- suppression complète des entrées +-- suppression complète des entrées VACUUM; --- réindexation des tables +-- réindexation des tables REINDEX TABLE upload; REINDEX TABLE upload6; -- REINDEX TABLE virus; diff --git a/surveillance/monit-ovh b/surveillance/monit-ovh index 9f5ead5f..316e8b46 100755 --- a/surveillance/monit-ovh +++ b/surveillance/monit-ovh @@ -2,7 +2,7 @@ # # $Id: monit-ovh,v 1.1 2007/05/26 01:17:37 dimino Exp $ # -# Récupère la sortie du monit status sur ovh +# Récupère la sortie du monit status sur ovh PATH=/sbin:/usr/sbin:/bin:/usr/bin diff --git a/utils/avertissement_mails-perdus.py b/utils/avertissement_mails-perdus.py index 3397f0a6..1dc203a4 100755 --- a/utils/avertissement_mails-perdus.py +++ b/utils/avertissement_mails-perdus.py @@ -1,7 +1,7 @@ #! /usr/bin/env python -# -*- coding: iso-8859-15 -*- +# -*- coding: utf-8 -*- -# Pour envoyer effectivement des mails, il faut désactiver le debug +# Pour envoyer effectivement des mails, il faut désactiver le debug debug = 1 import os,sys @@ -19,9 +19,9 @@ for i in range(5): sys.exit(1) -# On définit ici une liste d'adresse mail qui ne sont pas à prévenir -# à utiliser par exemple si on a commencé à prévenir des adhérents mais que -# tous ne l'ont pas été +# On définit ici une liste d'adresse mail qui ne sont pas à prévenir +# à utiliser par exemple si on a commencé à prévenir des adhérents mais que +# tous ne l'ont pas été try : exempts = [] file = open('/home/salles/mails_envoyes',"r") @@ -33,25 +33,25 @@ try : except : print "Aucune exemption d'adresses mails ne sera prise en compte" -# On définit ici la liste des mails perdus et qui sont inscrits dans les logs -# Dans le cas du 11/09/2007, les mails perdus étaient identifiables avec +# On définit ici la liste des mails perdus et qui sont inscrits dans les logs +# Dans le cas du 11/09/2007, les mails perdus étaient identifiables avec # le message "too many hops" -# On a donc créé le fichier mails_perdus avec la commande suivante : +# On a donc créé le fichier mails_perdus avec la commande suivante : # cat /var/log/mail.log | grep "too many hops" | grep '(!) FWD via SMTP' | awk -F ' ' '{print $1 " " $2 " " $3 " " $11 " " $12 " " $13}' | tr \[:upper:\] \[:lower:\] | sed 's/,$//g' > mails_perdus -# Le fichier se présente alors sous la forme : +# Le fichier se présente alors sous la forme : # Mois Jour Heure -> file = open('/home/salles/mails_perdus',"r") -# On crée les 2 dictionnaire qui vont contenir les 2 types d'avertissemnts à +# On crée les 2 dictionnaire qui vont contenir les 2 types d'avertissemnts à # communiquer : -# - les messages envoyés par des adhérents au serveur mais qui ne sont pas +# - les messages envoyés par des adhérents au serveur mais qui ne sont pas #partis vers leur destinataire unsend = {} -# - les messages reçus par le serveur mais non distribués aux adhérents +# - les messages reçus par le serveur mais non distribués aux adhérents unreceived = {} def is_crans(mail) : - """ Détermine si l'adresse mail concerne un adhérent""" + """ Détermine si l'adresse mail concerne un adhérent""" # Je remarque que les adresses de clubs et de mailings-listes ne sont # pas pris en compte @lists.crans. if mail.find('@crans.') > 0 : @@ -61,16 +61,16 @@ def is_crans(mail) : def append(dict, chain, value, date) : - """ Définit une méthode pour ajouter un mail perdu dans l'un des + """ Définit une méthode pour ajouter un mail perdu dans l'un des dictionnaires. -Les dictionnaires ont pour clés l'adresse mail d'un adhérent aux quelles -sont associés une liste des mails perdus sur la forme ['adresse_mail2', 'date'] +Les dictionnaires ont pour clés l'adresse mail d'un adhérent aux quelles +sont associés une liste des mails perdus sur la forme ['adresse_mail2', 'date'] """ if not dict.has_key(chain) : - # Si la clé n'existe pas : initialisation + # Si la clé n'existe pas : initialisation dict[chain] = [ [value, date] ] else : - # Sinon on ajoute le nouveau mail perdu à la liste existante + # Sinon on ajoute le nouveau mail perdu à la liste existante dict[chain].append([value, date]) # On traite maintenant la liste des mails perdus @@ -78,9 +78,9 @@ line = file.readline() # Pour chaque mail perdu while line: datas = line.split() - # Il pourrait y avoir plusieurs expéditeurs pour le même mail + # Il pourrait y avoir plusieurs expéditeurs pour le même mail senders = datas[3].split(",") - # Il peut y avoir plusieurs destinataires pour un mail (ça c'est sur) + # Il peut y avoir plusieurs destinataires pour un mail (ça c'est sur) receivers = datas[5].split(",") # On tente d'enlever les adresses nulles de ces 2 listes try : @@ -95,7 +95,7 @@ while line: # On reformate le champ date en inversant Jour et Mois date = u"%s %s %s" % (datas[1], datas[0], datas[2]) - # Pour chaque couple de mail perdu associé à une source et un destinataire + # Pour chaque couple de mail perdu associé à une source et un destinataire for sender in senders : for receiver in receivers : # L'expediteur et le receveur sont du crans ? @@ -109,14 +109,14 @@ while line: if is_crans(receiver) and not is_crans(sender) : append(unreceived, receiver, sender, date) - # On passe à la ligne suivante + # On passe à la ligne suivante line = file.readline() file.close() -# On traite le formatage des mails pour indiquer aux adhérents les -# mails qui ne leur ont pas été délivrés +# On traite le formatage des mails pour indiquer aux adhérents les +# mails qui ne leur ont pas été délivrés for adh in unreceived.keys() : text = u"""From: CRANS (Nounous) To: %s @@ -125,30 +125,30 @@ Content-Type: text/plain; charset="iso-8859-15" Bonjour, -Nous t'informons que suite à une erreur sur le serveur de mail -de l'association, il est fort probable que nous ayons égaré des -messages te concernant dans la période allant du lundi 10/09/2007 -23h00 à ce mardi 11/09/2007 9h50. +Nous t'informons que suite à une erreur sur le serveur de mail +de l'association, il est fort probable que nous ayons égaré des +messages te concernant dans la période allant du lundi 10/09/2007 +23h00 à ce mardi 11/09/2007 9h50. -Tu trouveras ci-dessous le détail des messages que tu n'as pas pu +Tu trouveras ci-dessous le détail des messages que tu n'as pas pu recevoir et/ou envoyer.\n""" % adh for unrecv in unreceived[adh] : - text += u""" - mail non reçu : envoyé par %s avant le %s\n""" % (unrecv[0], unrecv[1]) + text += u""" - mail non reçu : envoyé par %s avant le %s\n""" % (unrecv[0], unrecv[1]) text += u"""Nous te conseillons de contacter les personnes qui figurent dans cette liste si tu souhaites recevoir leur message, car elles n'ont -pas été informé de cette erreur de livraison. +pas été informé de cette erreur de livraison. """ -# Au passage, on vérifie s'il n'y a pas des mails que l'adhérents auraient +# Au passage, on vérifie s'il n'y a pas des mails que l'adhérents auraient # voulu envoyer qui se seraient aussi perdus if unsend.has_key(adh) : text += u""" """ for unsnd in unsend[adh] : - text += u""" - mail non envoyé : adressé à %s le %s\n""" % (unsnd[0], unsnd[1]) + text += u""" - mail non envoyé : adressé à %s le %s\n""" % (unsnd[0], unsnd[1]) - text += u"""Pour les mails que tu as pu essayé d'envoyer, et si ce n'est pas -déjà le cas, il te faut les réexpédier si tu souhaites que tes -destinataires les reçoivent. + text += u"""Pour les mails que tu as pu essayé d'envoyer, et si ce n'est pas +déjà le cas, il te faut les réexpédier si tu souhaites que tes +destinataires les reçoivent. """ text += u""" @@ -167,8 +167,8 @@ Les nounous du CRANS""" pass -# Le message est légèrement différent dans le cas où l'adhérent n'a perdu -# des mails qu'à l'envoi. +# Le message est légèrement différent dans le cas où l'adhérent n'a perdu +# des mails qu'à l'envoi. for adh in unsend.keys() : if not unreceived.has_key(adh) : text = u"""From: CRANS (Nounous) @@ -178,20 +178,20 @@ Content-Type: text/plain; charset="iso-8859-15" Bonjour, -Nous t'informons que suite à une erreur sur le serveur de mail +Nous t'informons que suite à une erreur sur le serveur de mail de l'association, il est fort probable que nous n'ayons pas pu -transmettre certains de tes messages dans la période allant du -lundi 10/09/2007 23h00 à ce mardi 11/09/2007 9h50. +transmettre certains de tes messages dans la période allant du +lundi 10/09/2007 23h00 à ce mardi 11/09/2007 9h50. -Tu trouveras ci-dessous le détail des messages que nous n'avons +Tu trouveras ci-dessous le détail des messages que nous n'avons pas pu envoyer.\n""" % adh for unsnd in unsend[adh] : - text += u""" - mail non envoyé : adressé à %s le %s\n""" % (unsnd[0], unsnd[1]) + text += u""" - mail non envoyé : adressé à %s le %s\n""" % (unsnd[0], unsnd[1]) - text += u"""Pour les mails que tu as pu essayé d'envoyer, et si ce n'est -pas déjà le cas, il te faut les réexpédier si tu souhaites que tes -destinataires les reçoivent. + text += u"""Pour les mails que tu as pu essayé d'envoyer, et si ce n'est +pas déjà le cas, il te faut les réexpédier si tu souhaites que tes +destinataires les reçoivent. """ text += u""" @@ -207,4 +207,4 @@ Les nounous du CRANS""" except : pass - \ No newline at end of file + diff --git a/utils/backup_mails b/utils/backup_mails index 2c265365..901a5231 100755 --- a/utils/backup_mails +++ b/utils/backup_mails @@ -1,9 +1,9 @@ #!/bin/sh -# À exécuter en tant que l'utilisateur dont on veut déplacer les mails +# À exécuter en tant que l'utilisateur dont on veut déplacer les mails if [[ $USER = "root" ]]; then - echo "Ce script doit être exécuté en tant que l'utilisateur dont on veut déplacer les mails !" + echo "Ce script doit être exécuté en tant que l'utilisateur dont on veut déplacer les mails !" exit 1 fi @@ -14,9 +14,9 @@ set -e echo -n "Sauvegarde en cours vers $BACKUP... " test ! -a $BACKUP cp -a $MAIL $BACKUP -# On évite l'* qui risque de donner trop d'arguments -# On ne supprime pas non plus de répertoire car on peut ne pas avoir les -# droits pour le recréer avec les mêmes permissions +# On évite l'* qui risque de donner trop d'arguments +# On ne supprime pas non plus de répertoire car on peut ne pas avoir les +# droits pour le recréer avec les mêmes permissions find $MAIL/{cur,tmp,new} -type f -print0 | xargs -0 rm -f || true find $BACKUP -type f | xargs chmod 600 find $BACKUP -type d | xargs chmod 700 diff --git a/utils/radius_auth.py b/utils/radius_auth.py index 885e8bcc..4a3a7e93 100755 --- a/utils/radius_auth.py +++ b/utils/radius_auth.py @@ -11,7 +11,7 @@ import annuaires_pg from iptools import AddrInNet def chap_ok(password, challenge, clear_pass) : """ Test l'authentification chap fournie - password et chalenge doivent être données + password et chalenge doivent être données en hexa (avec ou sans le 0x devant) retourne True si l'authentification est OK @@ -31,39 +31,39 @@ def paiement_ok(adh): paid = max(adh.paiement() + [0]) if periode_transitoire: # Si periode transitoire, on accepte les personnes n'ayant pas - # réadhéré + # réadhéré ann_scol -= 1 return ann_scol <= paid def do_auth(mac, prise): """Effectue l'authentification. Renvoie (success, msg, - vlan). success est 0 si l'authentification est réussie, msg est - pour les logs et vlan est le vlan non taggé à utiliser pour la + vlan). success est 0 si l'authentification est réussie, msg est + pour les logs et vlan est le vlan non taggé à utiliser pour la prise.""" global ann_scol # Test chap (comme cela on est sur que c'est bien un switch qui demande) if not chap_ok(os.getenv('CHAP_PASSWORD'), os.getenv('CHAP_CHALLENGE'), mac): - return (-1, "Échec test CHAP", "") + return (-1, "Échec test CHAP", "") # Mac dans la base LDAP conn = crans_ldap(readonly=True) m = conn.search('mac=%s' % mac)['machine'] if len(m) == 0: # Est-ce un ancien client de l'offre Crous ? - # on le met sur le vlan install-party où on aura activé un forwarding + # on le met sur le vlan install-party où on aura activé un forwarding # (uniquement en attendant qu'il soit inscrit proprement) for chbre in annuaires_pg.reverse(prise[0], prise[1:]): if not annuaires_pg.is_crans(prise[0], chbre): return (0, "TMP: ancien client CROUS", 'event') return (0, "Mac inconnue", "accueil") elif len(m) > 1: - return (-1, "Pb recherche mac (nb résultat %d!=1)" % len(m), "") + return (-1, "Pb recherche mac (nb résultat %d!=1)" % len(m), "") - # N'appartient pas au Crans et n'a pas de prise attribuée - # donc sur uplink ou switch non filtré - # But : éviter le spoof d'une mac d'une machine clef + # N'appartient pas au Crans et n'a pas de prise attribuée + # donc sur uplink ou switch non filtré + # But : éviter le spoof d'une mac d'une machine clef proprio = m[0].proprietaire() if proprio.__class__ == AssociationCrans: return (-1, "Machine du crans", "") @@ -72,7 +72,7 @@ def do_auth(mac, prise): if 'bloq' in m[0].blacklist_actif(): return (-1, "Bloquage total des services pour cette machine", "") - # les gens qui doivent être isolés + # les gens qui doivent être isolés if ('virus' in m[0].blacklist_actif() or 'ipv6_ra' in m[0].blacklist_actif() or 'autodisc_virus' in m[0].blacklist_actif()): return (0, "Bad boy", "isolement") @@ -82,10 +82,10 @@ def do_auth(mac, prise): # Paiement proprio ? if not paiement_ok(proprio): - return (0, "N'a pas payé", "accueil") + return (0, "N'a pas payé", "accueil") - # Si l'adhérent n'est pas membre actif, il doit se brancher depuis la prise - # d'un autre adhérent à jour de cotisation + # Si l'adhérent n'est pas membre actif, il doit se brancher depuis la prise + # d'un autre adhérent à jour de cotisation if not proprio.droits(): try: chbre = prise[0] + annuaires_pg.reverse(prise[0], prise[1:])[0] @@ -96,15 +96,15 @@ def do_auth(mac, prise): if paiement_ok(hebergeur): break else: - return (0, "Hébergeur non à jour", "accueil") + return (0, "Hébergeur non à jour", "accueil") - # Cas des personnels logés dans les appartements de l'ENS + # Cas des personnels logés dans les appartements de l'ENS if (proprio.etudes(0) == 'Personnel ENS' or ('Nounou' in proprio.droits() and AddrInNet(m[0].ip(),'10.2.9.0/24'))): return (0, "Personnel ENS", "appts") # C'est bon - return (0, "Accès adhérent OK", "adherent") + return (0, "Accès adhérent OK", "adherent") if __name__ == '__main__' : mac = os.getenv('USER_NAME', '').replace('"', '') @@ -112,7 +112,7 @@ if __name__ == '__main__' : prise = (len(switch) == 6 and (switch[3] + switch[5]) or (switch + "-")) prise += "%02d" % int(os.getenv("NAS_PORT", 0)) - # On vérifie si la mac est autorisée + # On vérifie si la mac est autorisée (r, msg, vlan) = do_auth(mac, prise) # On logue la prise sur laquelle a lieu la tentative @@ -120,13 +120,13 @@ if __name__ == '__main__' : syslog("%s -> %s [%s]" % (prise, mac, msg)) if vlan: - # Cela indique au switch comment configurer le vlan par défaut + # Cela indique au switch comment configurer le vlan par défaut # pour cette prise print ", ".join(["Tunnel-Type = VLAN", "Tunnel-Medium-Type = IEEE-802", "Tunnel-Private-Group-Id = \"%d\"" % vlans[vlan]]) - # On tente de logguer la dernière mac sur une prise donnée + # On tente de logguer la dernière mac sur une prise donnée try: f = open('/usr/scripts/var/last_macs/' + prise,'w') f.write(mac) diff --git a/wiki/macro/EtatSecours.py b/wiki/macro/EtatSecours.py index 23bc263d..cf112eef 100644 --- a/wiki/macro/EtatSecours.py +++ b/wiki/macro/EtatSecours.py @@ -1,4 +1,4 @@ -# -*- coding: iso-8859-1 -*- +# -*- coding: utf-8 -*- import sys sys.path.append('/usr/scripts/secours') @@ -6,7 +6,7 @@ import secours def Cellule(texte, couleur, f) : """ - Retourne le code HTML d'une cellule formattée aver le formatter f + Retourne le code HTML d'une cellule formattée aver le formatter f """ code = f.table(1) code += f.table_row(1) @@ -25,4 +25,4 @@ def execute(macro, text) : else : return Cellule('Nous sommes actuellement en connexion de secours.','red',macro.formatter) except : - return Cellule('Impossible de déterminer l\'état de la connexion.','yellow',macro.formatter) + return Cellule('Impossible de déterminer l\'état de la connexion.','yellow',macro.formatter) diff --git a/wiki/macro/EventCalendar.py b/wiki/macro/EventCalendar.py index e7a6a358..7a7010af 100644 --- a/wiki/macro/EventCalendar.py +++ b/wiki/macro/EventCalendar.py @@ -1,4 +1,4 @@ -# -*- coding: iso-8859-1 -*- +# -*- coding: utf-8 -*- """ EventCalendar.py Version 0.99a July 22, 2009 @@ -462,7 +462,7 @@ def setglobalvalues(macro): Globs.pagepath = formatter.page.getPagePath() # european / US differences - months = (u'Janvier',u'Février',u'Mars',u'Avril',u'Mai',u'Juin',u'Juillet',u'Août',u'Septembre',u'Octobre',u'Novembre',u'Décembre') + months = (u'Janvier',u'Février',u'Mars',u'Avril',u'Mai',u'Juin',u'Juillet',u'Août',u'Septembre',u'Octobre',u'Novembre',u'Décembre') # Set things up for Monday or Sunday as the first day of the week if calendar.firstweekday() == calendar.MONDAY: @@ -612,7 +612,7 @@ def showmenubar(): mnu_curmonthcal = u'[Aujourd\'hui]' % (page_url, cal_action, year, month, day, getquerystring(['numcal'])) # List View - mnu_listview = u'[Liste]' % (page_url, getquerystring(['caldate', 'numcal'])) + mnu_listview = u'[Liste]' % (page_url, getquerystring(['caldate', 'numcal'])) # Monthly View mnu_monthview = u'[Mois]' % (page_url, getquerystring(['caldate', 'numcal']) ) @@ -621,7 +621,7 @@ def showmenubar(): mnu_simpleview = u'[Simple]' % (page_url, getquerystring(['caldate', 'numcal']) ) # Upcoming Event List - mnu_upcomingview = u'[À venir]' % (page_url, getquerystring(['caldate', 'numcal']) ) + mnu_upcomingview = u'[À venir]' % (page_url, getquerystring(['caldate', 'numcal']) ) # Daily View mnu_dayview = u'[Jour]' % (page_url, getquerystring(['caldate', 'numcal']) ) @@ -795,9 +795,9 @@ def cal_listhead(): html = [ u' ', u' Titre', - u' Début', + u' Début', u' Fin', - u' Fréquence', + u' Fréquence', u' Label', u' Description', u' Page source', @@ -914,7 +914,7 @@ def showupcomingeventlist(): html_list_table = [ u'\r\n
', u'', - u'' % (datefrom, dateto), + u'' % (datefrom, dateto), u'%s' % html_list_header, u'%s' % html_event_rows, u'
Évènement à venir: %s ~ %s


Évènement à venir: %s ~ %s


', diff --git a/wiki/macro/InfosBornes.py b/wiki/macro/InfosBornes.py index 26dad9f2..f55b84bf 100644 --- a/wiki/macro/InfosBornes.py +++ b/wiki/macro/InfosBornes.py @@ -1,7 +1,7 @@ #! /usr/bin/env python -# -*- encoding: iso-8859-1 -*- +# -*- encoding: utf-8 -*- -# Génération d'un fichier XML indiquant le status des bornes +# Génération d'un fichier XML indiquant le status des bornes import sys import os @@ -16,18 +16,18 @@ def execute(macro, text): #os.putenv("http_proxy", "http://proxy.crans.org:3128") status=xml.dom.minidom.parseString(urllib2.urlopen("https://wifi.crans.org/status.xml").read()) except: - return f.text(u"Impossible d'accéder aux informations des bornes") + return f.text(u"Impossible d'accéder aux informations des bornes") - # On récupère l'ensemble des bornes + # On récupère l'ensemble des bornes bornes = status.childNodes[0] - code = f.text(u"Mise à jour le "+bornes.getAttribute("date")) + code = f.text(u"Mise à jour le "+bornes.getAttribute("date")) code += f.linebreak(0) code += f.table(True, {'tablealign': 'center'}) code += f.table_row(True, {'rowbgcolor': '#FFFFA0'}) - for nom_col in (u"Nom", u"Hotspot", u"État", u"Localisation", u"Clients", - u"MAC", u"Canal", u"Uptime", u"°E", u"°N"): + for nom_col in (u"Nom", u"Hotspot", u"État", u"Localisation", u"Clients", + u"MAC", u"Canal", u"Uptime", u"°E", u"°N"): code += f.table_cell(True) code += f.strong(True) code += f.text(nom_col) diff --git a/wiki/macro/MonitStatus.py b/wiki/macro/MonitStatus.py index 4aaeb9e0..1485efb2 100644 --- a/wiki/macro/MonitStatus.py +++ b/wiki/macro/MonitStatus.py @@ -1,9 +1,9 @@ -# -*- coding: iso-8859-1 -*- +# -*- coding: utf-8 -*- import os, sys, commands, time """ -Permet d'intégrer au wiki les résultats de Monit. +Permet d'intégrer au wiki les résultats de Monit. La macro wiki est : [[MonitStatus(hotes=host,categories=[All|Process|File],services=[All|Off|On])]] @@ -27,7 +27,7 @@ def NotRunningHosts() : def HostStatus (host) : """ - Retourne un dictionnaire représentation de l'état des services de + Retourne un dictionnaire représentation de l'état des services de la machine. """ @@ -46,7 +46,7 @@ def HostStatus (host) : # ligne vide, on passe au service suivant s = None elif not s : - # création d'un nouveau service + # création d'un nouveau service s = line.split(' ')[1][1:-1] t = line.split(' ')[0] # ajout du type s'il n'est pas dedans @@ -54,10 +54,10 @@ def HostStatus (host) : status[t] = {} status[t][s] = {} else : - # on ajoute les données + # on ajoute les données status[t][s][line[:34].strip()] = line[34:].strip() - # on supprime les données system + # on supprime les données system try : status.pop('System') except : @@ -83,7 +83,7 @@ def AllStatusOff () : for h in status.keys() : - # si c'est un host qui est down, on le laisse tel quel pour éviter qu'il le supprime + # si c'est un host qui est down, on le laisse tel quel pour éviter qu'il le supprime if h in NotRunningHosts() : continue @@ -111,7 +111,7 @@ def FormatService(Type, Service, Data, f) : Retourne le code HTML d'un sercice Type : type de service Service : Nom du service - Data : dictionnaire contenant toutes les données Data[info] + Data : dictionnaire contenant toutes les données Data[info] f : formatter """ @@ -139,7 +139,7 @@ def FormatType(Type, Data, f) : """ Retourne le code HTML d'une liste de services Host : nom de l'hote - Data : dictionnaire contenant toutes les données Data[service][info] + Data : dictionnaire contenant toutes les données Data[service][info] f : formatter """ @@ -160,9 +160,9 @@ def FormatType(Type, Data, f) : def FormatHost (Host, Data, f) : """ - Retourne le code HTML d'un hôte + Retourne le code HTML d'un hôte Host : nom de l'hote - Data : dictionnaire contenant toutes les données Data[type][service][info] + Data : dictionnaire contenant toutes les données Data[type][service][info] f : formatter """ @@ -195,7 +195,7 @@ def FormatHost (Host, Data, f) : def FormatHosts(Data, f) : """ Retourne le code HTML de tous les hotes fournis - Data : dictionnaire contenant toutes les données Data[hote][type][service][info] + Data : dictionnaire contenant toutes les données Data[hote][type][service][info] f : formatter """ @@ -208,7 +208,7 @@ def FormatHosts(Data, f) : def Cellule(texte, couleur, f) : """ - Retourne le code HTML d'une cellule formattée aver le formatter f + Retourne le code HTML d'une cellule formattée aver le formatter f """ code = f.table(1) code += f.table_row(1) @@ -238,7 +238,7 @@ def execute(macro, filtre) : return FormatHosts(status, f) else : # aucun service off, on affiche OK - return Cellule(u'Tous les services semblent opérationnels.','lime',f) + return Cellule(u'Tous les services semblent opérationnels.','lime',f) elif filtre == 'all' : # tous les services @@ -259,13 +259,13 @@ def execute(macro, filtre) : s = status[t][service] if not s : - # service non trouvé + # service non trouvé code = f.table_cell(0) code += f.table_cell(1,{'style':'background-color:yellow'}) code += f.text(u'Service introuvable') return code - # création de la chaine de retour + # création de la chaine de retour code = f.table_cell(0) if s['status'].lower() in ['running','accessible'] : code += f.table_cell(1,{'style':'background-color:lime'}) diff --git a/wiki/macro/PagesPerso.py b/wiki/macro/PagesPerso.py index 023b71a6..0f0a6421 100644 --- a/wiki/macro/PagesPerso.py +++ b/wiki/macro/PagesPerso.py @@ -1,4 +1,4 @@ -# -*- encoding: iso-8859-1 -*- +# -*- encoding: utf-8 -*- import os @@ -45,7 +45,7 @@ class AccountList: return html class Account: - """Classe représentant la page perso d'une personne""" + """Classe représentant la page perso d'une personne""" def __init__(self, home, login, www, url): """Instanciation avec le `login' de la personne""" @@ -83,7 +83,7 @@ class Account: def logo(self): """URL du logo s'il y en a un""" if self.info("logo"): - # Le logo peut être en absolu ou en relatif + # Le logo peut être en absolu ou en relatif if self.info("logo").startswith(self.chemin()): logo = self.info("logo").replace("%s/" % self.chemin(), "") else: diff --git a/wiki/macro/RandomIncludeQuote.py b/wiki/macro/RandomIncludeQuote.py index 2f39eb7d..33ef3932 100644 --- a/wiki/macro/RandomIncludeQuote.py +++ b/wiki/macro/RandomIncludeQuote.py @@ -1,4 +1,4 @@ -# -*- coding: iso-8859-1 -*- +# -*- coding: utf-8 -*- """ MoinMoin - RandomIncludeQuote macro @@ -8,7 +8,7 @@ for detailed docs. - @copyright: 2000-2004 by Jürgen Hermann + @copyright: 2000-2004 by Jürgen Hermann @copyright: 2000-2001 by Richard Jones @license: GNU GPL, see COPYING for details. """ diff --git a/wiki/macro/RandomQuoteNum.py b/wiki/macro/RandomQuoteNum.py index 25aa4e23..cb8497f1 100644 --- a/wiki/macro/RandomQuoteNum.py +++ b/wiki/macro/RandomQuoteNum.py @@ -1,4 +1,4 @@ -# -*- coding: iso-8859-1 -*- +# -*- coding: utf-8 -*- """ MoinMoin - RandomQuote Macro @@ -12,7 +12,7 @@ It will look for list delimiters on the page in question. It will ignore anything that is not in an "*" list. - @copyright: 2002-2004 by Jürgen Hermann + @copyright: 2002-2004 by Jürgen Hermann @license: GNU GPL, see COPYING for details. Originally written by Thomas Waldmann.