Browse Source

added support for args keyword

digital 8 years ago
parent
commit
17d1902fb5
1 changed files with 11 additions and 6 deletions
  1. 11 6
      pin/__init__.py

+ 11 - 6
pin/__init__.py

@@ -158,9 +158,10 @@ class EnginesController(PinAPIBase):
             return False
     def make_engine(self,*args):
         return digilib.pin.PCEngine(*args)
-    async def turn(self,direction=None,command=None,respond=None):
-        if not direction:
-            respond("usage: {} <direction>")
+    async def turn(self,args=[],command=None,respond=None):
+        if len(direction) != 1:
+            respond("one missing argument: direction")
+            return
         lpin.debug(threading.current_thread())
         # with self ad
         lpin.info("turning {}".format(direction))
@@ -191,11 +192,15 @@ class LED(DigitalPin):
         super(DigitalPin,self).__init__(pin)
         gpio.setup(pin,gpio.OUT)
         self.on()
-    def on(self,command=None,respond=None):
+    def on(self,args=[],command=None,respond=None):
         self.output(True)
-    def off(self,command=None,respond=None):
+    def off(self,args=[],command=None,respond=None):
         self.output(False)
-    def set(self,state=None,command=None,respond=None):
+    def set(self,args=[],command=None,respond=None):
+        if len(args) != 1:
+            respond("one missing argument: state")
+            return
+        state = *args
         self.output(state)