event_nlp 0.3.1 → 0.4.0

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
  SHA1:
3
- metadata.gz: 54ba784176824a213dcdbd4ca421b388687fba9f
4
- data.tar.gz: ed2a521afa3726671c01ecb62977c0b9b48ce203
3
+ metadata.gz: 73cd65c68a6459b464bc21d5d91f925fdfb776c7
4
+ data.tar.gz: 524ccb60d5660fd2c99520e3915ab672519ea4e0
5
5
  SHA512:
6
- metadata.gz: d6b8bbe02b6a14f5a5b8f918995bae07aac3a867721570706a08572989a1bd6bb5014a965c8efd5b386046ac06292f24610c1d08c5a76409ed9e996e8351f083
7
- data.tar.gz: b735297f5f76c702e6c9c177fc5a486926457dc2c33c288c452de2672a167517afa1d5769b6b31058d71bc4dabd836264c334dff7bd365ad574b42c25b3dc834
6
+ metadata.gz: 5810a9e49803482d1b2ee43f9f03e45848b06fb20b4ded4e75303dfa2c7a955683b527bea1699d0d1f7bf054821ec9b5611a1f2fabfe7652ab03f73c1796143c
7
+ data.tar.gz: 6df966634ca2c75075a93df62f509e123db9b7c79234cebe5379d98ce73965775bfc04d6715fd46519aa38a69c4bc6ec11e3286232207096e79dac42198be714
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -52,12 +52,13 @@ class EventNlp
52
52
  def expressions(params)
53
53
 
54
54
  starting = /(?:\(?\s*starting (\d+\w{2} \w+\s*\w*)(?: until (.*))?\s*\))?/
55
- weekdays = Date::DAYNAMES.join('|').downcase
56
- months = (Date::MONTHNAMES[1..-1] + Date::ABBR_MONTHNAMES[1..-1])\
57
- .join('|').downcase
55
+ weekdays2 = Date::DAYNAMES.join('|').downcase
56
+ weekdays = "(%s)" % weekdays2
57
+ months = "(%s)" % (Date::MONTHNAMES[1..-1] + Date::ABBR_MONTHNAMES[1..-1])\
58
+ .join('|').downcase
58
59
  times = /(?: *(?:at |@ |from )?(\d+(?::\d+)?(?:[ap]m|\b)) *)/
59
60
  times2 = /\d+(?::\d+)?[ap]m-\d+(?::\d+)?[ap]m|\d+(?::\d+)?-\d+(?::\d+)?/
60
- days = /\d+(?:st|nd|rd|th)/
61
+ days = /(\d+(?:st|nd|rd|th))/
61
62
  periods = /day|week|month/
62
63
 
63
64
  #weekdays = Date::DAYNAMES.join('|').downcase
@@ -187,7 +188,8 @@ class EventNlp
187
188
  end
188
189
 
189
190
  puts [0.5, title, recurring, d].inspect if @debug
190
- {input: input, title: title.rstrip, recurring: recurring, date: d, end_date: end_date }
191
+ {input: input, title: title.rstrip, recurring: recurring,
192
+ date: d, end_date: end_date }
191
193
 
192
194
  end
193
195
 
@@ -203,7 +205,8 @@ class EventNlp
203
205
 
204
206
 
205
207
  # 7th Oct Euston Station (meet at Timothy's house at 7pm)
206
- get /^(\d(?:st|nd|rd|th) \w+) *(.*)\s+at\s+(\w+)/i do |raw_day, title, time|
208
+ get /^(\d(?:st|nd|rd|th) \w+) *(.*)\s+at\s+(\w+)/i do \
209
+ |raw_day, title, time|
207
210
 
208
211
  d = Chronic.parse(raw_day + ' ' + time)
209
212
 
@@ -216,7 +219,7 @@ class EventNlp
216
219
  # some event Wednesday 11am
217
220
 
218
221
  relative_day = '|today|tomorrow|tonight'
