Mercurial > hatta-flask
changeset 2407:a7054f5ff46f
Simplify the request class
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Sat, 18 May 2013 13:59:15 +0200 |
| parents | 31754fe5172b |
| children | abc4bc7f7433 |
| files | hatta/request.py hatta/wiki.py |
| diffstat | 2 files changed, 7 insertions(+), 68 deletions(-) [+] |
line wrap: on
line diff
--- a/hatta/request.py Sat May 18 13:46:04 2013 +0200 +++ b/hatta/request.py Sat May 18 13:59:15 2013 +0200 @@ -1,45 +1,8 @@ # -*- coding: utf-8 -*- -import os -import tempfile - import werkzeug - -class WikiTempFile(object): - """Wrap a file for uploading content.""" - - def __init__(self, tmppath): - self.tmppath = tempfile.mkdtemp(dir=tmppath) - self.tmpname = os.path.join(self.tmppath, 'saved') - self.f = open(self.tmpname, "wb") - - def read(self, *args, **kw): - return self.f.read(*args, **kw) - - def readlines(self, *args, **kw): - return self.f.readlines(*args, **kw) - - def write(self, *args, **kw): - return self.f.write(*args, **kw) - - def seek(self, *args, **kw): - return self.f.seek(*args, **kw) - - def truncate(self, *args, **kw): - return self.f.truncate(*args, **kw) - - def close(self, *args, **kw): - ret = self.f.close(*args, **kw) - try: - os.unlink(self.tmpname) - except OSError: - pass - try: - os.rmdir(self.tmppath) - except OSError: - pass - return ret +import hatta.views class WikiRequest(werkzeug.BaseRequest, werkzeug.ETagRequestMixin): @@ -55,20 +18,18 @@ werkzeug.BaseRequest.__init__(self, environ, shallow=False, **kw) self.wiki = wiki self.adapter = adapter - self.tmpfiles = [] - self.tmppath = wiki.path def get_url(self, title=None, view=None, method='GET', external=False, **kw): if view is None: - view = self.wiki.view + view = hatta.views.view if title is not None: kw['title'] = title.strip() return self.adapter.build(view, kw, method=method, force_external=external) def get_download_url(self, title): - return self.get_url(title, view=self.wiki.download) + return self.get_url(title, view=hatta.views.download) def get_author(self): """Try to guess the author name. Use IP address as last resort.""" @@ -85,19 +46,3 @@ self.remote_addr) return author - def _get_file_stream(self, total_content_length=None, content_type=None, - filename=None, content_length=None): - """Save all the POSTs to temporary files.""" - - temp_file = WikiTempFile(self.tmppath) - self.tmpfiles.append(temp_file) - return temp_file - - def cleanup(self): - """Clean up the temporary files created by POSTs.""" - - for temp_file in self.tmpfiles: - temp_file.close() - self.tmpfiles = [] - -
--- a/hatta/wiki.py Sat May 18 13:46:04 2013 +0200 +++ b/hatta/wiki.py Sat May 18 13:59:15 2013 +0200 @@ -33,7 +33,6 @@ regex = '.*' - class Wiki(object): """ The main class of the wiki, handling initialization of the whole @@ -126,12 +125,7 @@ adapter = self.url_map.bind_to_environ(environ) request = hatta.request.WikiRequest(self, adapter, environ) try: - try: - endpoint, values = adapter.match() - return endpoint(request, **values) - except werkzeug.exceptions.HTTPException as err: - return err - finally: - request.cleanup() - del request - del adapter + endpoint, values = adapter.match() + return endpoint(request, **values) + except werkzeug.exceptions.HTTPException as err: + return err
