[ 
https://issues.apache.org/jira/browse/PYLUCENE-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16064136#comment-16064136
 ] 

Patrick J. McNerthney commented on PYLUCENE-36:
-----------------------------------------------

A nit-pick on the Python 3 purity of the generated code. The u prefix on string 
constants is only supported to make it easy for the same code to run in both 
Python 2 and 3. Since this is generating Python 3 specific code, the changed 
line should remove the u"..." string constants, resulting in:

{{
    line(out, 2, 'return "\\n".join((str(super(JavaError, self)), "    Java 
stacktrace:", str(writer)))')
}}


> Python exception when handling a Java error
> -------------------------------------------
>
>                 Key: PYLUCENE-36
>                 URL: https://issues.apache.org/jira/browse/PYLUCENE-36
>             Project: PyLucene
>          Issue Type: Bug
>         Environment: Python 3.5, Ubuntu 16.04, Java 8
>            Reporter: Paulo Villegas
>         Attachments: pylucene-6.5.0-py3.5.patch
>
>
> When handling a Java exception via the {{JavaError}} class, Python 3.5 
> generates an exception due to the call to {{unicode}} (which does not exist 
> in Python 3), hence masking the actual Java exception with a Python 
> _NameError_ exception.
> I guess this is a consequence of PYLUCENE-35. That one fixed the problem with 
> Unicode characters in Java exceptions for Python 2, but it shouldn't be 
> applied to Python 3 (since in Python 3 the {{str}} type *is* natively 
> Unicode).
> The attached small patch (applied only to the Python 3 branch) fixes it for 
> me.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to