219
- get /^(.*)\s+(#{weekdays+relative_day})(?: \(([^\)]+)\)) (at \d{1,2}(?::\d{2})?(?:[ap]m)?)/i \
222
+ get /^(.*)\s+(#{weekdays2+relative_day})(?: \(([^\)]+)\)) (at \d{1,2}(?::\d{2})?(?:[ap]m)?)/i \
220
223
  do |title, raw_date, date2, time2|
221
224
  puts 'time2: ' + time2.inspect if @debug
222
225
  puts 'date2: ' + date2 if @debug
@@ -234,7 +237,8 @@ class EventNlp
234
237
  end
235
238
 
236
239
  # Group meeting Red Hall 2pm-4pm on Monday (4th Dec 2017)
237
- get /^(.*)\s+(#{times2})(?: on) +(#{weekdays})(?: \(([^\)]+)\))?/i do |title, xtimes, raw_day, actual_date|
240
+ get /^(.*)\s+(#{times2})(?: on) +#{weekdays}(?: \(([^\)]+)\))?/i \
241
+ do |title, xtimes, raw_day, actual_date|
238
242
 
239
243
  puts 'actual_date: ' + actual_date.inspect if @debug
240
244
  puts 'raw_day: ' + raw_day.inspect if @debug
@@ -246,7 +250,8 @@ class EventNlp
246
250
  d = Chronic.parse actual_date
247
251
  else
248
252
  d = Chronic.parse(raw_day)
249
- input.sub!(/#{weekdays}/i,%Q(#{raw_day} (#{d.strftime("#{d.day.ordinal} %b %Y")})))
253
+ input.sub!(/#{weekdays}/i,
254
+ %Q(#{raw_day} (#{d.strftime("#{d.day.ordinal} %b %Y")})))
250
255
  end
251
256
 
252
257
  t1, t2 = xtimes.split(/-/,2)
@@ -263,7 +268,8 @@ class EventNlp
263
268
 
264
269
  # hall 2 friday at 11am
265
270
 
266
- get /^(.*)\s+(#{weekdays})(?: \(([^\)]+)\))?(#{times})?/i do |title, raw_day, actual_date, time|
271
+ get /^(.*)\s+#{weekdays}(?: \(([^\)]+)\))?(#{times})?/i \
272
+ do |title, raw_day, actual_date, time|
267
273
 
268
274
  puts 'actual_date: ' + actual_date.inspect if @debug
269
275
  puts 'raw_day: ' + raw_day.inspect if @debug
@@ -275,7 +281,8 @@ class EventNlp
275
281
  d = Chronic.parse(raw_day + ' ' + time.to_s)
276
282
  else
277
283
  d = Chronic.parse(raw_day + ' ' + time.to_s)
278
- input.sub!(/#{weekdays}/i,%Q(#{raw_day} (#{d.strftime("#{d.day.ordinal} %b %Y")})))
284
+ input.sub!(/#{weekdays}/i,
285
+ %Q(#{raw_day} (#{d.strftime("#{d.day.ordinal} %b %Y")})))
279
286
  end
280
287
 
281
288
  puts 'd: ' + d.inspect if @debug
@@ -301,7 +308,8 @@ class EventNlp
301
308
  end
302
309
 
303
310
  # friday hall 2 11am
304
- get /^(#{weekdays})\s+(.*)\s+(\d+(?::\d{2})?[ap]m)$/i do |raw_day, title, time|
311
+ get /^#{weekdays}\s+(.*)\s+(\d+(?::\d{2})?[ap]m)$/i do \
312
+ |raw_day, title, time|
305
313
 
306
314
  d = Chronic.parse(raw_day + ' ' + time)
307
315
 
@@ -309,7 +317,17 @@ class EventNlp
309
317
  { title: title, date: d }
310
318
 
311
319
  end
312
-
320
+
321
+ # Tuesday 10th July hall 2 at 11am
322
+ get /#{weekdays}\s+#{days}\s+#{months}\s+(?:at )?(.*)\s+at\s+(#{times})/i \
323
+ do |wday, day, month, title, time|
324
+
325
+ d = Chronic.parse([day, month, time].join(' '))
326
+
327
+ puts ['1.44.5', day, month, title].inspect if @debug
328
+ { title: title, date: d }
329
+
330
+ end
313
331
 
314
332
  # hall 2 at 11am
315
333
  get /(.*)\s+at\s+(#{times})/i do |title, time|
@@ -325,8 +343,8 @@ class EventNlp
325
343
  # 27-Mar@1436 some important day
326
344
  # 25/07/2017 11pm some important day
327
345
  #
328
- get /^(\d+\/\d+\/\d+)\s*(\d+(?:\:\d+)?[ap]m)?\s+([^\*]+)(\*)?/ do |raw_date,
329
- time, title, annualar|
346
+ get /^(\d+\/\d+\/\d+)\s*(\d+(?:\:\d+)?[ap]m)?\s+([^\*]+)(\*)?/ \
347
+ do |raw_date, time, title, annualar|
330
348
 
331
349
  d = Chronic.parse(raw_date + ' ' + time.to_s,
332
350
  :endian_precedence => :little)
@@ -349,7 +367,8 @@ class EventNlp
349
367
 
350
368
  # Some event (10 Woodhouse Lane) 30th Nov from 9:15-17:00
351
369
 
352
- get /^(.*) (#{days}) (#{months})(?: from)? (#{times2})/i do |title, day, month, xtimes|
370
+ get /^(.*) #{days} #{months}(?: from)? (#{times2})/i do \
371
+ |title, day, month, xtimes|
353
372
 
354
373
  t1, t2 = xtimes.split(/-/,2)
355
374
 
@@ -407,4 +426,4 @@ class EventNlp
407
426
 
408
427
  end
409
428
 
410
- end
429
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: event_nlp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -10,28 +10,27 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
- YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
- 8ixkARkWAmV1MB4XDTE3MDUwNzE0NTg0OVoXDTE4MDUwNzE0NTg0OVowSDESMBAG
16
- A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
- EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBAMw2O2U81njedJwOBUx2jysPRiQCPeRo3z866CWS38+gUjuoyWhxqpU7oFmf
19
- ZU8qBW3IAt9dDF6YYej0D1pjUGQB3Q9tGG+9JAgrVk9A9v6EDe2OlJw+kBq3df8c
20
- rlBxpaoW5Cs4l0NPvS0YxkiNcVNF+5+5w5P/oG/rQtwYe5qjgL8dnR3wCzbpLEJx
21
- ffB9IO8GywixKbsVo+azM95eEXqftzTEZTvNl9/fXdmDxxBjQ840cga0cbo8/l3r
22
- QDCdLV4tr4QxoJUWr2WuF9eA4Z2LNeNiKV2QpnPJSJ8oGmLSOhBx/QsIHt/JGnAZ
23
- iWrign+OUU/ZhLpZxWdMtho2lwUCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
- DwQEAwIEsDAdBgNVHQ4EFgQUxmLhcuks1axpInwjUKF+v8jP89gwJgYDVR0RBB8w
25
- HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAya7GTAGy
27
- KQx5tB2Dugmt+7zMYMR2DXiLbtRnfA5sbtgERjf/wxIp+eXKPNUuUy19R6srwaVB
28
- KMvT4fo30u4r+JS0jU50xr6YH9BgJmcjf9PVboo2Rmy6ndylXjta24tzCOEz9+Tt
29
- JwZIT4fJigwslfEQFtTyPizu+kUMugdOwmk8WUeJdla0LpnMmIaDuh9BdIbydmMv
30
- /N+gM0MWTN2a4JSEPzFK6C7H8aI/pzcffTuhqspk6a1XtgFcqVdF1expUm8Hse1Z
31
- /WtgKLMzCAKTHZ2OpN3OTs6j+vsUBIwCb/Ki17Z4YULtRaGg7I8nTjTrHIIJ0yNm
32
- kbRihMTezaC+4A==
13
+ MIIDXjCCAkagAwIBAgIBATANBgkqhkiG9w0BAQUFADAsMSowKAYDVQQDDCFnZW1t
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMTgwNzA1MTAxNjMyWhcN
15
+ MTkwNzA1MTAxNjMyWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVsMUO
17
+ uqAIaefnFUYjL01BM0IKcynSiGaen10C1l+mdb5L2u/qqmDlei+dhkROzdalv3I9
18
+ mzfM+gmypIghj96WuiJWFN0W3ktFvxo/GBt9H5va9e8osXAzIuMmU6XcPNHRJJ8a
19
+ l+++HBSeBylV0JGH3h+4Ia5fF8rsnUnhXnethMO4bEjERFVH8PO6qDnL28ua3r05
20
+ W964deP/xkSD2JCc9UEzmfa6+vXpT8EM00TEFsC0KWLC1tbNqQHknxW/JGFsvSrm
21
+ rtjUzYRg4D2JzBAvkofjPWhDcDwUg9HjEslqg0k4jzk8d7bCihmRDaeNLpmjFVeu
22
+ miMJkFxdCkRbFxkrAgMBAAGjgYowgYcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
23
+ HQYDVR0OBBYEFD6Oql0vDFt0//hJu95Y7ai3GlpdMCYGA1UdEQQfMB2BG2dlbW1h
24
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTAmBgNVHRIEHzAdgRtnZW1tYXN0ZXJAamFt
25
+ ZXNyb2JlcnRzb24uZXUwDQYJKoZIhvcNAQEFBQADggEBAEVbqAk47S/3aPeR4B7G
26
+ l875ptDSNkXUq0Y6/c7HLtCqO8J9WPGbNUoGT3EeYQblEcay816mbd3TLOgTdmo/
27
+ vJphzqk0LEHBYD2oC1G7Yzzq7BHkkoJN54e6b5ZzUHNctIGluMrjnNvIagHKfJlR
28
+ UAX6I2o4wL8qFLDxkEcv8FRc67xJBMdQljoYHO+mM8uz8Lsk5Go0xI6UvIZvAnXh
29
+ fJkRwzhE/iZ3kywtmmOnZthaWgHjUoY7bl8lyroUeFf1f3f1tNUKk7kfClyRVrka
30
+ hfzP67fp+s/TI6Tk+IvaEWBcfX7AV2XjfhS+q3uCBvQRjmbbRg3JO4XdjAQI3q8d
31
+ +P4=
33
32
  -----END CERTIFICATE-----
34
- date: 2017-12-04 00:00:00.000000000 Z
33
+ date: 2018-07-05 00:00:00.000000000 Z
35
34
  dependencies:
36
35
  - !ruby/object:Gem::Dependency
37
36
  name: chronic_cron
@@ -39,20 +38,20 @@ dependencies:
39
38
  requirements:
40
39
  - - "~>"
41
40
  - !ruby/object:Gem::Version
42
- version: '0.3'
41
+ version: '0.4'
43
42
  - - ">="
44
43
  - !ruby/object:Gem::Version
45
- version: 0.3.7
44
+ version: 0.4.0
46
45
  type: :runtime
47
46
  prerelease: false
48
47
  version_requirements: !ruby/object:Gem::Requirement
49
48
  requirements:
50
49
  - - "~>"
51
50
  - !ruby/object:Gem::Version
52
- version: '0.3'
51
+ version: '0.4'
53
52
  - - ">="
54
53
  - !ruby/object:Gem::Version
55
- version: 0.3.7
54
+ version: 0.4.0
56
55
  - !ruby/object:Gem::Dependency
57
56
  name: app-routes
58
57
  requirement: !ruby/object:Gem::Requirement
metadata.gz.sig CHANGED
Binary file