def get_ip(): return urllib.thishost()
raise IOError(e.errno, e.strerror, e.filename) size = stats.st_size modified = email.utils.formatdate(stats.st_mtime, usegmt=True) mtype = mimetypes.guess_type(url)[0] headers = mimetools.Message(StringIO( 'Content-Type: %s\nContent-Length: %d\nLast-modified: %s\n' % (mtype or 'text/html; charset=utf-8;', size, modified))) if not host: urlfile = file if file[:1] == '/': urlfile = 'file://' + file return urllib.addinfourl(OpenOnRead(localname, 'rb'), headers, urlfile) host, port = urllib.splitport(host) if not port \ and socket.gethostbyname(host) in (urllib.localhost(), urllib.thishost()): urlfile = file if file[:1] == '/': urlfile = 'file://' + file return urllib.addinfourl(OpenOnRead(localname, 'rb'), headers, urlfile) raise IOError, ('local file error', 'not on local host') def dirlisting(selfself, path): try: names = os.listdir(path) except os.error, msg: exc_type, exc_value, exc_tb = sys.exc_info() raise IOError, msg, exc_tb names.sort() s = MyStringIO("file:"+path, {'content-type': 'text/html'})