Message272799
The values used in Flags are an implementation detail. The expected, and supported, use is naming the flags:
class Color(Flags):
Red, Green, Blue
even custom names can be set using this method:
>>> class Color(enum.Flags):
... red, green, blue
... black = red & green & blue
...
>>> list(Color)
[<Color.red: 1>, <Color.green: 2>, <Color.blue: 4>, <Color.black: 0>]
>>> class Color(enum.Flags):
... red, green, blue
... purple = red | blue
...
>>> list(Color)
[<Color.red: 1>, <Color.green: 2>, <Color.blue: 4>, <Color.purple: 5>]
>>> Color(5)
<Color.purple: 5>
>>> Color(3)
<Color.red|green: 3>
I'll have to think about ensuring each bit is named -- it's only a (potential) problem if the values are specified manually. |
|
Date |
User |
Action |
Args |
2016-08-15 21:24:29 | ethan.furman | set | recipients:
+ ethan.furman, barry, ezio.melotti, r.david.murray, eli.bendersky, martin.panter, serhiy.storchaka, veky |
2016-08-15 21:24:29 | ethan.furman | set | messageid: <1471296269.16.0.478707472864.issue23591@psf.upfronthosting.co.za> |
2016-08-15 21:24:29 | ethan.furman | link | issue23591 messages |
2016-08-15 21:24:28 | ethan.furman | create | |
|