Browse Source

Update simple plugin to use new API

It's still very simple, giving evidence that the new API isn't too
complicated.
Clara Hobbs 6 years ago
parent
commit
af358379cf
1 changed files with 19 additions and 12 deletions
  1. 19
    12
      kayleevc/plugins/simple.py

+ 19
- 12
kayleevc/plugins/simple.py View File

11
 heard, the plugin prints "Simple plugin says: [phrase]".
11
 heard, the plugin prints "Simple plugin says: [phrase]".
12
 """
12
 """
13
 
13
 
14
-from .pluginbase import PluginBase
14
+from . import PluginBase, Handler
15
 
15
 
16
 
16
 
17
 class Plugin(PluginBase):
17
 class Plugin(PluginBase):
23
 
23
 
24
         self.corpus_strings.add(self.options['phrase'])
24
         self.corpus_strings.add(self.options['phrase'])
25
 
25
 
26
-    def confidence(self, text):
27
-        """Return 0 if text is not the phrase, 1 if it is"""
28
-        return 1 if text == self.options['phrase'] else 0
26
+    def get_handler(self, text):
27
+        """Return a handler if and only if the phrase is heard"""
28
+        if text == self.options['phrase']:
29
+            return SimpleHandler(1, text)
30
+        else:
31
+            return None
32
+
33
+
34
+class SimpleHandler(Handler):
35
+    """Handler for the simple plugin"""
29
 
36
 
30
-    def handle(self, text):
37
+    def __init__(self, confidence, text):
38
+        """Store the phrase that was heard"""
39
+        super().__init__(confidence)
40
+        self.text = text
41
+
42
+    def __call__(self, tts):
31
         """Print and speak the phrase"""
43
         """Print and speak the phrase"""
32
-        # Is there a matching command?
33
-        if self.confidence(text):
34
-            print("Simple plugin says:", text)
35
-            self.emit('tts', text)
36
-            return True
37
-        else:
38
-            return False
44
+        print("Simple plugin says:", self.text)
45
+        tts(self.text)

Loading…
Cancel
Save