On 01/10/2017 08:06 AM, Paul Moore wrote:
On Tuesday, 10 January 2017 15:47:20 UTC, Paul Moore wrote:
On Saturday, 7 January 2017 19:14:43 UTC, Ethan Furman wrote:
Ya know, that looks an /awful/ lot like a collection! Maybe even an Enum? ;)
-- 8< -------------------------------------------------------
from aenum import Enum # note the 'a' before the 'enum' :)
class Theme(Enum, init='v vr llc'):
DEFAULT = "│ ", "├─ ", "└─ "
BOLD = "┃ ", "┣━ ", "┗━ "
ASCII = "| ", "|- ", "+- "
def draw_tree(tree, theme=Theme.DEFAULT):
print(theme.v)
print(theme.vr)
print(theme.v)
print(theme.llc)
draw_tree(None)
I noted the "a" before enum :-)
Is the implication that this form (a sort of combined namedtuple/enum)
*isn't* possible with the stdlib enum? But rather that it's specific
to your aenum module?
It's possible with the stdlib version, and a built-in convenience with aenum.
I don't see any documentation for the "init"
parameter in either version, so I'm a little puzzled.
It's in the docs for aenum, which you will get with the source download. I
need to figure out how to get them included in the wheels. :(
The capability seems neat, although (as is probably obvious) the way you
declare it seems a little confusing to me.
Yes, it is possible to pass keyword arguments in a class header, although (as
far as I know) very few make use of this.
Anyway, it's a neat feature - I'd not really looked beyond the surface of
the new enum module, looks like I missed some good stuff :-)
Lot's of good stuff in the stdlib, but who has time to learn it all? :(
--
~Ethan~
--
https://mail.python.org/mailman/listinfo/python-list