alexa_utteranceresponder 0.1.2 → 0.2.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e731bfdb48934f650454e32ebf3bbba4298334d441e04550a754b5d41fd17e67
4
- data.tar.gz: a35375795c0c4d196577a6a2cd6caaf109d25573df8266d0ee61b4bf8df9d0b8
3
+ metadata.gz: f7e2b3e32e4ecb1beee2ddcd23b83107ce68dbff96cf5f2b4c90f04672a88b26
4
+ data.tar.gz: cf01e0f9c144efc72ccd44800d41534463cc46b4135446788a2f0343f79530d8
5
5
  SHA512:
6
- metadata.gz: 384c4e6f065210fd7914564b077ff5b5a6b60e26ea43761d845d0c59a3d348a53ee71b3a7e452e89e277c1550941b5e296629f07dc11d52d3f584c5ee9d4f333
7
- data.tar.gz: c984bca08b3169ba63c9a22e0bfb608f40db0935d60f95b4efac7aee63f5935c21228090a09ba240053613b114f329e58b7de554ec9b9dbe7738b3e435976782
6
+ metadata.gz: d9c2d08973e1bef53c65451a083df94e179820cac58c758a420a047e0a818347f329cdd77f7adb516af82a4412468fe10bd1a21a75a581ceae775e5f3b607aaa
7
+ data.tar.gz: e41a3a2c70ae551e2cd7333074ba9d8ed734bd2338c593ee3d0079f1722fe1b55c71a5e8d7e562b5d356c778bbec94918e52edecd7ed1a6c1c2cf039700b0631
@@ -1,2 +1,4 @@
1
- nFQ�~�$w�Q���N������)��(,�������5��!�5� �.��z�H��r@�W¢ {��r�P\F,"�Гſ�b~�',�sh�'��y��;�
2
- {tR��e,�`�g^��J�]���{LJ����,�;������b~�A�v�v.�XM���C���(Y�����я���5���y @��n��*�h�hG��RŒ�'�p���7�A�� ?����!��M WY���'��O.M�.��h�^[).��9��D�ɥ�$��0B��?��e�t�uf��n9U�䠴]��ʌypV��n��m��ϔl��Aڳ�~iJ����g�,
1
+ s
2
+ 6������L���=
3
+ ��2t���;�ߴ�D‹������nC���`� �!G���N�� ��aw�J������(�illK�56�h��ȃ�Y�`�v�Fu�b50~� �=����@N�zA��p����y�ũ� ��u�B37I�w��ڊ�:b5ʾ4K���}z����r�=YBW�bD�>,�6+%= �l���oQ��_fL�����H�&�_kEw��d|���}p����&��u-���Vz�n�u,�ϴ����G�=�
4
+ ��U���а��m���Y�__�A�7 w�f�k1ȧ��Քv@���&�%UP��|5�S��\�U���
data.tar.gz.sig CHANGED
Binary file
@@ -16,25 +16,53 @@ class AlexaUtteranceResponder
16
16
  attr_reader :invocation
17
17
  attr_accessor :deviceid
18
18
 
19
- def initialize(modelmds=[], debug: false, userid: nil, deviceid: nil)
19
+ def initialize(modelmds=[], reg: nil, debug: false,
20
+ userid: nil, deviceid: nil)
20
21
 
21
- @debug, @userid, @deviceid = debug, userid, deviceid
22
+ @reg, @debug, @userid, @deviceid = reg, debug, userid, deviceid
22
23
 
23
24
  @models = modelmds.inject({}) do |r,x|
24
25
 
25
26
  amb = AlexaModelBuilder.new(x)
26
27
  r.merge(amb.invocation || amb.name => amb)
27
28
 
28
- end
29
+ end
30
+
29
31
 
30
32
  end
31
33
 
32
- def ask(s, deviceid: @deviceid, &blk)
34
+ def ask(s, userid: @userid, deviceid: @deviceid, &blk)
33
35
 
34
36
  puts
35
37
  puts ' debugger: s: ' + s.inspect if @debug
36
38
 
37
- invocations = @models.keys.map {|invocation| invocation.gsub(/ /,'\s') }\
39
+ active = if @reg then
40
+
41
+ puts 'reg available'.info if @debug
42
+
43
+ e = @reg.get_key 'hkey_apps/alexa/accounts'
44
+ euserid = e.xpath('*/id').find {|x| x.text.to_s == userid}
45
+ puts 'euserid: ' + euserid.text.inspect if @debug
46
+
47
+ if euserid then
48
+
49
+ eactive = euserid.parent.text('active')
50
+ puts 'eactive: ' + eactive.to_s.inspect if @debug
51
+
52
+ if eactive then
53
+ eactive.to_s.split
54
+ else
55
+ user = euserid.parent.name
56
+ @reg.set_key "hkey_apps/alexa/accounts/#{user}/active", @models.keys.join(' ')
57
+ @models.keys
58
+ end
59
+ end
60
+
61
+ else
62
+ @models.keys
63
+ end
64
+
65
+ invocations = active.map {|invocation| invocation.gsub(/ /,'\s') }\
38
66
  .join('|')
39
67
  puts 'invocations: ' + invocations.inspect if @debug
40
68
 
@@ -48,7 +76,7 @@ class AlexaUtteranceResponder
48
76
  r2 = s.downcase.gsub(/,/,'').match(regex)
49
77
 
50
78
  puts ' debugger: r2: ' + r2.inspect if @debug
51
- puts
79
+ puts
52
80
 
53
81
  model_id = if r2 then
54
82
  return respond() if r2[:action] == 'open'
@@ -58,13 +86,16 @@ class AlexaUtteranceResponder
58
86
  puts 'searching all utterances'.info if @debug
59
87
  puts ('s: ' + s.inspect).debug if @debug
60
88
 
89
+
61
90
  # attempt to find the request from utterances in all skills
62
- found = @models.detect do |key, model|
91
+ active.detect do |name|
92
+
93
+ model = @models[name]
63
94
  puts 'utterances: ' + model.utterances.map(&:downcase).inspect if @debug
64
95
  model.utterances.map(&:downcase).include? s
96
+
65
97
  end
66
-
67
- id, _ = found[0] if found
98
+
68
99
  end
69
100
 
70
101
  return "hmmm, I don't know that one." unless model_id
@@ -85,5 +116,19 @@ class AlexaUtteranceResponder
85
116
  r ? r : "I'm sorry I didn't understand what you said"
86
117
 
87
118
  end
119
+
120
+ def sample_utterances()
121
+
122
+ @models.to_a.sample(3).map do |key, model|
123
+
124
+ if model.invocation then
125
+ "tell %s, %s" % [key.capitalize, model.utterances.sample.capitalize]
126
+ else
127
+ "%s" % [model.utterances.sample]
128
+ end
129
+
130
+ end
131
+
132
+ end
88
133
 
89
134
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alexa_utteranceresponder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -35,48 +35,48 @@ cert_chain:
35
35
  et+EBeqz/UE1cHo1UQJ46zhnSgmyJAzu7CkkRXvmAL/vpbmZMsnwwMHlqzNFUj3Y
36
36
  B0fryIJrom9l8P6WHMK+0kWS
37
37
  -----END CERTIFICATE-----
38
- date: 2019-12-18 00:00:00.000000000 Z
38
+ date: 2019-12-25 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: askio
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - "~>"
45
- - !ruby/object:Gem::Version
46
- version: '0.1'
47
44
  - - ">="
48
45
  - !ruby/object:Gem::Version
49
- version: 0.1.1
46
+ version: 0.2.0
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '0.2'
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - "~>"
55
- - !ruby/object:Gem::Version
56
- version: '0.1'
57
54
  - - ">="
58
55
  - !ruby/object:Gem::Version
59
- version: 0.1.1
56
+ version: 0.2.0
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '0.2'
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: alexa_modelbuilder
62
62
  requirement: !ruby/object:Gem::Requirement
63
63
  requirements:
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- version: 0.5.0
67
64
  - - "~>"
68
65
  - !ruby/object:Gem::Version
69
66
  version: '0.5'
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: 0.5.2
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- version: 0.5.0
77
74
  - - "~>"
78
75
  - !ruby/object:Gem::Version
79
76
  version: '0.5'
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: 0.5.2
80
80
  description:
81
81
  email: james@jamesrobertson.eu
82
82
  executables: []
metadata.gz.sig CHANGED
Binary file