siriproxypm-honey 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/siriproxypm-honey.rb +26 -24
- data/siriproxypm-honey.gemspec +1 -1
- metadata +3 -3
data/lib/siriproxypm-honey.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require 'cora'
|
|
2
2
|
require 'siriproxy/plugin_manager'
|
|
3
3
|
require 'socket'
|
|
4
|
-
|
|
4
|
+
require 'siriproxypm-clientstatecache'
|
|
5
5
|
|
|
6
6
|
class SiriProxy::PluginManager::Honey < SiriProxy::PluginManager::ClientStateCache
|
|
7
7
|
|
|
@@ -14,7 +14,7 @@ class SiriProxy::PluginManager::Honey < SiriProxy::PluginManager::ClientStateCac
|
|
|
14
14
|
|
|
15
15
|
def get_plugin_list
|
|
16
16
|
result = get_app_config("speakers",get_speaker,"plugins")
|
|
17
|
-
if result == nil || !result.is_a(Array)
|
|
17
|
+
if result == nil || !result.is_a?(Array)
|
|
18
18
|
result = []
|
|
19
19
|
end
|
|
20
20
|
return result
|
|
@@ -23,7 +23,10 @@ class SiriProxy::PluginManager::Honey < SiriProxy::PluginManager::ClientStateCac
|
|
|
23
23
|
|
|
24
24
|
def process_plugins(text)
|
|
25
25
|
result = nil
|
|
26
|
-
|
|
26
|
+
speaker = get_speaker
|
|
27
|
+
log "Incoming speaker #{speaker}"
|
|
28
|
+
if (result = switch_speaker(text ))== nil
|
|
29
|
+
log "Did not switch speaker. will prcess #{text} on parent"
|
|
27
30
|
result = super(text)
|
|
28
31
|
end
|
|
29
32
|
return result
|
|
@@ -61,25 +64,24 @@ class SiriProxy::PluginManager::Honey < SiriProxy::PluginManager::ClientStateCac
|
|
|
61
64
|
clients = get_app_config('client_preferences')
|
|
62
65
|
if client != nil \
|
|
63
66
|
&& clients != nil \
|
|
64
|
-
&& clients.respond_to?('each')
|
|
67
|
+
&& clients.respond_to?('each') \
|
|
65
68
|
&& speakers.respond_to?('has_key?')
|
|
66
69
|
clients.each do |range,client_preferences|
|
|
67
|
-
if!client_preferences \
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
next
|
|
71
|
-
end
|
|
72
|
-
if client_preferences['speakers'].respond_to?("each")
|
|
73
|
-
speakers = client_preferences['speakers']
|
|
74
|
-
else
|
|
75
|
-
speakers = [client_preferences['speakers']]
|
|
76
|
-
end
|
|
77
|
-
speakers.each do |speaker|
|
|
78
|
-
if speaker == nil
|
|
70
|
+
if !client_preferences \
|
|
71
|
+
|| !client_preferences.has_key?("speakers") \
|
|
72
|
+
|| !in_range(client,range)
|
|
79
73
|
next
|
|
80
74
|
end
|
|
81
|
-
if
|
|
82
|
-
|
|
75
|
+
if client_preferences['speakers'].respond_to?("each")
|
|
76
|
+
speakers = client_preferences['speakers']
|
|
77
|
+
else
|
|
78
|
+
speakers = [client_preferences['speakers']]
|
|
79
|
+
end
|
|
80
|
+
if speakers != nil \
|
|
81
|
+
&& speakers.respond_to?('keys') \
|
|
82
|
+
&& (keys = speakers.keys) != nil \
|
|
83
|
+
&& keys.count > 0
|
|
84
|
+
return speakers[keys[0]]
|
|
83
85
|
end
|
|
84
86
|
end
|
|
85
87
|
end
|
|
@@ -90,7 +92,7 @@ class SiriProxy::PluginManager::Honey < SiriProxy::PluginManager::ClientStateCac
|
|
|
90
92
|
def switch_speaker(text)
|
|
91
93
|
new_speaker = nil
|
|
92
94
|
speakers = get_app_config("speakers")
|
|
93
|
-
if speakers !=
|
|
95
|
+
if speakers != nil && speakers.respond_to?('each')
|
|
94
96
|
speakers.each do |speaker,speaker_config|
|
|
95
97
|
if identify_speaker(speaker,text)
|
|
96
98
|
new_speaker = speaker
|
|
@@ -101,13 +103,13 @@ class SiriProxy::PluginManager::Honey < SiriProxy::PluginManager::ClientStateCac
|
|
|
101
103
|
if new_speaker != nil && (client = get_client) != nil
|
|
102
104
|
#verify on this ip address
|
|
103
105
|
valid_speaker = false
|
|
104
|
-
|
|
106
|
+
client_preferences = get_app_config("client_preferences")
|
|
105
107
|
if client_preferences.respond_to?('each')
|
|
106
108
|
client_preferences.each do |range,client_preferences|
|
|
107
109
|
if client_preferences == nil\
|
|
108
110
|
|| !client_preferences.respond_to?("has_key?") \
|
|
109
111
|
|| !client_preferences.has_key?("speakers") \
|
|
110
|
-
|| client_preferences['speakers'] == nil
|
|
112
|
+
|| client_preferences['speakers'] == nil \
|
|
111
113
|
|| !in_range(client,range)
|
|
112
114
|
next
|
|
113
115
|
end
|
|
@@ -133,13 +135,13 @@ class SiriProxy::PluginManager::Honey < SiriProxy::PluginManager::ClientStateCac
|
|
|
133
135
|
|
|
134
136
|
|
|
135
137
|
def identify_speaker(speaker,text)
|
|
136
|
-
return text_matches(text,get_app_config("speakers",speaker,"
|
|
138
|
+
return text_matches(text,get_app_config("speakers",speaker,"identify"));
|
|
137
139
|
end
|
|
138
140
|
|
|
139
141
|
|
|
140
142
|
def welcome_speaker(speaker)
|
|
141
|
-
if (welcome = get_app_config("speakers",speaker,"welcome"))
|
|
142
|
-
respond(
|
|
143
|
+
if (welcome = get_app_config("speakers",speaker,"welcome")) != nil
|
|
144
|
+
respond(welcome)
|
|
143
145
|
end
|
|
144
146
|
end
|
|
145
147
|
|
data/siriproxypm-honey.gemspec
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: siriproxypm-honey
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.3
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -13,7 +13,7 @@ date: 2011-12-07 00:00:00.000000000 Z
|
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: siriproxypm-clientstatecache
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &72932750 !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ! '>='
|
|
@@ -21,7 +21,7 @@ dependencies:
|
|
|
21
21
|
version: '0'
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements: *
|
|
24
|
+
version_requirements: *72932750
|
|
25
25
|
description: ! 'Plugin manager with speakers (i.e. users/roles) '
|
|
26
26
|
email:
|
|
27
27
|
- ''
|