[tor-commits] [stem/master] Revising enum docs and methods

atagar at torproject.org atagar at torproject.org
Sun Nov 13 23:42:29 UTC 2011


commit db7635abc7878d873a989c35e7aea413ecde2f52
Author: Damian Johnson <atagar at torproject.org>
Date:   Sun Nov 13 14:38:56 2011 -0800

    Revising enum docs and methods
    
    Minor changes including...
    - standard header documentation
    - replacing the keys() method with making enums iterable (functionally the
      same, but a little nicer for callers)
    - dropping the alternative LEnum - I've never used it
---
 stem/util/enum.py |   39 +++++++++++++++------------------------
 1 files changed, 15 insertions(+), 24 deletions(-)

diff --git a/stem/util/enum.py b/stem/util/enum.py
index d7745ec..6ce54d0 100644
--- a/stem/util/enum.py
+++ b/stem/util/enum.py
@@ -5,7 +5,7 @@ constructed as simple type listings, ie:
 >>> insects.ANT
 'Ant'
 >>> insects.values()
-['Ant', 'Wasp', 'Ladybug', 'Firefly']
+('Ant', 'Wasp', 'Ladybug', 'Firefly')
 
 with overwritten string counterparts:
 >>> pets = Enum(("DOG", "Skippy"), "CAT", ("FISH", "Nemo"))
@@ -14,10 +14,13 @@ with overwritten string counterparts:
 >>> pets.CAT
 'Cat'
 
-or with entirely custom string components as an unordered enum with:
->>> pets = LEnum(DOG="Skippy", CAT="Kitty", FISH="Nemo")
->>> pets.CAT
-'Kitty'
+to_camel_case - converts a string to camel case
+Enum - Provides a basic, ordered  enumeration.
+  |- values - string representation of our enums
+  |- index_of - indice of an enum value
+  |- next - provides the enum after a given enum value
+  |- previous - provides the enum before a given value
+  +- __iter__ - iterator over our enum keys
 """
 
 def to_camel_case(label, word_divider = " "):
@@ -62,16 +65,6 @@ class Enum:
     self._keys = tuple(keys)
     self._values = tuple(values)
   
-  def keys(self):
-    """
-    Provides an ordered listing of the enumeration keys in this set.
-    
-    Returns:
-      tuple with our enum keys
-    """
-    
-    return self._keys
-  
   def values(self):
     """
     Provides an ordered listing of the enumerations in this set.
@@ -137,14 +130,12 @@ class Enum:
     
     prev_index = (self._values.index(value) - 1) % len(self._values)
     return self._values[prev_index]
-
-class LEnum(Enum):
-  """
-  Enumeration that accepts custom string mappings.
-  """
   
-  def __init__(self, **args):
-    Enum.__init__(self)
-    self.__dict__.update(args)
-    self._values = sorted(args.values())
+  def __iter__(self):
+    """
+    Provides an ordered listing of the enumeration keys in this set.
+    """
+    
+    for entry in self._keys:
+      yield entry
 





More information about the tor-commits mailing list