equal
deleted
inserted
replaced
10 _ = unicode |
10 _ = unicode |
11 |
11 |
12 from logilab.mtconverter import xml_escape |
12 from logilab.mtconverter import xml_escape |
13 |
13 |
14 from cubicweb.selectors import yes, none_rset, match_user_groups, authenticated_user |
14 from cubicweb.selectors import yes, none_rset, match_user_groups, authenticated_user |
15 from cubicweb.view import AnyRsetView, StartupView, EntityView |
15 from cubicweb.view import AnyRsetView, StartupView, EntityView, View |
16 from cubicweb.uilib import html_traceback, rest_traceback |
16 from cubicweb.uilib import html_traceback, rest_traceback |
17 from cubicweb.web import formwidgets as wdgs |
17 from cubicweb.web import formwidgets as wdgs |
18 from cubicweb.web.formfields import guess_field |
18 from cubicweb.web.formfields import guess_field |
19 |
19 |
20 SUBMIT_MSGID = _('Submit bug report') |
20 SUBMIT_MSGID = _('Submit bug report') |
299 _('base url'), req.base_url())) |
299 _('base url'), req.base_url())) |
300 self.w(u'<tr><th align="left">%s</th><td>%s</td></tr>' % ( |
300 self.w(u'<tr><th align="left">%s</th><td>%s</td></tr>' % ( |
301 _('data directory url'), req.datadir_url)) |
301 _('data directory url'), req.datadir_url)) |
302 self.w(u'</table>') |
302 self.w(u'</table>') |
303 self.w(u'<br/>') |
303 self.w(u'<br/>') |
|
304 self.w(u'<h3>%s</h3>' % _('Repository')) |
|
305 self.w(u'<table border="1">') |
|
306 stats = self._cw.vreg.config.repository(None).stats() |
|
307 for element in stats: |
|
308 self.w(u'<tr><th align="left">%s</th><td>%s %s</td></tr>' |
|
309 % (element, stats[element], |
|
310 element.endswith('percent') and '%' or '' )) |
|
311 self.w(u'</table>') |
|
312 |
304 # environment and request and server information |
313 # environment and request and server information |
305 try: |
314 try: |
306 # need to remove our adapter and then modpython-apache wrapper... |
315 # need to remove our adapter and then modpython-apache wrapper... |
307 env = req._areq._req.subprocess_env |
316 env = req._areq._req.subprocess_env |
308 except AttributeError: |
317 except AttributeError: |
331 continue |
340 continue |
332 self.w(u'<tr><th align="left">%s</th><td>%s</td></tr>' |
341 self.w(u'<tr><th align="left">%s</th><td>%s</td></tr>' |
333 % (attr, xml_escape(val))) |
342 % (attr, xml_escape(val))) |
334 self.w(u'</table>') |
343 self.w(u'</table>') |
335 |
344 |
|
345 |
|
346 class CwStats(View): |
|
347 """A textual stats output for monitoring tools such as munin """ |
|
348 |
|
349 __regid__ = 'processinfo' |
|
350 content_type = 'text/txt' |
|
351 templatable = False |
|
352 __select__ = none_rset() & match_user_groups('users', 'managers') |
|
353 |
|
354 def call(self): |
|
355 _ = self._cw._ |
|
356 stats = self._cw.vreg.config.repository(None).stats() |
|
357 results = [] |
|
358 for element in stats: |
|
359 results.append('%s %s' % (element, stats[element])) |
|
360 self.w(u"%s" % _('\n'.join(results))) |