Package zephir :: Package monitor :: Module website
[hide private]
[frames] | no frames]

Source Code for Module zephir.monitor.website

  1  #!/usr/bin/env python 
  2  # -*- coding: UTF-8 -*- 
  3  ########################################################################### 
  4  # Eole NG - 2007   
  5  # Copyright Pole de Competence Eole  (Ministere Education - Academie Dijon) 
  6  # Licence CeCill  cf /root/LicenceEole.txt 
  7  # eole@ac-dijon.fr  
  8  #   
  9  # website.py 
 10  #   
 11  # Creation du site web à partir de la sortie des agents (deprecated) 
 12  #        
 13  ########################################################################### 
 14  import time 
 15  import os,sys 
 16   
 17  from utils import readfile, createfile 
 18  from zephir.monitor.config import Config 
 19   
 20  try: 
 21      from zephir.lib_zephir import * 
 22  except: 
 23      sys.exit("erreur, librairie zephir introuvable") 
 24       
 25  import widgets # pour le design de la page 
 26   
129   
130   
131       
132 -class Page:
133 """Constitution des pages du site 134 """
135 - def __init__(self, group_name):
136 self.group_name = group_name 137 self.navigation = Navigation().render() 138 self.cfg = Config() 139 self._write_page()
140
141 - def _get_content(self):
142 """Récupère les bribes de html issues des agents d'un groupe 143 """ 144 agent_list = self.cfg.get_agent_group(self.group_name) 145 agent_list.sort() 146 l = [] 147 for agent in agent_list: 148 149 html_file = self.cfg.get_html_name(agent) 150 l.append( 151 readfile(html_file) 152 ) 153 return "\n".join(l)
154
155 - def _write_page(self):
156 """Ecriture de la page dans le répertoire site 157 """ 158 page_name = self.cfg.get_html_site(self.group_name) 159 PAGE = widgets.PAGE_WIDGET 160 d = {} 161 d["title"] = self.cfg.get_group_desc(self.group_name) 162 d["date"] = time.strftime("%d/%m/%Y : %Hh%M", time.localtime()) 163 d["NAVIGATION_WIDGET"] = self.navigation 164 d["CENTRAL_WIDGET"] = self._get_content() 165 page = PAGE % d 166 createfile(page_name, page)
167
168 -class PageAccueil:
169 """index.html 170 """
171 - def __init__(self):
172 self.navigation = Navigation().render() 173 self.liens = Navigation().render_accueil() 174 self.cfg = Config() 175 self._write_page()
176
177 - def _get_content(self):
178 """Récupère les bribes de html issues des agents d'un groupe 179 """ 180 HTML = """ 181 <div class="titlediv"> 182 <h1 class="newstitle"> 183 Liste des agents pour la surveillance du serveur 184 </h1> 185 <a name="%s"/> 186 </div> 187 <div class="bodydiv"> 188 %s 189 </div> 190 """ 191 192 return HTML % ("index" , self.liens + "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>")
193
194 - def _write_page(self):
195 """Ecriture de la page dans le répertoire site 196 """ 197 page_name = self.cfg.get_html_site("index") 198 PAGE = widgets.PAGE_WIDGET 199 d = {} 200 d["title"] = "index" 201 d["date"] = time.strftime("%d/%m/%Y : %Hh%M", time.localtime()) 202 d["NAVIGATION_WIDGET"] = self.navigation 203 d["CENTRAL_WIDGET"] = self._get_content() 204 page = PAGE % d 205 createfile(page_name, page)
206
207 -class Site:
208 """Création du site web 209 et envoi des données à Zephir 210 """
211 - def __init__(self):
212 self.group_list = Config().get_group_list() 213 self.set_page() 214 # creation de index.htm 215 PageAccueil()
216 # self.send_zephir() 217 218
219 - def set_page(self):
220 """Appelle toutes les pages des groupes 221 """ 222 for group in self.group_list: 223 Page(group)
224
225 - def send_zephir(self):
226 """Créé une archive du site et des données XML 227 """ 228 # on permet de continuer sans données zephir pour les tests 229 # sys.exit("erreur, librairie zephir introuvable") 230 # on récupère le n° du serveur et on crée l'archive 231 # /usr/share/eole/zephir doit être dans le pythonpath 232 try: 233 try: 234 reload(conf) 235 except: 236 import zephir.zephir_conf.zephir_conf as conf 237 except: 238 # serveur non enregistré 239 return 1 240 # préparation de l'archive 241 cmd_tar = """/bin/tar -cvf /tmp/site%s.tar site xml >> /dev/null""" % conf.id_serveur 242 res = os.system(cmd_tar) 243 # lancement de l'appel à zephir 244 os.system('/usr/share/zephir/scripts/zephir_client call')
245 246 # print '\nresultat tar : '+str(res) 247
248 - def page_accueil(self):
249 """ 250 """ 251 titre = "test_titre"
252 # FIXME : mettre le contenu de cette page en template aussi 253 254 if __name__ == "__main__": 255 Site() 256