]> Repositories - Adafruit_Blinka-hackapet.git/blobdiff - src/adafruit_blinka/__init__.py
Revert "don't upload universal bdist to pypi"
[Adafruit_Blinka-hackapet.git] / src / adafruit_blinka / __init__.py
old mode 100644 (file)
new mode 100755 (executable)
index 08ec27e..a4ef215
@@ -1,10 +1,18 @@
-"""Module providing runtime utility objects to support the Micro/CircuitPython api"""
+# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries
+#
+# SPDX-License-Identifier: MIT
+"""
+`adafruit_blinka` - Runtime utility objects for re-implementation of CircuitPython API
+======================================================================================
 
 
+* Author(s): cefn
+"""
 
 
-class Enum(object):
+
+class Enum:
     """
     """
-        Object supporting CircuitPython-style of static symbols
-        as seen with Direction.OUTPUT, Pull.UP
+    Object supporting CircuitPython-style of static symbols
+    as seen with Direction.OUTPUT, Pull.UP
     """
 
     def __repr__(self):
     """
 
     def __repr__(self):
@@ -22,40 +30,56 @@ class Enum(object):
     @classmethod
     def iteritems(cls):
         """
     @classmethod
     def iteritems(cls):
         """
-            Inspects attributes of the class for instances of the class
-            and returns as key,value pairs mirroring dict#iteritems
+        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)
         """
         for key in dir(cls):
             val = getattr(cls, key)
-            if type(val) is cls:
+            if isinstance(cls, val):
                 yield (key, val)
 
 
 class ContextManaged:
                 yield (key, val)
 
 
 class ContextManaged:
+    """An object that automatically deinitializes hardware with a context manager."""
+
     def __enter__(self):
         return self
 
     def __exit__(self, exc_type, exc_value, traceback):
         self.deinit()
 
     def __enter__(self):
         return self
 
     def __exit__(self, exc_type, exc_value, traceback):
         self.deinit()
 
+    # pylint: disable=no-self-use
+    def deinit(self):
+        """Free any hardware used by the object."""
+        return
+
+    # pylint: enable=no-self-use
+
 
 class Lockable(ContextManaged):
 
 class Lockable(ContextManaged):
+    """An object that must be locked to prevent collisions on a microcontroller resource."""
+
     _locked = False
 
     def try_lock(self):
     _locked = False
 
     def try_lock(self):
+        """Attempt to grab the lock. Return True on success, False if the lock is already taken."""
         if self._locked:
             return False
         if self._locked:
             return False
-        else:
-            self._locked = True
-            return True
+        self._locked = True
+        return True
 
     def unlock(self):
 
     def unlock(self):
+        """Release the lock so others may use the resource."""
         if self._locked:
             self._locked = False
         if self._locked:
             self._locked = False
-        else:
-            raise ValueError("Not locked")
+
 
 def patch_system():
 
 def patch_system():
+    """Patch modules that may be different due to the platform."""
+    # pylint: disable=import-outside-toplevel
     import sys
     from adafruit_blinka.agnostic import time
     import sys
     from adafruit_blinka.agnostic import time
-    sys.modules['time'] = time
\ No newline at end of file
+
+    # pylint: enable=import-outside-toplevel
+
+    sys.modules["time"] = time