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

Reply via email to