1
2
3
4
5
6
7
8
9
10
11
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
26
28 """Navigation dans le site
29 (page d'agents ou sous-pages)
30 """
31
32 NAVIGATION_WIDGET = """
33 <img src="./images/site.jpg" alt="eole" align="center"/>
34 <div class="leftcol">
35 <div class="otherboxtitle">Navigation</div>
36 <div class="otherbox">
37 %s
38 </div>
39 </div>
40 """
41
45
47 """Construis la liste des agents d'un groupe
48 [ ( agent_name, agent description ) ]
49 """
50 agent_list = self.cfg.get_agent_group(group_name)
51 l = []
52 for agent in agent_list:
53 l.append(
54 (agent, self.cfg.get_agent_desc(agent))
55 )
56 l.sort()
57 return l
58
68
88
90 """Renvoie le html de la navigation box
91 """
92
93 group_links = []
94 for group_name in self.group_list :
95 group_links.append(
96 (group_name, self.cfg.get_html_relative_name(group_name), self.cfg.get_group_desc(group_name))
97 )
98 group_links.sort()
99
100 l = []
101 for liste in group_links:
102 group_name, filename, description = liste
103 l.append(
104 self.group_widget(filename, group_name, description)
105 )
106 content = "\n".join(l)
107 return self.NAVIGATION_WIDGET % content
108
109
111 """Renvoie le html de la navigation pour la page index
112 """
113
114 group_links = []
115 for group_name in self.group_list :
116 group_links.append(
117 (group_name, self.cfg.get_html_relative_name(group_name), self.cfg.get_group_desc(group_name))
118 )
119 group_links.sort()
120
121 l = []
122 for liste in group_links:
123 group_name, filename, description = liste
124 l.append(
125 self.group_widget(filename, group_name, description)
126 )
127 content = "\n".join(l)
128 return content
129
130
131
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
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
208 """Création du site web
209 et envoi des données à Zephir
210 """
216
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
226 """Créé une archive du site et des données XML
227 """
228
229
230
231
232 try:
233 try:
234 reload(conf)
235 except:
236 import zephir.zephir_conf.zephir_conf as conf
237 except:
238
239 return 1
240
241 cmd_tar = """/bin/tar -cvf /tmp/site%s.tar site xml >> /dev/null""" % conf.id_serveur
242 res = os.system(cmd_tar)
243
244 os.system('/usr/share/zephir/scripts/zephir_client call')
245
246
247
248 - def page_accueil(self):
249 """
250 """
251 titre = "test_titre"
252
253
254 if __name__ == "__main__":
255 Site()
256