[tor-commits] [stem/master] Revised API docs for stem.util.enum
atagar at torproject.org
atagar at torproject.org
Sun Oct 28 20:56:34 UTC 2012
commit 907fb84cbc11d054718ba045ac7028676f4c1746
Author: Damian Johnson <atagar at torproject.org>
Date: Sat Oct 27 10:37:21 2012 -0700
Revised API docs for stem.util.enum
---
docs/api.rst | 9 ++++++---
docs/contents.rst | 2 ++
docs/util/enum.rst | 5 +++++
stem/util/enum.py | 36 ++++++++++++++++++++----------------
4 files changed, 33 insertions(+), 19 deletions(-)
diff --git a/docs/api.rst b/docs/api.rst
index 637c634..bb0d293 100644
--- a/docs/api.rst
+++ b/docs/api.rst
@@ -16,8 +16,11 @@ Descriptors
* `stem.descriptor.extrainfo_descriptor <descriptor/extrainfo_descriptor.html>`_ - Relay and bridge extrainfo descriptors.
* `stem.descriptor.networkstatus <descriptor/networkstatus.html>`_ - Network status documents which make up the Tor consensus.
* `stem.descriptor.router_status_entry <descriptor/router_status_entry.html>`_ - Relay entries within a network status document.
+* `stem.descriptor.reader <descriptor/reader.html>`_ - Reads and parses descriptor files from disk.
+* `stem.descriptor.export <descriptor/export.html>`_ - Exports descriptors to other formats.
-* **Utilities**
- * `stem.descriptor.reader <descriptor/reader.html>`_ - Reads and parses descriptor files from disk.
- * `stem.descriptor.export <descriptor/export.html>`_ - Exports descriptors to other formats.
+Utilities
+---------
+
+* `stem.util.enum <util/enum.html>`_ - Enumeration class.
diff --git a/docs/contents.rst b/docs/contents.rst
index b142114..52cb6f4 100644
--- a/docs/contents.rst
+++ b/docs/contents.rst
@@ -20,3 +20,5 @@ Contents
types/exit_policy
types/version
+ util/enum
+
diff --git a/docs/util/enum.rst b/docs/util/enum.rst
new file mode 100644
index 0000000..b00dca4
--- /dev/null
+++ b/docs/util/enum.rst
@@ -0,0 +1,5 @@
+Enumerations
+============
+
+.. automodule:: stem.util.enum
+
diff --git a/stem/util/enum.py b/stem/util/enum.py
index 72c4443..9941de4 100644
--- a/stem/util/enum.py
+++ b/stem/util/enum.py
@@ -1,20 +1,22 @@
"""
Basic enumeration, providing ordered types for collections. These can be
-constructed as simple type listings, ie:
+constructed as simple type listings...
::
- >>> insects = Enum("ANT", "WASP", "LADYBUG", "FIREFLY")
+ >>> from stem.util import enum
+ >>> insects = enum.Enum("ANT", "WASP", "LADYBUG", "FIREFLY")
>>> insects.ANT
'Ant'
>>> tuple(insects)
('Ant', 'Wasp', 'Ladybug', 'Firefly')
-with overwritten string counterparts:
+... or with overwritten string counterparts...
::
- >>> pets = Enum(("DOG", "Skippy"), "CAT", ("FISH", "Nemo"))
+ >>> from stem.util import enum
+ >>> pets = enum.Enum(("DOG", "Skippy"), "CAT", ("FISH", "Nemo"))
>>> pets.DOG
'Skippy'
>>> pets.CAT
@@ -25,6 +27,7 @@ with overwritten string counterparts:
::
UppercaseEnum - Provides an enum instance with capitalized values.
+
Enum - Provides a basic, ordered enumeration.
|- keys - string representation of our enum keys
|- index_of - indice of an enum value
@@ -38,19 +41,20 @@ import stem.util.str_tools
def UppercaseEnum(*args):
"""
- Provides an Enum instance where the values are identical to the keys. Since
- the keys are uppercase by convention this means the values are too. For
- instance...
+ Provides an :class:`~stem.util.enum.Enum` instance where the values are
+ identical to the keys. Since the keys are uppercase by convention this means
+ the values are too. For instance...
::
- >>> runlevels = UppercaseEnum("DEBUG", "INFO", "NOTICE", "WARN", "ERROR")
+ >>> from stem.util import enum
+ >>> runlevels = enum.UppercaseEnum("DEBUG", "INFO", "NOTICE", "WARN", "ERROR")
>>> runlevels.DEBUG
'DEBUG'
:param list args: enum keys to initialize with
- :returns: :class:`stem.util.Enum` instance with the given keys
+ :returns: :class:`~stem.util.enum.Enum` instance with the given keys
"""
return Enum(*[(v, v) for v in args])
@@ -82,7 +86,7 @@ class Enum(object):
"""
Provides an ordered listing of the enumeration keys in this set.
- :returns: tuple with our enum keys
+ :returns: **tuple** with our enum keys
"""
return self._keys
@@ -93,9 +97,9 @@ class Enum(object):
:param str value: entry to be looked up
- :returns: integer index of the given entry
+ :returns: **int** index of the given entry
- :raises: ValueError if no such element exists
+ :raises: **ValueError** if no such element exists
"""
return self._values.index(value)
@@ -108,7 +112,7 @@ class Enum(object):
:returns: enum value following the given entry
- :raises: ValueError if no such element exists
+ :raises: **ValueError** if no such element exists
"""
if not value in self._values:
@@ -127,7 +131,7 @@ class Enum(object):
:returns: enum value proceeding the given entry
- :raises: ValueError if no such element exists
+ :raises: **ValueError** if no such element exists
"""
if not value in self._values:
@@ -144,9 +148,9 @@ class Enum(object):
:param str item: key to be looked up
- :returns: str with the value for the given key
+ :returns: **str** with the value for the given key
- :raises: ValueError if the key doesn't exist
+ :raises: **ValueError** if the key doesn't exist
"""
if item in self.__dict__:
More information about the tor-commits
mailing list