def logout(self): # expire session session_manager = get_session_manager() session_manager.expire_session() # redirect to index page. return redirect(get_path(1) + '/')
def _q_index(self): """ If directory listings are allowed, generate a simple HTML listing of the directory's contents with each item hyperlinked; if the item is a subdirectory, place a '/' after it. If not allowed, return a page to that effect. """ if self.index_filenames: for name in self.index_filenames: try: obj = self._q_lookup(name) except errors.TraversalError: continue if (not isinstance(obj, StaticDirectory) and hasattr(obj, '__call__')): return obj() if self.list_directory: title = 'Index of %s' % quixote.get_path() r = TemplateIO(html=True) template = htmltext('<a href="%s">%s</a>%s\n') r += htmltext('<pre>') r += template % ('..', '..', '') files = os.listdir(self.path) files.sort() for filename in files: filepath = os.path.join(self.path, filename) marker = os.path.isdir(filepath) and "/" or "" r += template % (urllib.quote(filename), filename, marker) r += htmltext('</pre>') body = r.getvalue() else: title = 'Directory listing denied' body = htmltext('<p>This directory does not allow its contents ' 'to be listed.</p>') return errors.format_page(title, body)
def _q_index(self): """ If directory listings are allowed, generate a simple HTML listing of the directory's contents with each item hyperlinked; if the item is a subdirectory, place a '/' after it. If not allowed, return a page to that effect. """ if self.index_filenames: for name in self.index_filenames: try: obj = self._q_lookup(name) except errors.TraversalError: continue if (not isinstance(obj, StaticDirectory) and hasattr(obj, '__call__')): return obj() if self.list_directory: title = 'Index of %s' % quixote.get_path() r = TemplateIO(html=True) template = htmltext('<a href="%s">%s</a>%s\n') r += htmltext('<pre>') r += template % ('..', '..', '') files = os.listdir(self.path) files.sort() for filename in files: filepath = os.path.join(self.path, filename) marker = os.path.isdir(filepath) and "/" or "" r += template % (urllib.parse.quote(filename), filename, marker) r += htmltext('</pre>') body = r.getvalue() else: title = 'Directory listing denied' body = htmltext('<p>This directory does not allow its contents ' 'to be listed.</p>') return errors.format_page(title, body)
def is_dirty(self): if False: print 'is_dirty %s: has_info=%s dirty=%s' % (get_path(), self.has_info(), self.dirty) r = (self.has_info() and self.dirty) self.dirty = False return r
def __call__(self): if "" in self._q_exports and not quixote.get_request().form: # Fix missing trailing slash. path = quixote.get_path() print "Adding slash to: %r " % path return quixote.redirect(path + "/", permanent=True) else: raise TraversalError(private_msg=('directory %r is not ' 'callable' % self))
def __call__(self): if "" in self._q_exports and not quixote.get_request().form: # Fix missing trailing slash. path = quixote.get_path() print("Adding slash to: %r " % path) return quixote.redirect(path + "/", permanent=True) else: raise TraversalError(private_msg=('directory %r is not ' 'callable' % self))
def keep(self): """ Set the session to persist. """ session = get_session() session.keep = True # redirect to index page. return redirect(get_path(1) + '/')
def logout(self): """ Expire the session, redirect back to index page. """ # expire session session_manager = get_session_manager() session_manager.expire_session() # redirect to index page. return redirect(get_path(1) + '/')
def formpostredirect(self): """ Test redirect after a form POST. This tests a specific bug in mechanize... """ request = get_request() if not request.form: return """\ <form method=POST enctype=multipart/form-data> <input type=text name=test> <input type=submit value=submit name=submit> </form> """ redirect(get_path(1) + '/')
def formpostredirect(self): """ Test redirect after a form POST. This tests a specific bug in mechanize... """ request = get_request() if not request.form: return """\ <form method=POST enctype=multipart/form-data> <input type=text name=test> <input type=submit value=submit name=submit> </form> """ return redirect(get_path(1) + '/')
def get_action_url(self): action_url = url_quote(get_path()) query = get_request().get_query() if query: action_url += "?" + query return action_url
def set_dirty(self): if False: print 'set_dirty %s' % get_path() self.dirty = True
def increment(self): session = get_session() session.increment() return redirect(get_path(1) + '/')