Sean Davis wrote:
> Hi, all.  I just upgraded to paste 1.2 and started getting these 
> errors.  The same code works on paste 1.1.1.  I can try posting to a 
> paste list, if nothing obvious comes up here, as I think this is 
> probably a Paste issue.  Any thoughts?
> 
> Thanks,
> sean
> 
> 
> Module pylons.error:*226* in |respond|         
> <http://localhost:5000/files#>
> |<<  <http://localhost:5000/files#>        *try** :*
>                 __traceback_supplement__ *=* Supplement*,* self*,* environ
>                 app_iter *=* self*.*application*(*environ* ,* 
> detect_start_response*)*
>                 *try**:*
>                     return_iter *=* list*(*app_iter*)*|| >>  
> <http://localhost:5000/files#>app_iter *=* 
> self*.*application*(*environ*,* detect_start_response *)*|
> Module paste.httpexceptions:*622* in |__call__|         
> <http://localhost:5000/files#>
> |<<  <http://localhost:5000/files#>        return catch_errors_app(
>                 self.application, environ, start_response,
>                 self.send_http_response, catch=HTTPException)
>    
>         def send_http_response(self, environ, start_response, 
> exc_info):||>>  
> <http://localhost:5000/files#>self*.*send_http_response*,* 
> catch*=*HTTPException*)*|
> Module paste.wsgilib:*226* in |catch_errors_app|         
> <http://localhost:5000/files#>
> |<<  <http://localhost:5000/files#>    """
>         try:
>             app_iter = application(environ, start_response)
>         except catch:
>             return error_callback_app(environ, start_response, 
> sys.exc_info())|| >>  <http://localhost:5000/files#>app_iter *=* 
> application*(*environ*,* start_response*)*|
> Module paste.deploy.config:*161* in |__call__|         
> <http://localhost:5000/files#>
> |<<  <http://localhost:5000/files#>        CONFIG*.* 
> push_thread_config*(*conf*)*
>             *try**:*
>                 app_iter *=* self*.*application*(*environ* ,* 
> start_response*)*
>             *finally**:*
>                 *if* app_iter *is* None*:*|| >>  
> <http://localhost:5000/files#>app_iter *=* 
> self*.*application*(*environ*,* start_response *)*|
> Module pylons.wsgiapp:*263* in |__call__|         
> <http://localhost:5000/files#>
> |<<  <http://localhost:5000/files#>    *def* *__call__**(**self**,* 
> *environ**,* *start_response**)**:*
>             environ*[*'pylons.environ_config'*]* *=* self*.* econf
>             *return* self*.*app*(*environ*,* start_response *)*||>>  
> <http://localhost:5000/files#>*return* self*.*app*(*environ*,* 
> start_response*)*|
> Module beaker.cache:*124* in |__call__|         
> <http://localhost:5000/files#>
> |<<  <http://localhost:5000/files#>            
> environ['paste.registry'].register(cache_manager, self.cache_manager)
>             environ['beaker.cache'] = self.cache_manager
>             return self.app(environ, start_response)
>    
>     class CacheArgs(PrefixArgs):||>>  
> <http://localhost:5000/files#>*return * self*.*app*(*environ*,* 
> start_response*)*|
> Module beaker.session:*105* in |__call__|         
> <http://localhost:5000/files#>
> |<<  <http://localhost:5000/files#>            return 
> start_response(status, headers, exc_info)
>             try:
>                 response = self.wrap_app(environ, session_start_response)
>             except:
>                 ty, val = sys.exc_info()[:2]||>>  
> <http://localhost:5000/files#> response *=* self*.*wrap_app*(*environ*,* 
> session_start_response*)*|
> Module routes.middleware:*45* in |__call__|         
> <http://localhost:5000/files#>
> |<<  <http://localhost:5000/files#>                old_method = 
> environ['REQUEST_METHOD']
>                     environ['REQUEST_METHOD'] = req.GET['_method'].upper()
>                 elif environ['REQUEST_METHOD'] == 'POST' and '_method' 
> in req.POST:
>                     old_method = environ['REQUEST_METHOD']
>                     environ['REQUEST_METHOD'] = 
> req.POST['_method'].upper()|| >>  <http://localhost:5000/files#>*elif* 
> environ*[*'REQUEST_METHOD'*]* *==* 'POST' *and* '_method' *in* 
> req*.*POST*:*|
> Module paste.wsgiwrappers:*198* in |POST|         
> <http://localhost:5000/files#>
> |<<  <http://localhost:5000/files#>        *`**`*charset *`**`* *is* set*.*
>             """
>             params = self._POST()
>             if self.charset:
>                 params = UnicodeMultiDict(params, 
> encoding=self.charset,||>>  <http://localhost:5000/files#>params *=* 
> self*.*_POST*(**)*|
> Module paste.wsgiwrappers:*180* in |_POST|         
> <http://localhost:5000/files#>
> |<<  <http://localhost:5000/files#>
>         *def* *_POST**(**self**)**:*
>             *return* parse_formvars*(*self*.*environ*,* 
> include_get_vars*=*False*)*
>    
>         *def* *POST**(**self**)**:*|| >>  
> <http://localhost:5000/files#>*return* 
> parse_formvars*(*self*.*environ*,* include_get_vars *=*False*)*|
> Module paste.request:*174* in |parse_formvars|         
> <http://localhost:5000/files#>
> |<<  <http://localhost:5000/files#>    fs *=* 
> cgi*.*FieldStorage*(*fp*=*input*,*
>                               environ*=*environ*,*
>                               keep_blank_values*=**1**)*
>         environ*[*'QUERY_STRING'*]* *=* old_query_string
>         *if* fake_out_cgi*:*|| >>  
> <http://localhost:5000/files#>keep_blank_values*=**1**)*|
> Module cgi:*534* in |__init__|         <http://localhost:5000/files#>
> |<<  <http://localhost:5000/files#>            self.read_urlencoded()
>             elif ctype[:10] == 'multipart/':
>                 self.read_multi(environ, keep_blank_values, strict_parsing)
>             else:
>                 self.read_single()||>>  
> <http://localhost:5000/files#>self *.*read_multi*(*environ*,* 
> keep_blank_values*,* strict_parsing*)*|
> Module cgi:*654* in |read_multi|         <http://localhost:5000/files#>
> |<<  <http://localhost:5000/files#>        klass *=* 
> self*.*FieldStorageClass *or* self*.*__class__
>             part *=* klass*(*self*.*fp*,* *{**}**,* ib*,*
>                          environ*,* keep_blank_values*,* strict_parsing*)*
>             # Throw first part away
>             *while* *not* part*.*done*:*|| >>  
> <http://localhost:5000/files#>environ*,* keep_blank_values*,* 
> strict_parsing*)*|
> Module cgi:*536* in |__init__|         <http://localhost:5000/files#>
> |<<  <http://localhost:5000/files#>            self.read_multi(environ, 
> keep_blank_values, strict_parsing)
>             else:
>                 self.read_single()
>    
>         def __repr__(self):||>>  <http://localhost:5000/files#>self* 
> .*read_single*(**)*|
> Module cgi:*669* in |read_single|         <http://localhost:5000/files#>
> |<<  <http://localhost:5000/files#>            self.skip_lines()
>             else:
>                 self.read_lines()
>             self.file.seek(0)
>     ||>>  <http://localhost:5000/files#>self*.* read_lines*(**)*|
> Module cgi:*691* in |read_lines|         <http://localhost:5000/files#>
> |<<  <http://localhost:5000/files#>        self*.* file *=* 
> self*.*__file *=* StringIO*(**)*
>             *if* self*.*outerboundary*:*
>                 self*.*read_lines_to_outerboundary*(**)*
>             *else**:*
>                 self*.*read_lines_to_eof*(**)*|| >>  
> <http://localhost:5000/files#>self*.*read_lines_to_outerboundary*(**)*|
> Module cgi:*719* in |read_lines_to_outerboundary|         
> <http://localhost:5000/files#>
> |<<  <http://localhost:5000/files#>        last_line_lfend *=* True
>             *while* *1**:*
>                 line *=* self*.*fp*.*readline*(* *1**<<**16**)*
>                 *if* *not* line*:*
>                     self*.*done *=* *-**1*|| >>  
> <http://localhost:5000/files#>line *=* self*.*fp*.*readline*(**1** 
> <<**16**)*|
> *<type 'exceptions.TypeError'>: readline() takes exactly 1 argument (2 
> given)*

Dammit, I read the WSGI spec when changing paste.httpserver but forgot 
that there's an outstanding bug in it.  Well, several bugs in it now. 
I'll make a 1.2.1 release shortly.


-- 
Ian Bicking | [EMAIL PROTECTED] | http://blog.ianbicking.org

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to pylons-discuss@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to