[
https://issues.apache.org/jira/browse/THRIFT-2059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13691368#comment-13691368
]
James Haggerty commented on THRIFT-2059:
----------------------------------------
Sorry, small mistake in patch, forget to 'option' the last part.
> Support for Python 3.4 enums
> ----------------------------
>
> Key: THRIFT-2059
> URL: https://issues.apache.org/jira/browse/THRIFT-2059
> Project: Thrift
> Issue Type: Improvement
> Components: Python - Compiler
> Affects Versions: 0.9
> Reporter: James Haggerty
> Priority: Minor
> Attachments: thrift-0001-Python3.4-style-enum-support.patch
>
>
> Currently enums are represented in Python by classes (see [#THRIFT-546]) but
> those classes are not referenced by the actual values (which are simply
> i32s). This means that it's impossible to find out whether something is an
> enum or an i32 by inspection.
> e.g. I want to be able to look at the number 1 and realise it's an
> Operation.ADD or similar.
> I propose adding an option 'enum' to the generator to support Python 3.4
> style enums (see enum34 package on pypi). Any I32 that should be an enum is
> automatically converted into an IntEnum derived object on deserialising, and
> constants are also constructed with the correct type. If one chooses to
> enable the option, it's almost backwards compatible with existing code due to
> IntEnum, except that the dicts _VALUES_FOR_NAME/_NAMES_FOR_VALUES have been
> removed (no longer necessary, and don't play nicely with the Enum class).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira