reminders_txt 0.8.0 → 0.9.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 +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
|