there's a lot of flavors of python enum and I recall the standard library one rubs me the wrong way a bit. I'd prefer for sqlalchemy.Enum to have some easy way to accommodate any Python-side enum using some kind of convention, obviously one that's compat with the std lib enum.
On Aug 6, 2013, at 5:12 PM, Ian Kelly <ian.g.ke...@gmail.com> wrote: > Since Python 3.4 is adding support for enums to the standard library, > I wrote a TypeDecorator for it: > > import sqlalchemy.types as types > > > class PythonEnum(types.TypeDecorator): > > impl = types.Enum > > def __init__(self, enum_class, **kw): > super().__init__(*(m.name for m in enum_class), **kw) > self._enum_class = enum_class > > def process_bind_param(self, value, dialect): > return value.name > > def process_result_value(self, value, dialect): > return self._enum_class[value] > > @property > def python_type(self): > return self._enum_class > > > Comments welcome. Is this something that should be added to sqlalchemy? > > -- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sqlalchemy+unsubscr...@googlegroups.com. > To post to this group, send email to sqlalchemy@googlegroups.com. > Visit this group at http://groups.google.com/group/sqlalchemy. > For more options, visit https://groups.google.com/groups/opt_out. > >
signature.asc
Description: Message signed with OpenPGP using GPGMail