icalPal 3.0.0 → 3.1.1

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: 25a711f9e4887a81dafccbc57e0a2fa84530dc8cee81e58f0d5df6041783bec2
4
- data.tar.gz: 698a498065687f7a7d06e6c316d1937bfc3b1a58d7a661b612bb8d39b5429318
3
+ metadata.gz: a0297e64a63dc4d2b65d99486da581c29a6358ba608fdcba131264645510fd70
4
+ data.tar.gz: d74cd82384fcfbeb340f3047c94e492ab6374d39d9d4e17a75c9e4e35b9429db
5
5
  SHA512:
6
- metadata.gz: 9cf18231c95a94b663e1a41ecd16326f447fb038864677ad05ba2a6fa5f684ae999732401ff30b9df1b0739ff31f78f7b0385e3f7774d5260b9cfbc37a6d2680
7
- data.tar.gz: d3aaf37df004da104518e80463c2bc6933ba87277fc9c913bb73a4653055a93417694fb1de655d1c3776f3d47d45afaf241b5ba59361894bafa7ebd1bf253c29
6
+ metadata.gz: 2ac7ff052d9007bde1d72c246545d35604293b4e6d60e994cf8c0c668749c694c72595fa61116021457c3a4031c31be70612c32a37ef50dbd17b8e7d85e272c2
7
+ data.tar.gz: b062c855186dc5e9624a2aa1a63e625263a7e355ac117b4b09271c377840126c31a4ff9568d71d416c2f4654627b5adadd8963df71089ea24f60a3e515f89b63
data/bin/icalPal CHANGED
@@ -65,12 +65,19 @@ end
65
65
  klass = ICalPal::($opts[:cmd])
66
66
 
67
67
  # Get it
68
- if klass == ICalPal::Reminder then
69
- # Load all .sqlite files
70
- Dir.glob("#{$opts[:db]}/*.sqlite").each { |db| $rows += ICalPal.load_data(db, klass::QUERY) }
71
- else
72
- # Load database
73
- $rows += ICalPal.load_data($opts[:db], klass::QUERY)
68
+ $opts[:db].each do |db|
69
+ $log.debug("Trying #{db}")
70
+
71
+ if klass == ICalPal::Reminder then
72
+ # Load all .sqlite files
73
+ $log.debug("Loading *.sqlite in #{db}")
74
+ Dir.glob("#{db}/*.sqlite").each { |d| $rows += ICalPal.load_data(d, klass::QUERY) }
75
+ else
76
+ # Load database
77
+ begin
78
+ $rows += ICalPal.load_data(db, klass::QUERY)
79
+ end
80
+ end
74
81
  end
75
82
 
76
83
  $log.info("Loaded #{$rows.count} #{klass} rows")
data/bin/icalpal CHANGED
@@ -65,12 +65,19 @@ end
65
65
  klass = ICalPal::($opts[:cmd])
66
66
 
67
67
  # Get it
68
- if klass == ICalPal::Reminder then
69
- # Load all .sqlite files
70
- Dir.glob("#{$opts[:db]}/*.sqlite").each { |db| $rows += ICalPal.load_data(db, klass::QUERY) }
71
- else
72
- # Load database
73
- $rows += ICalPal.load_data($opts[:db], klass::QUERY)
68
+ $opts[:db].each do |db|
69
+ $log.debug("Trying #{db}")
70
+
71
+ if klass == ICalPal::Reminder then
72
+ # Load all .sqlite files
73
+ $log.debug("Loading *.sqlite in #{db}")
74
+ Dir.glob("#{db}/*.sqlite").each { |d| $rows += ICalPal.load_data(d, klass::QUERY) }
75
+ else
76
+ # Load database
77
+ begin
78
+ $rows += ICalPal.load_data(db, klass::QUERY)
79
+ end
80
+ end
74
81
  end
75
82
 
76
83
  $log.info("Loaded #{$rows.count} #{klass} rows")
