Changeset 4b9d354 for gutenbach-web


Ignore:
Timestamp:
Feb 23, 2009, 11:34:15 PM (16 years ago)
Author:
Edward Z. Yang <edwardzyang@…>
Branches:
master, debian, mac, no-cups, web
Children:
0b8c868
Parents:
1998d46
git-author:
Edward Z. Yang <edwardzyang@…> (02/23/09 23:34:15)
git-committer:
Edward Z. Yang <edwardzyang@…> (02/23/09 23:34:15)
Message:

Implement volume twiddling.

Signed-off-by: Edward Z. Yang <edwardzyang@…>

Location:
gutenbach-web
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • gutenbach-web/index.html

    r1998d46 r4b9d354  
    1515    <div id="status">
    1616        <p>The volume is <span class="volume">$volume</span></p>
     17        <div py:replace="volume_form"></div>
    1718    </div>
    1819    <div class="clearingdiv" />
  • gutenbach-web/root.py

    r1998d46 r4b9d354  
    11"""Main Controller"""
    22from sipbmp3web.lib.base import BaseController
    3 from tg import expose, flash, require, url, request, redirect
     3from tg import expose, flash, require, url, request, redirect, validate
    44from pylons.i18n import ugettext as _
    55#from tg import redirect, validate
     
    1111from sipbmp3web.controllers.secure import SecureController
    1212from remctl import remctl
     13import tw.forms as twf
     14
     15volume_form = twf.TableForm('volume_form', action='volume', children=[
     16    twf.TextField('volume', validator=twf.validators.Int(not_empty=True,min=1,max=31))
     17])
     18
     19server = "zygorthian-space-raiders.mit.edu"
    1320
    1421class RootController(BaseController):
     
    1724
    1825    @expose('sipbmp3web.templates.index')
    19     def index(self):
     26    def index(self, **kw):
    2027        out = dict(page="index")
    21         out["volume"] = remctl("zygorthian-space-raiders.mit.edu", command=["v", "get"]).stdout
    22         return out
     28        volume = int(remctl(server, command=["volume", "get"]).stdout.rstrip())
     29        if not "volume" in kw: kw["volume"] = volume
     30        return dict(
     31                    page="index",
     32                    volume=volume,
     33                    volume_form=volume_form(kw),
     34                )
     35
     36    @validate(form=volume_form, error_handler=index)
     37    @expose()
     38    def volume(self, **kw):
     39        remctl(server, command=["volume", "set", kw["volume"]])
     40        redirect('index')
    2341
    2442    @expose('sipbmp3web.templates.about')
Note: See TracChangeset for help on using the changeset viewer.