Revision df25ac35
Améliorations pour pylint.
git-svn-id: https://vigilo-dev.si.c-s.fr/svn@2682 b22e2e97-25c9-44ff-b637-2e5ceca36478
vigiboard/controllers/plugins/__init__.py | ||
---|---|---|
26 | 26 |
|
27 | 27 |
def get_value(self, idcorrevent, *args, **kwargs): |
28 | 28 |
""" |
29 |
Cette méthode est appelée depuis le template associé à ce plugin, |
|
30 |
mais également lorsque l'on demande la valeur du plugin grâce à la |
|
31 |
méthode get_plugin_value du L{RootController} de VigiBoard. |
|
29 |
Cette méthode est appelée lorsque l'on demande la valeur du plugin |
|
30 |
grâce à la méthode get_plugin_value du L{RootController} de VigiBoard. |
|
32 | 31 |
|
33 | 32 |
Cette méthode DEVRAIT être surchargée dans les classes dérivées. |
34 | 33 |
|
35 | 34 |
@param idcorrevent: Identifiant du L{CorrEvent} à interroger. |
36 | 35 |
@type idcorrevent: C{int} |
37 |
@return: Dictionnaire contenant un texte statique.
|
|
36 |
@return: Dictionnaire contenant la ou les valeur(s) correspondantes.
|
|
38 | 37 |
@rtype: C{dict} |
39 | 38 |
""" |
40 | 39 |
pass |
vigiboard/controllers/plugins/date.py | ||
---|---|---|
5 | 5 |
est survenu un événement et la durée depuis laquelle l'événement est actif. |
6 | 6 |
""" |
7 | 7 |
|
8 |
from pylons.i18n import ugettext as _ |
|
9 |
from tg import url |
|
10 |
|
|
11 | 8 |
from vigiboard.controllers.plugins import VigiboardRequestPlugin |
12 | 9 |
|
13 | 10 |
class PluginDate(VigiboardRequestPlugin): |
vigiboard/controllers/plugins/details.py | ||
---|---|---|
9 | 9 |
import urllib |
10 | 10 |
|
11 | 11 |
from tg.exceptions import HTTPForbidden |
12 |
from tg import flash, request, config, redirect, url |
|
13 |
from pylons.i18n import ugettext as _ |
|
12 |
from tg import config |
|
14 | 13 |
|
15 | 14 |
from vigiboard.controllers.vigiboardrequest import VigiboardRequest |
16 | 15 |
from vigiboard.controllers.plugins import VigiboardRequestPlugin |
17 |
from vigilo.models.session import DBSession
|
|
18 |
from vigilo.models.tables import User, CorrEvent, Event, StateName
|
|
16 |
from vigilo.models.tables import CorrEvent, Event, StateName
|
|
17 |
from vigilo.turbogears.helpers import get_current_user
|
|
19 | 18 |
|
20 | 19 |
class PluginDetails(VigiboardRequestPlugin): |
21 | 20 |
""" |
... | ... | |
33 | 32 |
""" |
34 | 33 |
|
35 | 34 |
# Obtention de données sur l'événement et sur son historique |
36 |
username = request.environ.get('repoze.who.identity' |
|
37 |
).get('repoze.who.userid') |
|
35 |
user = get_current_user() |
|
36 |
if user is None: |
|
37 |
return None |
|
38 | 38 |
|
39 |
username = request.environ['repoze.who.identity']['repoze.who.userid'] |
|
40 |
events = VigiboardRequest(User.by_user_name(username), False) |
|
39 |
events = VigiboardRequest(user, False) |
|
41 | 40 |
events.add_table( |
42 | 41 |
Event, |
43 | 42 |
events.items.c.hostname, |
vigiboard/controllers/plugins/hls.py | ||
---|---|---|
5 | 5 |
niveau (L{HighLevelService}) impactés par un événement. |
6 | 6 |
""" |
7 | 7 |
|
8 |
from pylons.i18n import ugettext as _ |
|
9 |
from tg import url |
|
10 |
|
|
11 | 8 |
from vigiboard.controllers.plugins import VigiboardRequestPlugin |
12 | 9 |
from vigilo.models.session import DBSession |
13 | 10 |
from vigilo.models.tables import HighLevelService, CorrEvent, Event, SupItem |
vigiboard/controllers/root.py | ||
---|---|---|
5 | 5 |
from datetime import datetime |
6 | 6 |
from time import mktime |
7 | 7 |
import math |
8 |
import urllib |
|
9 | 8 |
|
10 |
from tg.exceptions import HTTPNotFound |
|
9 |
from tg.exceptions import HTTPNotFound, HTTPInternalServerError
|
|
11 | 10 |
from tg import expose, validate, require, flash, \ |
12 |
tmpl_context, request, config, session, redirect, url
|
|
11 |
tmpl_context, request, config, session, redirect |
|
13 | 12 |
from tw.forms import validators |
14 | 13 |
from pylons.i18n import ugettext as _ |
15 | 14 |
from pylons.i18n import lazy_ugettext as l_ |
16 |
from pylons.controllers.util import abort |
|
17 | 15 |
from sqlalchemy import asc |
18 | 16 |
from sqlalchemy.sql import func |
19 | 17 |
from repoze.what.predicates import Any, not_anonymous |
20 | 18 |
|
21 | 19 |
from vigilo.models.session import DBSession |
22 |
from vigilo.models.tables import Event, EventHistory, CorrEvent, SupItem, \
|
|
23 |
SupItemGroup, StateName, User
|
|
20 |
from vigilo.models.tables import Event, EventHistory, CorrEvent, \ |
|
21 |
SupItem, SupItemGroup
|
|
24 | 22 |
from vigilo.models.functions import sql_escape_like |
25 | 23 |
from vigilo.models.tables.secondary_tables import EVENTSAGGREGATE_TABLE |
26 | 24 |
|
... | ... | |
54 | 52 |
|
55 | 53 |
@validate(validators={ |
56 | 54 |
'page': validators.Int(min=1), |
57 |
}, error_handler=process_form_errors)
|
|
55 |
}, error_handler = process_form_errors)
|
|
58 | 56 |
@expose('events_table.html') |
59 | 57 |
@require(Any(not_anonymous(), msg=l_("You need to be authenticated"))) |
60 | 58 |
def default(self, page=1, supitemgroup=None, |
... | ... | |
201 | 199 |
@validate(validators={ |
202 | 200 |
'idcorrevent': validators.Int(not_empty=True), |
203 | 201 |
'page': validators.Int(min=1), |
204 |
}, error_handler=process_form_errors)
|
|
202 |
}, error_handler = process_form_errors)
|
|
205 | 203 |
@expose('raw_events_table.html') |
206 | 204 |
@require(Any(not_anonymous(), msg=l_("You need to be authenticated"))) |
207 | 205 |
def masked_events(self, idcorrevent, page=1): |
... | ... | |
279 | 277 |
@validate(validators={ |
280 | 278 |
'idevent': validators.Int(not_empty=True), |
281 | 279 |
'page': validators.Int(min=1), |
282 |
}, error_handler=process_form_errors)
|
|
280 |
}, error_handler = process_form_errors)
|
|
283 | 281 |
@expose('history_table.html') |
284 | 282 |
@require(Any(not_anonymous(), msg=l_("You need to be authenticated"))) |
285 | 283 |
def event(self, idevent, page=1): |
... | ... | |
449 | 447 |
u'None', |
450 | 448 |
u'Acknowledged', |
451 | 449 |
u'AAClosed' |
452 |
], not_empty=True)}, error_handler=process_form_errors)
|
|
450 |
], not_empty=True)}, error_handler = process_form_errors)
|
|
453 | 451 |
@require(Any(not_anonymous(), msg=l_("You need to be authenticated"))) |
454 | 452 |
@expose() |
455 | 453 |
def update(self, id, last_modification, trouble_ticket, ack): |
... | ... | |
575 | 573 |
# Pas d'événement ou permission refusée. On ne distingue pas |
576 | 574 |
# les 2 cas afin d'éviter la divulgation d'informations. |
577 | 575 |
if not events.num_rows(): |
578 |
raise HTTPNotFound(_('No such incident or insufficient permissions')) |
|
576 |
raise HTTPNotFound(_('No such incident or insufficient ' |
|
577 |
'permissions')) |
|
579 | 578 |
|
580 | 579 |
plugin_class = [p[1] for p in plugins if p[0] == plugin_name] |
581 | 580 |
if not plugin_class: |
... | ... | |
606 | 605 |
return dict() |
607 | 606 |
|
608 | 607 |
@validate(validators={"refresh": validators.Int()}, |
609 |
error_handler=process_form_errors)
|
|
608 |
error_handler = process_form_errors)
|
|
610 | 609 |
@expose('json') |
611 | 610 |
def set_refresh(self, refresh): |
612 | 611 |
"""Enregistre le temps de rafraichissement dans les préférences.""" |
vigiboard/controllers/vigiboardrequest.py | ||
---|---|---|
5 | 5 |
from time import mktime |
6 | 6 |
from logging import getLogger |
7 | 7 |
|
8 |
from tg import url, config, tmpl_context
|
|
8 |
from tg import config, tmpl_context |
|
9 | 9 |
from tg.i18n import get_lang |
10 | 10 |
from pylons.i18n import ugettext as _ |
11 | 11 |
from paste.deploy.converters import asbool |
... | ... | |
17 | 17 |
from vigilo.models.tables import Event, CorrEvent, EventHistory, \ |
18 | 18 |
Host, LowLevelService, StateName |
19 | 19 |
from vigilo.models.tables.secondary_tables import SUPITEM_GROUP_TABLE |
20 |
from vigiboard.widgets.edit_event import create_edit_event_form, EditEventForm
|
|
21 |
from vigiboard.widgets.search_form import create_search_form, SearchForm
|
|
20 |
from vigiboard.widgets.edit_event import create_edit_event_form |
|
21 |
from vigiboard.widgets.search_form import create_search_form |
|
22 | 22 |
from vigiboard.controllers.plugins import VigiboardRequestPlugin |
23 | 23 |
|
24 | 24 |
LOGGER = getLogger(__name__) |
vigiboard/lib/__init__.py | ||
---|---|---|
1 | 1 |
# vim: set fileencoding=utf-8 sw=4 ts=4 et : |
2 |
#from __future__ import absolute_import |
|
3 |
|
|
4 |
#from . import app_globals |
|
5 |
#from . import helpers |
|
2 |
"""Bibliothèques utilitaires pour VigiBoard.""" |
|
6 | 3 |
|
vigiboard/tests/functional/test_history_table.py | ||
---|---|---|
155 | 155 |
# NB: la requête XPath est approchante, car XPath 1.0 ne permet pas |
156 | 156 |
# de rechercher directement une valeur dans une liste. Elle devrait |
157 | 157 |
# néanmoins suffire pour les besoins des tests. |
158 |
rows = response.lxml.xpath('//table[contains(@class, "vigitable")]/tbody/tr') |
|
158 |
rows = response.lxml.xpath( |
|
159 |
'//table[contains(@class, "vigitable")]/tbody/tr') |
|
159 | 160 |
assert_equal(len(rows), 2) |
160 | 161 |
|
161 | 162 |
def test_cause_service_history(self): |
... | ... | |
206 | 207 |
# NB: la requête XPath est approchante, car XPath 1.0 ne permet pas |
207 | 208 |
# de rechercher directement une valeur dans une liste. Elle devrait |
208 | 209 |
# néanmoins suffire pour les besoins des tests. |
209 |
rows = response.lxml.xpath('//table[contains(@class,"vigitable")]/tbody/tr') |
|
210 |
rows = response.lxml.xpath( |
|
211 |
'//table[contains(@class,"vigitable")]/tbody/tr') |
|
210 | 212 |
assert_equal(len(rows), 2) |
211 | 213 |
|
vigiboard/tests/functional/test_raw_events_table.py | ||
---|---|---|
97 | 97 |
return aggregate.idcorrevent |
98 | 98 |
|
99 | 99 |
def add_masked_event(idcorrevent): |
100 |
"""Ajoute un événement masqué à un événement corrélé.""" |
|
100 | 101 |
transaction.begin() |
101 | 102 |
hostmanagers = SupItemGroup.by_group_name(u'managersgroup') |
102 | 103 |
nb_hosts = DBSession.query(Host).count() |
... | ... | |
254 | 255 |
# NB: la requête XPath est approchante, car XPath 1.0 ne permet pas |
255 | 256 |
# de rechercher directement une valeur dans une liste. Elle devrait |
256 | 257 |
# néanmoins suffire pour les besoins des tests. |
257 |
rows = response.lxml.xpath('//table[contains(@class, "vigitable")]/tbody/tr') |
|
258 |
rows = response.lxml.xpath( |
|
259 |
'//table[contains(@class, "vigitable")]/tbody/tr') |
|
258 | 260 |
assert_equal(len(rows), 1) |
259 | 261 |
|
260 | 262 |
class TestRawEventsTableWithPermsHost(TestRawEventsTableWithPermsLLS): |
vigiboard/widgets/edit_event.py | ||
---|---|---|
5 | 5 |
import tg |
6 | 6 |
from pylons.i18n import lazy_ugettext as l_ |
7 | 7 |
from tw.api import WidgetsList |
8 |
from tw.forms import TableForm, SingleSelectField, TextField, \ |
|
9 |
HiddenField, SubmitButton |
|
8 |
from tw.forms import TableForm, SingleSelectField, TextField, HiddenField |
|
10 | 9 |
|
11 | 10 |
__all__ = ( |
12 | 11 |
'EditEventForm', |
vigiboard/widgets/search_form.py | ||
---|---|---|
5 | 5 |
import tg |
6 | 6 |
from pylons.i18n import lazy_ugettext as l_ |
7 | 7 |
from tw.api import WidgetsList |
8 |
from tw.forms import TableForm, TextField, CalendarDateTimePicker, SubmitButton
|
|
8 |
from tw.forms import TableForm, TextField, CalendarDateTimePicker |
|
9 | 9 |
|
10 | 10 |
__all__ = ('SearchForm', 'create_search_form') |
11 | 11 |
|
Also available in: Unified diff