zephir.backend.config

Package zephir :: Package backend :: Module config |
[frames] | no frames]

# Source Code for Module zephir.backend.config

      1  # -*- coding: UTF-8 -*-
      2  ###########################################################################
      3  # Eole NG - 2007
      4  # Copyright Pole de Competence Eole  (Ministere Education - Academie Dijon)
      5  # Licence CeCill  cf /root/LicenceEole.txt
      6  # eole@ac-dijon.fr
      7  #
      8  # config.py
      9  #
     10  # fichier de configuration du backend zephir
     11  #
     12  ###########################################################################
     13  from zephir.config import *
     14  import os
     15
     16  # paramètres de connexion à la base postgresql
     17
     18  DB_HOST = "127.0.0.1"
     19  DB_USER = "zephir"
     20  DB_NAME = "zephir"
     21  # récupération du mdp postgresql pour zephir (possible seulement pour root)
     22  f_pwd = '/usr/share/zephir/utils/conf_db'
     23  try:
     24      execfile(f_pwd)
     25      assert DB_PASSWD
     26  except:
     27      DB_PASSWD = ""
     28
     29  # paths
     30  PATH_MODULES = PATH_ZEPHIR + 'modules/'
     31  TEMPLATE_DIR = ROOT_DIR + 'backend/template/'
     32  SCHEDULER_DELAY = 60
     33  AAF_DIR = os.path.join(PATH_ZEPHIR, 'aaf')
     34
     35  # fonctions utiles
     36
     37 -def u(objet):
     38      if type(objet) == list:
     39          l = []
     40          for item in objet:
     41              l.append(u(item))
     42          return l
     43      if type(objet) == tuple:
     44          l = []
     45          for item in objet:
     46              l.append(u(item))
     47          return l
     48      if type(objet) == dict:
     49          dico={}
     50          for cle in objet.keys():
     51              dico[cle] = u(objet[cle])
     52          return dico
     53      if type(objet) == str:
     54          try:
     55              string = unicode(objet,charset)
     56          except:
     57              string = unicode(objet,'ISO-8859-1').encode(charset)
     58          return string
     59      return objet
     60
     61  # fonction renvoyant le statut d'un fichier (manquant, fichier ou répertoire)
     62 -def get_file_info(f_local):
     63      f_info = "missing"
     64      if os.path.exists(f_local):
     65          if os.path.isdir(f_local):
     66              f_info = "dir"
     67          else:
     68              f_info = "file"
     69      return f_info
     70
     71  # dictionnaires de conversion des jours/mois pour les logs
     72  days={'Mon':'Lun', 'Tue':'Mar', 'Wed':'Mer', 'Thu':'Jeu', 'Fri':'Ven', 'Sat':'Sam', 'Sun':'Dim'}
     73  months={'Jan':'Jan', 'Feb':'Fév', 'Mar':'Mar', 'Apr':'Avr', 'May':'Mai', 'Jun':'Jun', 'Jul':'Jui', 'Aug':'Aoû', 'Sep':'Sep', 'Oct':'Oct', 'Nov':'Nov', 'Dec':'Déc'}
     74
     75  # template de configuration uucp pour un serveur
     76  CONFIG_UUCP="""# configuration du serveur %s
     77  system %s
     78  call-login %s
     79  call-password %s
     80  time any
     81  port tcp
     82  protocol t
     83  pubdir /var/spool/uucppublic
     84  protocol-parameter g timeout 20
     85  protocol-parameter g retries 10
     86  remote-send ~
     87  remote-receive ~
     88  local-receive ~
     89  local-send /
     90  """
     91
     92  FILE_SECTION = """# section 1
     93  # liste des fichiers à sauvegarder
     94  # (ne pas modifier sauf pour créer ou mettre à jour la variante)"""
     95  RPM_SECTION = """# section 2
     96  # inscrire les noms des paquetages qui seront installés à la mise à jour du serveur
     97  # (ils doivent être présents sur le serveur de mise à jour)"""
     98
     99  held_packages = ["^linux-.*server$","^linux-.*generic$"]
    100
    101  migration_files = {'amon':{'files':[('filtres-users','filtres-users',True),
    102                                      ('serialize_btn.srz','serialize_btn.srz',False),
    103                                      ('local','local',False),
    104                                      ('perso','perso',False),
    105                                      ('tmp','tmp',True),
    106                                      ('horaires.txt','tmp/horaires.txt',True)],
    107                             'rights':[('filtres-users','','www-data','www-data','0644'),
    108                                       ('local','-R','www-data','proxy','0755'),
    109                                       ('local/*','','www-data','proxy','0644'),
    110                                       ('local/liste_blanche','-R','www-data','proxy','0755'),
    111                                       ('local/liste_blanche/*','','www-data','proxy','0644'),
    112                                       ('tmp','','www-data','www-data','0777'),
    113                                       ('tmp/*','','www-data','www-data','0644'),
    114                                       ('serialize_btn.srz','','www-data','www-data','0644')],
    115                             'exclude':['rapport-maj.html','blacklist-date.txt','Reconf.log']}
    116                    }
    117