You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Favo (JIRA)" <ji...@apache.org> on 2011/07/01 11:12:28 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 ]

Favo updated THRIFT-1229:
-------------------------

    Description: 
#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?

  was:
#THRIFT-395 (r959516) 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.

  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()

Any suggestion for this?


> 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
>
> #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 is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira