reminders_txt 0.8.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/reminders_txt.rb +54 -4
- data.tar.gz.sig +0 -0
- metadata +9 -9
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c91a43ef370d6bca04d588dfabfeef24535af3e2dc90a6517495cbcc445421ae
|
4
|
+
data.tar.gz: 51b59fc426f175a223868ae1eb63e61361f096051c4051b84899ea66b9ad6c30
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 940a77c0025c3ffa8c712d234cd6f3caf834e84f3ff083348ead891a650c057135282675f5fc214450e72d16e4ef028547810ee34be3080fa9ff0bf322be514c
|
7
|
+
data.tar.gz: f9861f8c5ee884d7f7bac5e86393389d1ca1e898847c731443e95e519591607fcfcb92108ba9c4cd6b239ec564d0c8e0fb3667c9543575a71a18e406ff045bb0
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/reminders_txt.rb
CHANGED
@@ -8,8 +8,15 @@ require 'event_nlp'
|
|
8
8
|
require 'digest/md5'
|
9
9
|
require 'human_speakable'
|
10
10
|
require 'rxfreadwrite'
|
11
|
+
require 'vpim'
|
11
12
|
|
12
13
|
|
14
|
+
class Fixnum
|
15
|
+
def ordinal
|
16
|
+
self.to_s + ( (10...20).include?(self) ? 'th' : %w{ th st nd rd th th th th th th }[self % 10] )
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
13
20
|
class RemindersTxtException < Exception
|
14
21
|
|
15
22
|
end
|
@@ -64,11 +71,20 @@ class RemindersTxt
|
|
64
71
|
end
|
65
72
|
end
|
66
73
|
|
67
|
-
def add(
|
74
|
+
def add(obj)
|
75
|
+
|
76
|
+
if obj.is_a? String then
|
77
|
+
|
78
|
+
s = obj
|
79
|
+
s.strip!
|
80
|
+
r = EventNlp.new(@now, params: {input: s}).parse(s)
|
81
|
+
return if r.nil?
|
82
|
+
|
83
|
+
elsif obj.is_a? OpenStruct
|
68
84
|
|
69
|
-
|
70
|
-
|
71
|
-
|
85
|
+
r = obj
|
86
|
+
|
87
|
+
end
|
72
88
|
|
73
89
|
@reminders << r
|
74
90
|
refresh()
|
@@ -93,6 +109,40 @@ class RemindersTxt
|
|
93
109
|
@dx.filter {|x| x.title =~ /#{s}/i}
|
94
110
|
end
|
95
111
|
|
112
|
+
def import_vcs(filename)
|
113
|
+
|
114
|
+
puts 'filename: ' + filename.inspect if @debug
|
115
|
+
icsfile = FileX.read filename
|
116
|
+
cal = Vpim::Icalendar.decode(icsfile).first
|
117
|
+
puts '*********************' if @debug
|
118
|
+
r = cal.components[0]
|
119
|
+
datestart = "%s %s" % [r.dtstart.day.ordinal, r.dtstart.strftime("%B %Y at %H:%M%P")]
|
120
|
+
event = "%s: %s at %s %s" % [r.categories.join(', '), r.summary, r.location, datestart]
|
121
|
+
|
122
|
+
if r.dtend then
|
123
|
+
|
124
|
+
if r.dtstart.to_date == r.dtend.to_date then
|
125
|
+
event += '-' + r.dtend.strftime("%H:%M%P")
|
126
|
+
else
|
127
|
+
dateend = "%s %s" % [r.dtend.day.ordinal, r.dtend.strftime("%B %Y at %H:%M%P")]
|
128
|
+
event += ' to ' + dateend
|
129
|
+
end
|
130
|
+
|
131
|
+
end
|
132
|
+
|
133
|
+
h = {
|
134
|
+
input: event,
|
135
|
+
title: "%s: %s" % [r.categories.join(', '), r.summary],
|
136
|
+
date: r.dtstart
|
137
|
+
}
|
138
|
+
|
139
|
+
h[:venue] = r.location if r.location
|
140
|
+
h[:end_date] = r.dtend if r.dtend
|
141
|
+
|
142
|
+
add OpenStruct.new(h)
|
143
|
+
|
144
|
+
end
|
145
|
+
|
96
146
|
def upcoming(ndays=5, days: ndays, months: nil)
|
97
147
|
|
98
148
|
next_date = if months then
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reminders_txt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
tYyvieamfpSjWJEZi7K760qv2dWJ9kwfaJ7Q3TVP4Jjt0Iwep7Gutk7GV3uY35DA
|
36
36
|
iHcajrfKduh5CsLsvkXRjR4E
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date: 2022-
|
38
|
+
date: 2022-08-10 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: dynarex
|
@@ -46,7 +46,7 @@ dependencies:
|
|
46
46
|
version: '1.9'
|
47
47
|
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: 1.9.
|
49
|
+
version: 1.9.11
|
50
50
|
type: :runtime
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -56,27 +56,27 @@ dependencies:
|
|
56
56
|
version: '1.9'
|
57
57
|
- - ">="
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version: 1.9.
|
59
|
+
version: 1.9.11
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
61
|
name: event_nlp
|
62
62
|
requirement: !ruby/object:Gem::Requirement
|
63
63
|
requirements:
|
64
64
|
- - "~>"
|
65
65
|
- !ruby/object:Gem::Version
|
66
|
-
version: '0.
|
66
|
+
version: '0.7'
|
67
67
|
- - ">="
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: 0.
|
69
|
+
version: 0.7.0
|
70
70
|
type: :runtime
|
71
71
|
prerelease: false
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
74
|
- - "~>"
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
version: '0.
|
76
|
+
version: '0.7'
|
77
77
|
- - ">="
|
78
78
|
- !ruby/object:Gem::Version
|
79
|
-
version: 0.
|
79
|
+
version: 0.7.0
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: human_speakable
|
82
82
|
requirement: !ruby/object:Gem::Requirement
|
@@ -123,7 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
requirements: []
|
126
|
-
rubygems_version: 3.
|
126
|
+
rubygems_version: 3.3.7
|
127
127
|
signing_key:
|
128
128
|
specification_version: 4
|
129
129
|
summary: Reads and updates diary reminders from a plain text file
|
metadata.gz.sig
CHANGED
Binary file
|