data/lib/defaults.rb CHANGED
@@ -10,7 +10,10 @@ $defaults = {
10
10
  bullet: '•',
11
11
  cf: "#{ENV['HOME']}/.icalpal",
12
12
  color: false,
13
- db: "#{ENV['HOME']}/Library/Calendars/Calendar.sqlitedb",
13
+ db: [
14
+ "#{ENV['HOME']}/Library/Group Containers/group.com.apple.calendar/Calendar.sqlitedb",
15
+ "#{ENV['HOME']}/Library/Calendars/Calendar.sqlitedb",
16
+ ],
14
17
  debug: Logger::WARN,
15
18
  df: '%b %-d, %Y',
16
19
  ec: [],
@@ -36,19 +39,19 @@ $defaults = {
36
39
  },
37
40
  tasks: {
38
41
  dated: 0,
39
- db: ICalPal::Reminder::DB_PATH,
42
+ db: [ ICalPal::Reminder::DB_PATH ],
40
43
  iep: [ 'title', 'notes', 'due', 'priority' ],
41
44
  sort: 'prio',
42
45
  },
43
46
  undatedTasks: {
44
47
  dated: 1,
45
- db: ICalPal::Reminder::DB_PATH,
48
+ db: [ ICalPal::Reminder::DB_PATH ],
46
49
  iep: [ 'title', 'notes', 'due', 'priority' ],
47
50
  sort: 'prio',
48
51
  },
49
52
  datedTasks: {
50
53
  dated: 2,
51
- db: ICalPal::Reminder::DB_PATH,
54
+ db: [ ICalPal::Reminder::DB_PATH ],
52
55
  iep: [ 'title', 'notes', 'due', 'priority' ],
53
56
  sort: 'prio',
54
57
  },
data/lib/icalPal.rb CHANGED
@@ -58,6 +58,9 @@ module ICalPal
58
58
  rescue SQLite3::BusyException => e
59
59
  $log.error("Non-fatal error closing database #{db.filename}")
60
60
 
61
+ rescue SQLite3::CantOpenException => e
62
+ $log.debug("Can't open #{db_file}")
63
+
61
64
  rescue SQLite3::SQLException => e
62
65
  $log.info("#{db_file}: #{e}")
63
66
 
data/lib/options.rb CHANGED
@@ -29,7 +29,7 @@ module ICalPal
29
29
  @op.accept(ICalPal::RDT) { |s| ICalPal::RDT.conv(s) }
30
30
 
31
31
  # head
32
- @op.on("\nCOMMAND must be one of the following:\n\n")
32
+ @op.on_head("\nCOMMAND must be one of the following:\n\n")
33
33
 
34
34
  @op.on("%s%s %sPrint events" % pad('events'))
35
35
  @op.on("%s%s %sPrint tasks" % pad('tasks'))
@@ -47,7 +47,8 @@ module ICalPal
47
47
  @op.separator("\nGlobal options:\n\n")
48
48
 
49
49
  @op.on('-c=COMMAND', '--cmd=COMMAND', COMMANDS, 'Command to run')
50
- @op.on('--db=DB', "Use DB file instead of Calendar (default: #{$defaults[:common][:db]})",
50
+ @op.on('--db=DB', "Use DB file instead of Calendar",
51
+ "(default: #{$defaults[:common][:db]}",
51
52
  'For the tasks commands this should be a directory containing .sqlite files',
52
53
  "(default: #{$defaults[:tasks][:db]})")
53
54
  @op.on('--cf=FILE', "Set config file path (default: #{$defaults[:common][:cf]})")
@@ -220,6 +221,10 @@ module ICalPal
220
221
  opts[:cmd] = "tasks" if opts[:cmd] == "datedTasks"
221
222
  opts[:cmd] = "tasks" if opts[:cmd] == "undatedTasks"
222
223
 
224
+ # Make sure opts[:db] and opts[:tasks] are Arrays
225
+ opts[:db] = [ opts[:db] ] unless opts[:db].is_a?(Array)
226
+ opts[:tasks] = [ opts[:tasks] ] unless opts[:db].is_a?(Array)
227
+
223
228
  # All kids love log!
224
229
  $log.level = opts[:debug]
225
230
 
data/lib/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module ICalPal
2
2
  NAME = 'icalPal'
3
- VERSION = '3.0.0'
3
+ VERSION = '3.1.1'
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: icalPal
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Rosen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-11 00:00:00.000000000 Z
11
+ date: 2024-11-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sqlite3
@@ -82,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  requirements: []
85
- rubygems_version: 3.5.18
85
+ rubygems_version: 3.5.23
86
86
  signing_key:
87
87
  specification_version: 4
88
88
  summary: Command-line tool to query the macOS Calendar