]> Repositories - hackapet/Adafruit_Blinka.git/blobdiff - python/mcp/__init__.py
More readable, link to log of example test suite
[hackapet/Adafruit_Blinka.git] / python / mcp / __init__.py
index d52c0b9cfe635834f58b595fb68d28c85809cb2e..799f33695e8156eff517de931894db3ca79a5cab 100644 (file)
@@ -1,21 +1,37 @@
+"""Module providing runtime utility objects to support the Micro/CircuitPython api"""
+
 class Enum(object):
+    """
+        Object supporting CircuitPython-style of static symbols
+        as seen with Direction.OUTPUT, Pull.UP
+    """
 
+    def __repr__(self):
+        """
+        Assumes instance will be found as attribute of own class.
+        Returns dot-subscripted path to instance
+        (assuming absolute import of containing package)
+        """
+        cls = type(self)
+        for key in dir(cls):
+            if getattr(cls, key) is self:
+                return "{}.{}.{}".format(cls.__module__, cls.__qualname__, key)
+        return repr(self)
 
     @classmethod
     def iteritems(cls):
+        """
+            Inspects attributes of the class for instances of the class
+            and returns as key,value pairs mirroring dict#iteritems
+        """
         for key in dir(cls):
             val = getattr(cls, key)
             if type(val) is cls:
                 yield (key, val)
 
 
-    def __repr__(self):
-        """
-        Assumes instance will be found as attribute of own
-        class. Returns dot-subscripted path to instance
-        """
-        cls = type(self)
-        for key in dir(cls):
-            if getattr(cls, key) is self:
-                return "{}.{}.{}".format(cls.__module__, cls.__qualname__, key)
-        return repr(self)
\ No newline at end of file
+class Pin(Enum):
+    def __init__(self, id):
+        """ id type is likely platform-specific"""
+        self.id = id
+    pass