
cherokee at cherokee-project
Feb 8, 2010, 5:01 AM
Post #1 of 1
(78 views)
Permalink
|
|
[4211] CTK/trunk: Uploader: Allow to pass extra parameters to the callback function.
|
|
Revision: 4211 http://svn.cherokee-project.com/changeset/4211 Author: alo Date: 2010-02-08 14:01:40 +0100 (Mon, 08 Feb 2010) Log Message: ----------- Uploader: Allow to pass extra parameters to the callback function. Modified Paths: -------------- CTK/trunk/CTK/Uploader.py CTK/trunk/tests/test5.py Modified: CTK/trunk/CTK/Uploader.py =================================================================== --- CTK/trunk/CTK/Uploader.py 2010-02-08 12:45:10 UTC (rev 4210) +++ CTK/trunk/CTK/Uploader.py 2010-02-08 13:01:40 UTC (rev 4211) @@ -85,7 +85,7 @@ return open (target_path, 'w+b') class UploadRequest: - def __call__ (self, handler, target_dir): + def __call__ (self, handler, target_dir, params): scgi = get_scgi() # This obj writes the file right away. Beware: The @@ -93,10 +93,10 @@ MyFieldStorage.target_dir = target_dir form = MyFieldStorage (fp=scgi.rfile, environ=scgi.env, keep_blank_values=1) - return handler (form['file'].filename, target_dir) + return handler (form['file'].filename, target_dir, params) class Uploader (Widget): - def __init__ (self, props=None): + def __init__ (self, props=None, params=None): Widget.__init__ (self) self._url_local = '/uploader_widget_%d' %(self.uniq_id) @@ -111,7 +111,7 @@ # Register the uploader path publish (self._url_local, UploadRequest, - handler=handler, target_dir=target_dir) + handler=handler, target_dir=target_dir, params=params) def Render (self): props = {'id': self.id, Modified: CTK/trunk/tests/test5.py =================================================================== --- CTK/trunk/tests/test5.py 2010-02-08 12:45:10 UTC (rev 4210) +++ CTK/trunk/tests/test5.py 2010-02-08 13:01:40 UTC (rev 4211) @@ -3,16 +3,17 @@ UPLOAD_DIR = "/tmp" -def ok (filename, target_dir): +def ok (filename, target_dir, params): txt = "<h1>It worked!</h1>" txt += "<pre>%s</pre>" %(os.popen("ls -l " + os.path.join(target_dir, filename)).read()) + txt += "Params: " + str(params) return txt class default: def __init__ (self): self.page = CTK.Page () + self.page += CTK.Uploader({'handler': ok, 'target_dir': UPLOAD_DIR}, {'var':'foo'}) self.page += CTK.Uploader({'handler': ok, 'target_dir': UPLOAD_DIR}) - self.page += CTK.Uploader({'handler': ok, 'target_dir': UPLOAD_DIR}) def __call__ (self): return self.page.Render()
|