You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Jens Geyer (JIRA)" <ji...@apache.org> on 2016/02/14 13:58:18 UTC
[jira] [Updated] (THRIFT-1229) Python fastbinary.c can not handle
unicode as generated python code
[ https://issues.apache.org/jira/browse/THRIFT-1229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jens Geyer updated THRIFT-1229:
-------------------------------
Assignee: Aki Sukegawa
> Python fastbinary.c can not handle unicode as generated python code
> -------------------------------------------------------------------
>
> Key: THRIFT-1229
> URL: https://issues.apache.org/jira/browse/THRIFT-1229
> Project: Thrift
> Issue Type: Bug
> Components: Python - Compiler, Python - Library
> Affects Versions: 0.7
> Environment: mac osx 10.6
> Reporter: Favo
> Assignee: Aki Sukegawa
> Fix For: 0.9.4
>
> Attachments: python_fastbinary_utf8.patch, python_fastbinary_utf8_binary.patch, thrift-1229-fastbinary-utf8-v3.patch
>
>
> #THRIFT-395 ([r959516|http://svn.apache.org/viewvc?view=revision&revision=959516]) fixed python unicode support by adding a parameter to thrift command line for py-generator. However this will not affect fastbinary.c. A normal generated Read/Write function looks like below, notice that the function returned before reach unicode handling logic.
> {code:title=TType.py|borderStyle=solid}
> def write(self, oprot):
> if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
> oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
> return
> if self.ip is not None:
> oprot.writeFieldBegin('ip', TType.STRING, 6)
> oprot.writeString(self.ip.encode('utf-8'))
> oprot.writeFieldEnd()
> {code}
> Any suggestion for this?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)