pvl/verkko/web.py
author Tero Marttila <terom@paivola.fi>
Mon, 21 Jan 2013 17:31:59 +0200
changeset 158 3ff66d4f401c
parent 151 8a9f01036091
child 178 f9f5e669bace
permissions -rw-r--r--
split up static into rrd/dhcp
3
5990b188c54b web.Handler
Tero Marttila <terom@paivola.fi>
parents: 1
diff changeset
     1
# encoding: utf-8
151
8a9f01036091 split pvl.web from pvl.verkko, rename test.py -> pvl.verkko-dhcp
Tero Marttila <terom@paivola.fi>
parents: 26
diff changeset
     2
import pvl.web.application
7
7baf4cccb4a9 move Index to urls; fix self.url(sort=...)
Tero Marttila <terom@paivola.fi>
parents: 6
diff changeset
     3
151
8a9f01036091 split pvl.web from pvl.verkko, rename test.py -> pvl.verkko-dhcp
Tero Marttila <terom@paivola.fi>
parents: 26
diff changeset
     4
# view
8a9f01036091 split pvl.web from pvl.verkko, rename test.py -> pvl.verkko-dhcp
Tero Marttila <terom@paivola.fi>
parents: 26
diff changeset
     5
from pvl.web.html import tags as html
7
7baf4cccb4a9 move Index to urls; fix self.url(sort=...)
Tero Marttila <terom@paivola.fi>
parents: 6
diff changeset
     6
1
731d2df704f0 fixup index + non-chunked response (?) + hosts + evil hardcoded db url
Tero Marttila <terom@paivola.fi>
parents: 0
diff changeset
     7
from werkzeug.wrappers import Response
3
5990b188c54b web.Handler
Tero Marttila <terom@paivola.fi>
parents: 1
diff changeset
     8
from werkzeug.exceptions import (
5990b188c54b web.Handler
Tero Marttila <terom@paivola.fi>
parents: 1
diff changeset
     9
        HTTPException, 
5990b188c54b web.Handler
Tero Marttila <terom@paivola.fi>
parents: 1
diff changeset
    10
        BadRequest,         # 400
5990b188c54b web.Handler
Tero Marttila <terom@paivola.fi>
parents: 1
diff changeset
    11
        NotFound,           # 404
5990b188c54b web.Handler
Tero Marttila <terom@paivola.fi>
parents: 1
diff changeset
    12
)
4
Tero Marttila <terom@paivola.fi>
parents: 3
diff changeset
    13
from werkzeug.utils import redirect
Tero Marttila <terom@paivola.fi>
parents: 3
diff changeset
    14
151
8a9f01036091 split pvl.web from pvl.verkko, rename test.py -> pvl.verkko-dhcp
Tero Marttila <terom@paivola.fi>
parents: 26
diff changeset
    15
class Handler (pvl.web.application.Handler) :
3
5990b188c54b web.Handler
Tero Marttila <terom@paivola.fi>
parents: 1
diff changeset
    16
    CSS = (
158
3ff66d4f401c split up static into rrd/dhcp
Tero Marttila <terom@paivola.fi>
parents: 151
diff changeset
    17
        "/static/dhcp/hosts.css", 
3
5990b188c54b web.Handler
Tero Marttila <terom@paivola.fi>
parents: 1
diff changeset
    18
    )
24
45382e1c0be0 pvl.verkko.web: <script> support; returning response from process()
Tero Marttila <terom@paivola.fi>
parents: 16
diff changeset
    19
    JS = (
45382e1c0be0 pvl.verkko.web: <script> support; returning response from process()
Tero Marttila <terom@paivola.fi>
parents: 16
diff changeset
    20
        #"/static/jquery/jquery.js"
45382e1c0be0 pvl.verkko.web: <script> support; returning response from process()
Tero Marttila <terom@paivola.fi>
parents: 16
diff changeset
    21
    )
