Project

General

Profile

Revision bc31210c

IDbc31210c7a12a83f06a6198d8ea4f0903cd73558
Parent 558ccefb
Child 3e5985c8

Added by Francois POIROTTE over 13 years ago

Préparatifs pour l'ajout d'un flux Atom dans VigiBoard.

Ajoute le contrôleur "FeedsController" dans VigiBoard pour générer un flux Atom.
Pour le moment, le contrôleur génère uniquement des données d'exemple, rien de
bien intéressant.

Ajoute du template pour générer la structure du flux Atom.
Actuellement, le flux Atom n'est pas diffusé par VigiBoard (il n'est pas
possible de savoir qu'il existe sans regarder le code).

Ces préparations sont faites dans le cadre du ticket #575.

git-svn-id: https://vigilo-dev.si.c-s.fr/svn@6579 b22e2e97-25c9-44ff-b637-2e5ceca36478

View differences:

vigiboard/controllers/feeds.py
1
# -*- coding: utf-8 -*-
2
"""Sample controller module"""
3

  
4
import logging
5
from tg import expose, redirect, config, request, response
6
from pylons.i18n import ugettext as _
7
from datetime import datetime
8
from repoze.what.predicates import Any, has_permission, in_group
9
from tg.controllers import CUSTOM_CONTENT_TYPE
10

  
11
from vigilo.turbogears.controllers import BaseController
12

  
13
LOGGER = logging.getLogger(__name__)
14

  
15
__all__ = ['FeedsController']
16

  
17
class FeedsController(BaseController):
18
    # pylint: disable-msg=R0201,W0613
19

  
20
    @expose('atom.xml', content_type=CUSTOM_CONTENT_TYPE)
21
    def atom(self, token):
22
        """
23
        """
24
        response.headers['Content-Type'] = 'application/atom+xml'
25
        return {
26
            'feed': {
27
                'title': 'VigiBoard',
28
                'mtime': datetime.now(),
29
            },
30
            'entries': [
31
                {
32
                    'title': 'Test',
33
                    'mtime': datetime.now(),
34
                    'summary': 'Foo bar on baz',
35
                }
36
            ],
37
        }
vigiboard/controllers/root.py
53 53

  
54 54
from vigiboard.controllers.vigiboardrequest import VigiboardRequest
55 55
from vigiboard.controllers.vigiboard_controller import VigiboardRootController
56
from vigiboard.controllers.feeds import FeedsController
56 57

  
57 58
from vigiboard.widgets.edit_event import edit_event_status_options, \
58 59
                                            EditEventForm
......
70 71
    nagios = ProxyController('nagios', '/nagios/',
71 72
        not_anonymous(l_('You need to be authenticated')))
72 73
    api = ApiRootController("/api")
73

  
74
    feeds = FeedsController()
74 75

  
75 76
    # Prédicat pour la restriction de l'accès aux interfaces.
76 77
    # L'utilisateur doit avoir la permission "vigiboard-access"

Also available in: Unified diff