Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/plugins/rfid
diff options
context:
space:
mode:
authorWalter Bender <walter@sugarlabs.org>2013-11-13 22:42:18 (GMT)
committer Walter Bender <walter@sugarlabs.org>2013-11-13 22:42:18 (GMT)
commit6acdbc3db543f2692ee336a99722f5ab0b46c77e (patch)
tree97b84e77c63bddeb49bcb804e25e2457008f6a8d /plugins/rfid
parent3865e3c912f70fd7fcef2d20831a0231d30d96f1 (diff)
convert to new primitive type
Diffstat (limited to 'plugins/rfid')
-rw-r--r--plugins/rfid/rfid.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/plugins/rfid/rfid.py b/plugins/rfid/rfid.py
index de96a1f..c8742ff 100644
--- a/plugins/rfid/rfid.py
+++ b/plugins/rfid/rfid.py
@@ -24,8 +24,9 @@ from plugins.rfid.rfidutils import strhex2bin, strbin2dec, find_device
from plugins.plugin import Plugin
from TurtleArt.tapalette import make_palette
-from TurtleArt.talogo import primitive_dictionary
from TurtleArt.tautils import debug_output
+from TurtleArt.taprimitive import Primitive
+from TurtleArt.tatype import TYPE_STRING
import logging
_logger = logging.getLogger('turtleart-activity RFID plugin')
@@ -41,6 +42,7 @@ REGEXP_SERUSB = '\/org\/freedesktop\/Hal\/devices\/usb_device['\
class Rfid(Plugin):
def __init__(self, parent):
+ Plugin.__init__(self)
self._parent = parent
self._status = False
@@ -80,7 +82,6 @@ class Rfid(Plugin):
def setup(self):
# set up RFID-specific blocks
- primitive_dictionary['rfid'] = self.prim_read_rfid
palette = make_palette('sensor',
colors=["#FF6060", "#A06060"],
help_string=_('Palette of sensor blocks'),
@@ -103,7 +104,10 @@ class Rfid(Plugin):
prim_name='rfid')
self._parent.lc.def_prim(
- 'rfid', 0, lambda self: primitive_dictionary['rfid']())
+ 'rfid', 0,
+ Primitive(self.prim_read_rfid,
+ return_type=TYPE_STRING,
+ call_afterwards=self.after_rfid))
def _status_report(self):
debug_output('Reporting RFID status: %s' % (str(self._status)))
@@ -149,3 +153,7 @@ class Rfid(Plugin):
return self.rfid_idn
else:
return '0'
+
+ def after_rfid(self):
+ if self._parent.lc.update_values:
+ self._parent.lc.update_label_value('rfid', self.rfid_idn)