Changeset 28 for tabled.py

Show
Ignore:
Timestamp:
02/05/08 20:04:38 (4 years ago)
Author:
mike
Message:

Switched to nevow

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • tabled.py

    r27 r28  
    11""" 
    2 usage: tabled.py <port> 
    32""" 
    43import sys 
     
    1312from twisted.protocols.basic import NetstringReceiver 
    1413from twisted.internet import defer 
    15 from twisted.web2 import server, http, resource, channel 
    16 from twisted.web2.http_headers import Headers, MimeType 
     14from nevow               import rend 
     15from nevow               import appserver 
     16from nevow.inevow import IRequest 
     17 
     18from twisted.application import internet, service 
     19from twisted.names import server, dns, hosts 
     20 
    1721 
    1822encodejson = simplejson.dumps 
     
    121125    def __doResponse(self,dat): 
    122126        resp,jsoncallback = dat 
    123         return http.Response(stream= 
    124                 str("%s(%s)" % (jsoncallback,encodejson(resp))), 
    125                 headers = {"content-type": MimeType.fromString("text/javascript")}) 
     127        return str("%s(%s)" % (jsoncallback,encodejson(resp))) 
    126128 
    127129    def doRenderStuff(self,nargs): 
     
    144146 
    145147 
    146 class PokerTableWebProtocoll(resource.Resource): 
     148class PokerTableWebProtocoll(rend.Page): 
    147149    addSlash = True 
    148150     
    149151    def __init__(self): 
    150         resource.Resource.__init__(self) 
    151152        self.__webHandlers = {} 
    152153 
    153     def render(self, ctx): 
     154    def renderHTTP(self, ctx): 
    154155        nargs = {} 
    155         for k,v in ctx.args.items(): nargs[k] = v[0] 
     156        print "---------------" 
     157        args = IRequest(ctx).args 
     158        for k,v in args.items(): nargs[k] = v[0] 
    156159        handler = None 
    157160        print nargs 
     
    168171        return handler.doRenderStuff(nargs) 
    169172 
    170 def main(): 
    171     if len(sys.argv) != 2: 
    172         print __doc__ 
    173         sys.exit(0) 
    174173 
    175     port = int(sys.argv[1]) 
     174port = 8007#int(sys.argv[1]) 
     175port2 = 8080#int(sys.argv[1]) 
    176176 
    177     factory = Factory() 
    178     factory.protocol = PokerTableProtocol 
    179      
    180     site = server.Site(PokerTableWebProtocoll()) 
    181     reactor.listenTCP(8080, channel.HTTPFactory(site)) 
    182     # 8007 is the port you want to run under. Choose something >1024 
    183     reactor.listenTCP(port, factory) 
    184     print "Listening on localhost:%d" % port 
    185     reactor.run() 
     177factory = Factory() 
     178factory.protocol = PokerTableProtocol 
     179 
     180site = appserver.NevowSite( PokerTableWebProtocoll() ) 
     181myService = service.MultiService() 
     182internet.TCPServer(port, factory).setServiceParent(myService) 
     183internet.TCPServer(port2, site).setServiceParent(myService) 
     184 
     185application = service.Application( "dpoker" ) 
     186 
     187myService.setServiceParent(application) 
     188 
     189print "Listening on localhost:%d(tcp) %d(http)" % (port, port2) 
    186190 
    187191 
    188  
    189  
    190 if __name__ == "__main__": 
    191     main() 
    192