0
91c739202f06 initial code for dhcp hosts
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    22
7
7baf4cccb4a9 move Index to urls; fix self.url(sort=...)
Tero Marttila <terom@paivola.fi>
parents: 6
diff changeset
    23
    def __init__ (self, app, request, urls, params) :
151
8a9f01036091 split pvl.web from pvl.verkko, rename test.py -> pvl.verkko-dhcp
Tero Marttila <terom@paivola.fi>
parents: 26
diff changeset
    24
        super(Handler, self).__init__(app, request, urls, params)
3
5990b188c54b web.Handler
Tero Marttila <terom@paivola.fi>
parents: 1
diff changeset
    25
16
51509b5ce1c0 request per session, move to postgres, rename columns, fixup state/name/error handling in updates
Tero Marttila <terom@paivola.fi>
parents: 7
diff changeset
    26
        # new ORM session per request
51509b5ce1c0 request per session, move to postgres, rename columns, fixup state/name/error handling in updates
Tero Marttila <terom@paivola.fi>
parents: 7
diff changeset
    27
        self.db = app.db.session() 
6
0f243c59d5d1 build urls
Tero Marttila <terom@paivola.fi>
parents: 5
diff changeset
    28
3
5990b188c54b web.Handler
Tero Marttila <terom@paivola.fi>
parents: 1
diff changeset
    29
    def title (self) :
5990b188c54b web.Handler
Tero Marttila <terom@paivola.fi>
parents: 1
diff changeset
    30
        """
5990b188c54b web.Handler
Tero Marttila <terom@paivola.fi>
parents: 1
diff changeset
    31
            Render site/page title as text.
5990b188c54b web.Handler
Tero Marttila <terom@paivola.fi>
parents: 1
diff changeset
    32
        """
5990b188c54b web.Handler
Tero Marttila <terom@paivola.fi>
parents: 1
diff changeset
    33
        
5990b188c54b web.Handler
Tero Marttila <terom@paivola.fi>
parents: 1
diff changeset
    34
        if self.TITLE :
5990b188c54b web.Handler
Tero Marttila <terom@paivola.fi>
parents: 1
diff changeset
    35
            return u"Päivölä Verkko :: {title}".format(title=self.TITLE)
5990b188c54b web.Handler
Tero Marttila <terom@paivola.fi>
parents: 1
diff changeset
    36
        else :
5990b188c54b web.Handler
Tero Marttila <terom@paivola.fi>
parents: 1
diff changeset
    37
            return u"Päivölä Verkko"
5990b188c54b web.Handler
Tero Marttila <terom@paivola.fi>
parents: 1
diff changeset
    38
26
589249097230 hosts: convert realtime list into table; breaks animations :(
Tero Marttila <terom@paivola.fi>
parents: 24
diff changeset
    39
    def cleanup (self) :
589249097230 hosts: convert realtime list into table; breaks animations :(
Tero Marttila <terom@paivola.fi>
parents: 24
diff changeset
    40
        """
151
8a9f01036091 split pvl.web from pvl.verkko, rename test.py -> pvl.verkko-dhcp
Tero Marttila <terom@paivola.fi>
parents: 26
diff changeset
    41
            After request processing.
26
589249097230 hosts: convert realtime list into table; breaks animations :(
Tero Marttila <terom@paivola.fi>
parents: 24
diff changeset
    42
        """
589249097230 hosts: convert realtime list into table; breaks animations :(
Tero Marttila <terom@paivola.fi>
parents: 24
diff changeset
    43
        
589249097230 hosts: convert realtime list into table; breaks animations :(
Tero Marttila <terom@paivola.fi>
parents: 24
diff changeset
    44
        # XXX: SQLAlchemy doesn't automatically close these...?
589249097230 hosts: convert realtime list into table; breaks animations :(
Tero Marttila <terom@paivola.fi>
parents: 24
diff changeset
    45
        self.db.close()