raise AccessDenied("Only identified users allow!") if not self.request.environ["REMOTE_USER"] in self.request.cfg["allows_user"]: raise AccessDenied("Permission denied!") def process_request(self): """ Abarbeiten des eigentlichen Request. Die ObjectApplication ruft automatisch die eigentlichen Programmteile auf """ self.check_rights() # Als erstes die Rechte checken! super(PyDown, self).process_request() def on_access_denied(self, args): """ Überschreibt die original Ausgabe und ergänzt diese mit einem Hinweis, warum der Access Denied ist ;) """ self.request.write("<h1>403 Forbidden</h1>") self.request.write("<h3>%s</h3>" % " ".join(args)) #~ def on_regular_close(self): #~ self.request.debug_info() # Middleware, die den Tag <script_duration /> ersetzt from ReplacerMiddleware import replacer app = replacer(PyDown)
} usernames = self.request.db.last_users() usernames = ",".join(usernames) self.request.context["serverInfo"] = { "totalBandwith": int(round(self.request.db.get_bandwith())), "availableBandwith": int(round(self.request.db.available_bandwith())), "downloadCount": self.request.db.download_count(), "user": usernames, } def render(self, templatename): """ Template mit jinja rendern, dabei wird self.request.context verwendet """ #~ loader = jinja.FileSystemLoader('templates') loader = jinja.CachedFileSystemLoader('templates') template = jinja.Template(templatename, loader) context = jinja.Context(self.request.context) self.request.write(template.render(context)) if cfg["debug"]: self.request.debug_info() # Middleware, die den Tag <script_duration /> ersetzt from ReplacerMiddleware import replacer app = replacer(PyDown)
def start(self, contentLength): #~ print "Start", contentLength self.id = self.db.insert_upload(self.filename, contentLength, current_bytes=0) def update(self, pos): self.db.update_upload(self.id, pos) #~ print "pos:", pos def finished(self): #~ self.db.update_upload(self.id, pos) #~ print "finished", self.filename pass app = PyDown # Middleware, die den Tag <script_duration /> ersetzt from ReplacerMiddleware import replacer app = replacer(app) # callback Funktion für Uploads from uploadMiddleware import ProgressMiddleware app = ProgressMiddleware(app, UploadCallback, requestObjectKey, threshold=512 * 1024)
def start(self, contentLength): #~ print "Start", contentLength self.id = self.db.insert_upload( self.filename, contentLength, current_bytes=0 ) def update(self, pos): self.db.update_upload(self.id, pos) #~ print "pos:", pos def finished(self): #~ self.db.update_upload(self.id, pos) #~ print "finished", self.filename pass app = PyDown # Middleware, die den Tag <script_duration /> ersetzt from ReplacerMiddleware import replacer app = replacer(app) # callback Funktion für Uploads from uploadMiddleware import ProgressMiddleware app = ProgressMiddleware( app, UploadCallback, requestObjectKey, threshold=512*1024 )