diff options
author | Walter Bender <walter@sugarlabs.org> | 2013-11-13 22:42:18 (GMT) |
---|---|---|
committer | Walter Bender <walter@sugarlabs.org> | 2013-11-13 22:42:18 (GMT) |
commit | 6acdbc3db543f2692ee336a99722f5ab0b46c77e (patch) | |
tree | 97b84e77c63bddeb49bcb804e25e2457008f6a8d /plugins/rfid | |
parent | 3865e3c912f70fd7fcef2d20831a0231d30d96f1 (diff) |
convert to new primitive type
Diffstat (limited to 'plugins/rfid')
-rw-r--r-- | plugins/rfid/rfid.py | 14 |
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) |