def main(self): """Produce the appropriate response then terminate.""" filename = sanitizePath(self.request["raw-uri"]) #if os.path.isdir(homedirectory + filename): # if filename[-1:] != "/": filename += "/" # if os.path.isfile(self.homedirectory + filename + self.indexfilename): # filename += indexfilename # else: # yield websiteListFilesPage(filename) # return filetype = MimeTypes.workoutMimeType(filename) error = None try: if os.path.exists(self.homedirectory + filename) and \ not os.path.isdir(self.homedirectory + filename): resource = { "content-type" : filetype, "statuscode" : "200", #"length" : os.path.getsize(homedirectory + filename) } self.send(resource, "outbox") else: print "Error 404, " + filename + " is not a file" print "self.homedirectory(%s) , filename(%s)" % (self.homedirectory , filename) print "os.path.exists(self.homedirectory + filename)", os.path.exists(self.homedirectory + filename) print "not os.path.isdir(self.homedirectory + filename)", (not os.path.isdir(self.homedirectory + filename)) error = 404 except OSError, e: error = 404
def main(self): """Produce the appropriate response then terminate.""" filename = sanitizePath(self.request["uri-suffix"]) if not (self.homedirectory.endswith('/') or filename.startswith('/')): filepath = self.homedirectory + '/' + filename # FIXME: Should use os.path.join else: filepath = self.homedirectory + filename # FIXME: Should use os.path.join # print filepath # FIXME: Logic here looks a little bust actually, and can probably # FIXME: be reworked further and simplified. filetype = MimeTypes.workoutMimeType(filename) error = None try: if os.path.exists(filepath): if os.path.isdir(filepath): filepath += self.indexfilename # FIXME: Assumes X/index.html always exists resource = { "content-type" : filetype, "statuscode" : 200, } self.send(resource, "outbox") else: print "Error 404, " + filename + " is not a file" print "self.homedirectory(%s) , filename(%s)" % (self.homedirectory , filename) print "os.path.exists(self.homedirectory + filename)", os.path.exists(self.homedirectory + filename) print "not os.path.isdir(self.homedirectory + filename)", (not os.path.isdir(self.homedirectory + filename)) error = 404 except OSError, e: error = 404
def main(self): """Produce the appropriate response then terminate.""" filename = sanitizePath(self.request["raw-uri"], self.substituted_path) filepath = self.homedirectory + filename #if os.path.isdir(homedirectory + filename): # if filename[-1:] != "/": filename += "/" # if os.path.isfile(self.homedirectory + filename + self.indexfilename): # filename += indexfilename # else: # yield websiteListFilesPage(filename) # return error = None try: if os.path.exists(filepath): if os.path.isdir(filepath): filepath = filepath.rstrip('/') filepath = filepath + '/' + self.indexfilename print filepath filetype = MimeTypes.workoutMimeType(filepath) resource = { "type" : filetype, "statuscode" : "200", #"length" : os.path.getsize(homedirectory + filename) } print resource self.send(resource, "outbox") else: print "Error 404, " + filepath + " is not a file" print "filepath: %s" % (filepath) print "os.path.exists(filepath)", os.path.exists(filepath) print "os.path.isdir(filepath)", (os.path.isdir(filepath)) error = 404 except OSError, e: error = 404
def main(self): """Produce the appropriate response then terminate.""" filename = sanitizePath(self.request["uri-suffix"]) if not (self.homedirectory.endswith('/') or filename.startswith('/')): filepath = self.homedirectory + '/' + filename # FIXME: Should use os.path.join else: filepath = self.homedirectory + filename # FIXME: Should use os.path.join # print filepath # FIXME: Logic here looks a little bust actually, and can probably # FIXME: be reworked further and simplified. filetype = MimeTypes.workoutMimeType(filename) error = None try: if os.path.exists(filepath): if os.path.isdir(filepath): filepath += self.indexfilename # FIXME: Assumes X/index.html always exists resource = { "content-type": filetype, "statuscode": 200, } self.send(resource, "outbox") else: print "Error 404, " + filename + " is not a file" print "self.homedirectory(%s) , filename(%s)" % ( self.homedirectory, filename) print "os.path.exists(self.homedirectory + filename)", os.path.exists( self.homedirectory + filename) print "not os.path.isdir(self.homedirectory + filename)", ( not os.path.isdir(self.homedirectory + filename)) error = 404 except OSError, e: error = 404
def main(self): """Produce the appropriate response then terminate.""" filename = sanitizePath(self.request["uri-suffix"]) if not (self.homedirectory.endswith('/') or filename.startswith('/')): filepath = self.homedirectory + '/' + filename # FIXME: Should use os.path.join else: filepath = self.homedirectory + filename # FIXME: Should use os.path.join # print (filepath) # FIXME: Logic here looks a little bust actually, and can probably # FIXME: be reworked further and simplified. filetype = MimeTypes.workoutMimeType(filename) error = None try: if os.path.exists(filepath): if os.path.isdir(filepath): filepath += self.indexfilename # FIXME: Assumes X/index.html always exists resource = { "content-type" : filetype, "statuscode" : 200, } self.send(resource, "outbox") else: print ("Error 404, " + filename + " is not a file") print ("self.homedirectory(%s) , filename(%s)" % (self.homedirectory , filename)) print ("os.path.exists(self.homedirectory + filename)", os.path.exists(self.homedirectory + filename)) print ("not os.path.isdir(self.homedirectory + filename)", (not os.path.isdir(self.homedirectory + filename))) error = 404 except OSError: e = sys.exc_info()[1] error = 404 if error == 404: resource = ErrorPages.getErrorPage(404) resource["incomplete"] = False self.send(resource, "outbox") self.send(producerFinished(self), "signal") return self.filereader = IntelligentFileReader(filepath, 50000, 10) self.link((self, "_fileprompt"), (self.filereader, "inbox")) self.link((self, "_filesignal"), (self.filereader, "control")) self.link((self.filereader, "outbox"), (self, "_fileread")) self.link((self.filereader, "signal"), (self, "_filecontrol")) self.addChildren(self.filereader) self.filereader.activate() yield 1 done = False while not done: yield 1 while self.dataReady("_fileread") and len(self.outboxes["outbox"]) < 3: msg = self.recv("_fileread") resource = { "data" : msg } self.send(resource, "outbox") if len(self.outboxes["outbox"]) < 3: self.send("GARBAGE", "_fileprompt") # we use this to wakeup the filereader while self.dataReady("_filecontrol") and not self.dataReady("_fileread"): msg = self.recv("_filecontrol") if isinstance(msg, producerFinished): done = True self.pause() self.send(producerFinished(self), "signal")
def main(self): """Produce the appropriate response then terminate.""" filename = sanitizePath(self.request["uri-suffix"]) if not (self.homedirectory.endswith('/') or filename.startswith('/')): filepath = self.homedirectory + '/' + filename # FIXME: Should use os.path.join else: filepath = self.homedirectory + filename # FIXME: Should use os.path.join # print (filepath) # FIXME: Logic here looks a little bust actually, and can probably # FIXME: be reworked further and simplified. filetype = MimeTypes.workoutMimeType(filename) error = None try: if os.path.exists(filepath): if os.path.isdir(filepath): filepath += self.indexfilename # FIXME: Assumes X/index.html always exists resource = { "content-type": filetype, "statuscode": 200, } self.send(resource, "outbox") else: print("Error 404, " + filename + " is not a file") print("self.homedirectory(%s) , filename(%s)" % (self.homedirectory, filename)) print("os.path.exists(self.homedirectory + filename)", os.path.exists(self.homedirectory + filename)) print("not os.path.isdir(self.homedirectory + filename)", (not os.path.isdir(self.homedirectory + filename))) error = 404 except OSError: e = sys.exc_info()[1] error = 404 if error == 404: resource = ErrorPages.getErrorPage(404) resource["incomplete"] = False self.send(resource, "outbox") self.send(producerFinished(self), "signal") return self.filereader = IntelligentFileReader(filepath, 50000, 10) self.link((self, "_fileprompt"), (self.filereader, "inbox")) self.link((self, "_filesignal"), (self.filereader, "control")) self.link((self.filereader, "outbox"), (self, "_fileread")) self.link((self.filereader, "signal"), (self, "_filecontrol")) self.addChildren(self.filereader) self.filereader.activate() yield 1 done = False while not done: yield 1 while self.dataReady("_fileread") and len( self.outboxes["outbox"]) < 3: msg = self.recv("_fileread") resource = {"data": msg} self.send(resource, "outbox") if len(self.outboxes["outbox"]) < 3: self.send( "GARBAGE", "_fileprompt") # we use this to wakeup the filereader while self.dataReady( "_filecontrol") and not self.dataReady("_fileread"): msg = self.recv("_filecontrol") if isinstance(msg, producerFinished): done = True self.pause() self.send(producerFinished(self), "signal")