Created
July 6, 2009 19:57
-
-
Save batok/141642 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import wx | |
import socket | |
from wsgiref.simple_server import make_server | |
from threading import Thread | |
from datetime import datetime | |
class WebServer(Thread): | |
def __init__(self, window): | |
Thread.__init__(self) | |
self.window = window | |
def doit(self, environ, start_response): | |
status = "200 OK" | |
headers = [('Content-type', 'text/html')] | |
start_response( status, headers ) | |
req = environ.get("PATH_INFO","").split("/")[-1] | |
if req != "do": | |
return "<html><body>Boo!</body></html>" | |
sc_date = datetime.now() | |
wx.CallAfter(self.window.WebRequest, sc_date) | |
return "<html><body>Done at %s</body></html>" % sc_date | |
def run(self): | |
s = make_server("", 8000, self.doit) | |
s.serve_forever() | |
class Frame(wx.Frame): | |
def __init__(self): | |
wx.Frame.__init__(self,None,-1, "I have a wsgi server", size = ( 400,100)) | |
self.label = wx.StaticText(self, -1,"") | |
WebServer(self).start() | |
self.Bind(wx.EVT_CLOSE, lambda evt: self.Destroy()) | |
def WebRequest(self, sdate): | |
self.label.SetLabel( "web request at %s" % sdate) | |
if __name__ == "__main__": | |
app = wx.PySimpleApp() | |
Frame().Show() | |
app.MainLoop() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment