ruby-macrodroid 0.9.15 → 0.9.16

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3ee2f540a744e2a309b3e4306a3f75c9ac3f437ebb9907d6f98cc39ea9b873fb
4
- data.tar.gz: 1f8f909bcd280c7fabe301d8cbb3c8535d56901bb7986224cc0d046cccb3b61b
3
+ metadata.gz: e9789db9405136e821003060f52912072c11665303ab25a714c93d5dac058d8f
4
+ data.tar.gz: 7878f4f2c52b3450e2485e5b993cfe275269e88e125da647f89ddf73610c504e
5
5
  SHA512:
6
- metadata.gz: 045fb9a42206777def57c23a89ec1aaccb2dac969b44f2b0fc388885e14a7ce8c1a6f093451237dcbfe8e2287cc3395033506853da6dca94706e368704df66ae
7
- data.tar.gz: fc65220be3fd9e7265b6bfcdf194735c831e02fcb3b6c8e158d6e24cde83cbbbcfbb1547cd4932a0a96ba79f552d9134690dc1e91fdd0405751a6d6c41e382f9
6
+ metadata.gz: 6a2f574bc7692cba9cf2cc31228c5c4e6cd4aa78de0bb3a73c5e73c1458fd6cdc0798ac31aebd9e1833738ce700819257a02242c13ed2c5bc91f4e977d171e27
7
+ data.tar.gz: ce58d73abe7f2583bd50a7c6fa0fda42c9aa2a0cf14b9fc370c066dad69fcb8263332f685da3f14aee447180fbfcd9cd5a25a59b81853748114e58e420c6f74c
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -174,17 +174,17 @@ class OpenWebPageAction < ApplicationAction
174
174
 
175
175
  def initialize(obj={}, macro=nil)
176
176
 
177
- $debug = false
177
+ $debug = true
178
178
  puts ('obj: ' + obj.inspect).debug if $debug
179
179
 
180
180
  h = if obj.is_a? Hash then
181
181
 
182
- obj.merge({macro: macro})
182
+ obj.merge({macro: macro}) #unless obj and obj[:macro]
183
183
 
184
184
  elsif obj.is_a? Array
185
185
 
186
186
  puts ('obj: ' + obj.inspect).debug if $debug
187
- e, macro = obj
187
+ e, macro, h3 = obj
188
188
 
189
189
  a = e.xpath('item/*')
190
190
 
@@ -205,7 +205,7 @@ class OpenWebPageAction < ApplicationAction
205
205
  {url: (txt || e.text)}
206
206
  end
207
207
 
208
- h2.merge(macro: macro)
208
+ h2.merge(macro: macro).merge(h3)
209
209
 
210
210
  end
211
211
 
@@ -243,6 +243,7 @@ class OpenWebPageAction < ApplicationAction
243
243
  h[:macro].title.downcase.gsub(/ +/,'-')
244
244
 
245
245
  end
246
+ puts 'url: ' + url.inspect if $debug
246
247
 
247
248
  if h2 then
248
249
 
@@ -266,7 +267,8 @@ class OpenWebPageAction < ApplicationAction
266
267
  end
267
268
 
268
269
  def to_s(colour: false, indent: 0)
269
- @s = "HTTP GET\nurl: " + @h[:url_to_open]
270
+ s = @h[:http_get] ? '' : 'Open Website / '
271
+ @s = s + "HTTP GET\nurl: " + @h[:url_to_open]
270
272
  super()
271
273
  end
272
274
 
@@ -985,8 +987,15 @@ end
985
987
  #
986
988
  class ClipboardAction < DeviceAction
987
989
 
988
- def initialize(h={})
990
+ def initialize(obj=nil)
989
991
 
992
+ h = if obj.is_a? Hash then
993
+ obj
994
+ elsif obj.is_a? Array
995
+ e, macro = obj
996
+ {clipboard_text: e.text('item/description').to_s}
997
+ end
998
+
990
999
  options = {
991
1000
  clipboard_text: ''
992
1001
  }
@@ -1066,14 +1075,57 @@ end
1066
1075
  #
1067
1076
  class UIInteractionAction < DeviceAction
1068
1077
 
1069
- def initialize(h={})
1078
+ def initialize(obj=nil)
1079
+
1080
+ if obj.is_a? Hash then
1081
+ h = obj
1082
+ elsif obj.is_a? Array
1083
+
1084
+ e, macro = obj
1085
+ s = e.text('item/description').to_s
1086
+
1087
+ r = s.match(/^(Click|Long Click) \[([^\]]+)/)
1088
+
1089
+ # [Current focus] # Current focus
1090
+ # [0,0] # x,y location
1091
+ # [274,186] # Identify in app
1092
+ # [fooo] # Text content
1093
+
1094
+ h = {
1095
+ ui_interaction_configuration: {}, :xy_point=>{:x=>0, :y=>0},
1096
+ :type=>"Click"
1097
+ }
1098
+ h2 = {}
1099
+
1100
+ if r then
1101
+
1102
+ h[:action] = 0
1070
1103
 
1104
+ click, detail = r.captures
1105
+ h2[:long_click] = false if click.downcase.to_sym == :click
1106
+
1107
+ if detail == 'Current focus' then
1108
+ h2[:click_option] = 1
1109
+ elsif detail =~ /\d+,\d+/
1110
+ # to-do
1111
+ else
1112
+ # text content
1113
+ h2[:click_option] = 1
1114
+ h2[:text_content] = detail
1115
+ end
1116
+
1117
+ h[:ui_interaction_configuration] = h2
1118
+ end
1119
+
1120
+ end
1121
+
1071
1122
  options = {
1072
1123
  ui_interaction_configuration: {:type=>"Copy"},
1073
1124
  action: 2
1074
1125
  }
1075
1126
 
1076
- super(options.merge h)
1127
+
1128
+ super(options.merge h)
1077
1129
 
1078
1130
  end
1079
1131
 
@@ -1113,7 +1165,7 @@ class UIInteractionAction < DeviceAction
1113
1165
  "Gesture [%s]" % detail
1114
1166
  end
1115
1167
 
1116
- 'UI Interaction' + "\n " + s #+ ' ' + @h.inspect
1168
+ 'UI Interaction' + "\n " + s + ' ' + @h.inspect
1117
1169
  end
1118
1170
 
1119
1171
  alias to_summary to_s
@@ -90,6 +90,7 @@ class ActionsNlp
90
90
 
91
91
  # -- DEVICE ACTIONS ------------------------------------------------------
92
92
 
93
+ #
93
94
  get /^Speak text \(([^\)]+)\)/i do |text|
94
95
  [SpeakTextAction, {text: text}]
95
96
  end
@@ -100,7 +101,11 @@ class ActionsNlp
100
101
 
101
102
  get /^Speak text$/i do |text|
102
103
  [SpeakTextAction, {}]
103
- end
104
+ end
105
+
106
+ get /^UI Interaction$/i do
107
+ [UIInteractionAction, {}]
108
+ end
104
109
 
105
110
  get /^Vibrate \(([^\)]+)/i do |pattern|
106
111
  [VibrateAction, {pattern: pattern}]
@@ -123,6 +128,10 @@ class ActionsNlp
123
128
  [SetWifiAction, {state: state}]
124
129
 
125
130
  end
131
+
132
+ get /^Fill Clipboard$/i do
133
+ [ClipboardAction, {}]
134
+ end
126
135
 
127
136
  # e.g. Play: Altair
128
137
  get /^Play: (.*)$/i do |name|
@@ -157,6 +166,19 @@ class ActionsNlp
157
166
 
158
167
  end
159
168
 
169
+
170
+ get /^Open Website \/ HTTP GET$/i do
171
+
172
+ [OpenWebPageAction, {http_get: false}]
173
+
174
+ end
175
+
176
+ get /^(?:open|goto) ((?:https?:\/\/|\[lv=)[^$]+)$/i do |url|
177
+
178
+ [OpenWebPageAction, url_to_open: url, http_get: false]
179
+
180
+ end
181
+
160
182
  # e.g. webhook entered_kitchen
161
183
  #
162
184
  get /(?:webhook|HTTP GET) ([^$]+)$/i do |s|
@@ -12,7 +12,7 @@ module ObjectX
12
12
 
13
13
  def action_to_object(ap, e, item, macro)
14
14
 
15
- debug = false
15
+ debug = true
16
16
 
17
17
  puts 'inside action_to_object: item.xml: ' + item.xml if debug
18
18
 
@@ -34,7 +34,7 @@ module ObjectX
34
34
  r = ap.find_action action
35
35
  puts 'r: ' + r.inspect if debug
36
36
 
37
- nested = description.element('item/description')
37
+ nested = description.element('item/*')
38
38
  puts 'nested: ' + nested.inspect if debug
39
39
 
40
40
  if r[1].any? and not nested then
@@ -67,6 +67,8 @@ class TriggersNlp
67
67
  [WifiConnectionTrigger, {}]
68
68
  end
69
69
 
70
+
71
+
70
72
  # -- Device Events ----------------------------------------------------
71
73
 
72
74
  get /^NFC Tag$/i do |state|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-macrodroid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.15
4
+ version: 0.9.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -35,7 +35,7 @@ cert_chain:
35
35
  NZ2kdBIUDnAM24e0/wXdVxg4HnsZbdymxyzMQ4P5pKYcpI6oisBxI37p/Xy+wAg3
36
36
  SBHno3GEuuD8ZWj24IMJpfbp
37
37
  -----END CERTIFICATE-----
38
- date: 2020-10-22 00:00:00.000000000 Z
38
+ date: 2020-10-23 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: glw
metadata.gz.sig CHANGED
Binary file