Or download the old source files, and use the asyncore.py that's there. 2010/10/16, Lucasm <lordlucr...@gmail.com>: > On 16 Okt, 15:31, chad <cdal...@gmail.com> wrote: >> At the following url.. >> >> http://www.nightmare.com/medusa/programming.html >> >> The author has the following code for a simple HTTP client >> >> #!/usr/bin/python >> >> import asyncore >> import socket >> import string >> >> class http_client (asyncore.dispatcher): >> >> def __init__ (self, host, path): >> asyncore.dispatcher.__init__ (self) >> self.path = path >> self.create_socket (socket.AF_INET, socket.SOCK_STREAM) >> self.connect ((host, 80)) >> >> def handle_connect (self): >> self.send ('GET %s HTTP/1.0\r\n\r\n' % self.path) >> >> def handle_read (self): >> data = self.recv (8192) >> print data >> >> def handle_write (self): >> pass >> >> if __name__ == '__main__': >> import sys >> import urlparse >> for url in sys.argv[1:]: >> parts = urlparse.urlparse (url) >> if parts[0] != 'http': >> raise ValueError, "HTTP URL's only, please" >> else: >> host = parts[1] >> path = parts[2] >> http_client (host, path) >> asyncore.loop() >> >> Right after that, the author states the following... >> >> " A really good way to understand select() is to put a print statement >> into the asyncore.poll() function: >> >> [...] >> (r,w,e) = select.select (r,w,e, timeout) >> print '---' >> print 'read', r >> print 'write', w >> [...] >> >> Each time through the loop you will see which channels have fired >> which events. >> " >> >> How the heck do I modify the code put the print statement into the >> asyncore.poll() function? >> >> Chad > > Hi, > > You can find the file in your Python directory, in my case /usr/lib/ > Python2.6/asyncore.py. You should delete the .pyc file to make sure it > is recompiled. And you will need root access :). > > Lucas > -- > http://mail.python.org/mailman/listinfo/python-list >
-- Felipe Bastos Nunes -- http://mail.python.org/mailman/listinfo/python-list