icalPal 1.0.0 → 1.0.2
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/README.md +45 -16
- data/icalPal.gemspec +1 -1
- data/lib/options.rb +2 -2
- data.tar.gz.sig +0 -0
- metadata +28 -3
- 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: c99019fe1ea3b8cf003d5c153873acbfdd6a03c7ae21cf17d7c17d448c3a12de
|
4
|
+
data.tar.gz: 3b7d9807aaf4189a99afdebe12c561138bfbebfc5a4faba22cf5b97e4453c86d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 93d335a0254948ac0ba398b2166592fa9098c9e1d903216cc09e9073ec032e2dab80048f50d687b097ab01ae11c96bc906e284dfa0cf5b1751b10d8ee01af1e7
|
7
|
+
data.tar.gz: 69608d4a99241f863083db2ccb66c40da5ceae96d53f28d2f3b0b532200d856407d7f8ccdf53d465ef48a4679f2faf92d8a15b6740ce3ae0ab3110e1d43c1512
|
checksums.yaml.gz.sig
ADDED
Binary file
|
data/README.md
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
[![Gem Version](https://badge.fury.io/rb/icalPal.svg)](https://badge.fury.io/rb/icalPal)
|
2
|
+
|
1
3
|
# icalPal
|
2
4
|
|
3
5
|
## Description
|
@@ -9,12 +11,49 @@ file.
|
|
9
11
|
|
10
12
|
## Installation
|
11
13
|
|
12
|
-
|
14
|
+
```
|
15
|
+
gem install icalPal
|
16
|
+
icalPal events
|
17
|
+
```
|
18
|
+
|
19
|
+
A [Homebrew](https://brew.sh) formula is in the works.
|
20
|
+
|
21
|
+
## Features
|
22
|
+
|
23
|
+
### Compatability with [icalBuddy](https://github.com/ali-rantakari/icalBuddy)
|
24
|
+
|
25
|
+
icalPal tries to be compatible with icalBuddy for command-line options
|
26
|
+
and for output. There are a few differences to be aware of.
|
27
|
+
|
28
|
+
* Options require two hyphens, except for single-letter options that require one hyphen
|
29
|
+
* *eventsFrom* is not supported. Instead there is *--from*, *--to*, and *--days*
|
30
|
+
* icalPal does not support the *tasks* commands yet
|
31
|
+
* The command can go anywhere; it doesn't have to be the last argument
|
32
|
+
* Property separators are comma-delimited
|
33
|
+
|
34
|
+
### Additional commands
|
13
35
|
|
36
|
+
```icalPal accounts```
|
37
|
+
|
38
|
+
Shows a list of enabled Calendar accounts. Internally they are known as *Stores*; you can run ```icalPal stores``` instead.
|
39
|
+
|
40
|
+
### Additional options
|
41
|
+
|
42
|
+
* Options can be abbreviated, so long as they are unique. Eg., ```icalPal -c ev --da 3``` is the same as ```icalPal -c events --days 3```.
|
43
|
+
* The ```-c``` part is optional, but you cannot abbreviate the command if you leave it off.
|
44
|
+
* Use ```-o``` to print the output in different formats. CSV or JSON are intertesting choices.
|
45
|
+
* Copy your Calendar database file and use ```--db``` on it.
|
46
|
+
* ```--it``` and ```--et``` will filter by Calendar *type*. Types are **Local**, **Exchange**, **CalDAV**, **MobileMe**, **Subscribed**, and **Birthdays**
|
47
|
+
* ```--ia``` includes *only* all-day events (opposite of ```--ea```)
|
48
|
+
* ```--aep``` is like ```--iep```, but *adds* to the default property list instead of replacing it.
|
49
|
+
* ```--sep``` to separate by any property, not just calendar (```--sc```) or date (```--sd```)
|
50
|
+
* ```--color``` uses a wider color palette. Calendar colors are what you have chosen in the Calendar app. Not supported in all terminals, but looks great in [iTerm2](https://iterm2.com/).
|
51
|
+
|
52
|
+
Because icalPal is written in Ruby, and not a native Mac application, you can run it just about anywhere. It's been tested with version of Ruby (2.6.10) included with macOS, and does not require any external dependencies.
|
14
53
|
|
15
54
|
## Usage
|
16
55
|
|
17
|
-
|
56
|
+
icalPal: Usage: icalPal [options] [-c] COMMAND
|
18
57
|
|
19
58
|
COMMAND must be one of the following:
|
20
59
|
|
@@ -117,10 +156,6 @@ Environment variables:
|
|
117
156
|
|
118
157
|
## History
|
119
158
|
|
120
|
-
If you've found this page it's likely you've heard of [icalBuddy](https://github.com/ali-rantakari/icalBuddy):
|
121
|
-
|
122
|
-
> Command-line utility for printing events and tasks from the OS X calendar database.
|
123
|
-
|
124
159
|
I have used icalBuddy for many years. It's great for scripting,
|
125
160
|
automation, and as a desktop widget for apps like
|
126
161
|
[GeekTool](https://www.tynsoe.org/geektool/) and
|
@@ -132,15 +167,9 @@ years ago. It's only thanks to the efforts of [Jim
|
|
132
167
|
Lawton](https://github.com/jimlawton) that it even compiles anymore.
|
133
168
|
|
134
169
|
Instead of trying to understand and extend the existing code, I chose
|
135
|
-
to start anew using my language of choice.
|
136
|
-
|
137
|
-
|
138
|
-
- Enhanced color option[#label-Usage]
|
139
|
-
- Show and filter by Account
|
140
|
-
- Show and filter by Calendar type
|
141
|
-
- Select a different Calendar database
|
142
|
-
- Multi-platform
|
143
|
-
- Much less code (1200 lines vs. 7000)
|
170
|
+
to start anew using my language of choice. Using Ruby means icalPal
|
171
|
+
is multi-platform. It also meant *much* less code; about 1,200 lines
|
172
|
+
vs. 7,000.
|
144
173
|
|
145
174
|
I won't pretend to understand **why** you would want this on Linux or
|
146
175
|
Windows. But since icalPal is written in Ruby and gets its data
|
@@ -148,7 +177,7 @@ directly from the Calendar database file instead of an API, you *can*.
|
|
148
177
|
|
149
178
|
## Output formats
|
150
179
|
|
151
|
-
icalPal supports several output formats. The
|
180
|
+
icalPal supports several output formats. The **default** format tries
|
152
181
|
to mimic icalBuddy as much as possible.
|
153
182
|
|
154
183
|
CSV, Hash, JSON, and YAML print all fields for all items in their
|
data/icalPal.gemspec
CHANGED
data/lib/options.rb
CHANGED
@@ -23,7 +23,7 @@ module ICalPal
|
|
23
23
|
@op = OptionParser.new
|
24
24
|
@op.summary_width = 23
|
25
25
|
@op.banner += " [-c] COMMAND"
|
26
|
-
@op.version = '1.0'
|
26
|
+
@op.version = '1.0.2'
|
27
27
|
|
28
28
|
@op.accept(ICalPal::RDT) { |s| ICalPal::RDT.conv(s) }
|
29
29
|
|
@@ -171,7 +171,7 @@ module ICalPal
|
|
171
171
|
@op.parse!(into: cli)
|
172
172
|
@op.parse!(ENV['ICALPAL'].split, into: env) rescue nil
|
173
173
|
cli[:cf] ||= ENV['ICALPAL_CONFIG'] || $defaults[:common][:cf]
|
174
|
-
@op.parse!(
|
174
|
+
@op.parse!(File.read(File.expand_path(cli[:cf])).split, into: cf) rescue nil
|
175
175
|
|
176
176
|
cli[:cmd] ||= @op.default_argv[0]
|
177
177
|
cli[:cmd] = 'stores' if cli[:cmd] == 'accounts'
|
data.tar.gz.sig
ADDED
Binary file
|
metadata
CHANGED
@@ -1,14 +1,39 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: icalPal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Rosen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
|
10
|
+
cert_chain:
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIID/jCCAmagAwIBAgIBBDANBgkqhkiG9w0BAQsFADAlMSMwIQYDVQQDDBphanIv
|
14
|
+
REM9Y29ycC9EQz1tbGZzL0RDPW9yZzAeFw0yMzAyMjMyMDEzMjBaFw0yNDAyMjMy
|
15
|
+
MDEzMjBaMCUxIzAhBgNVBAMMGmFqci9EQz1jb3JwL0RDPW1sZnMvREM9b3JnMIIB
|
16
|
+
ojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAqQ2xCUJ4wY8WujSzYd3OGTbj
|
17
|
+
JDMeU44pXOTLc49Rs8ydukGfd0YBvYMzifmiVRj6depGx2+Ln28Y2mT6IB+zHq8X
|
18
|
+
s1lrMdFCReztJjQ7OYS16YcZ6pmLkYClnHN3VNqayk1lQEJGCr8aawMeroSB01om
|
19
|
+
d5wqDATnKEG3x4bnlxFJb3LHzUG1CgNuVCuNREi8zN/uYdm2MGe1fTJguy4/vzBQ
|
20
|
+
/FnAMt1mr3LtM6YZRGaitIlOKBV/08v7fjH31KRmSMMHPq6A+WyWKRNKnK3tHpSN
|
21
|
+
JbnFW7mFQGtBpfh8zY8OCQ76Aw8cb5bEIPTI+Hd4FoJLPKnexTI28endSLigOUCF
|
22
|
+
76kLOiVOVOjdqZ8vEdSgWVugEAzIC30xW5b8yD6N7GdT7n3ktgoZu7jZMUW3D6PQ
|
23
|
+
wS6BaABVsXbeVtFrzK2tQ65EwLfRluRLTfbnQ7qvMIYCwC3Ib9DTMLavCiOot1vc
|
24
|
+
RBWXIrDex0tt3EN0dDIxP9O+7ciDgM4zPe6BvaF/AgMBAAGjOTA3MAkGA1UdEwQC
|
25
|
+
MAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBRDowzw+kmcX6FV7T9BkQsUgmzLZjAN
|
26
|
+
BgkqhkiG9w0BAQsFAAOCAYEAV5j0cxPzFyLXyohgiT0DsruPVcNuICp+gcZ1xSeF
|
27
|
+
8z1Sp3Nv8IYOpTc11nDoNCtKHMffd+tKH0nIvp3lGaYfVYJsCfuT56pqmgZiR50S
|
28
|
+
QmlfH+EPXjTlrtg6VJPFzxflqrb4kl+Eaxt67RYbOgVgviXfue2ytKywxnyWGML6
|
29
|
+
EeA+y656Lalvu5XfjLuuqYLIUDJ+jyZDjTsDbUkzPbC/y1i0z4KycRnzETCSryvN
|
30
|
+
HI40svbvW9H+OT3D381Hvk760soXcLgrLA1hz5XQwDBFs7N/U7PeztxuurOw4NOb
|
31
|
+
ctKe1VpldN1JTHdz6u7TAGy0NjC86DF05fvAsEn1baKVZz5P+2OG2FEc+4NWa8/T
|
32
|
+
+v11ZpnzUfxx2TyCM1hTTaphxjAWEYeeylK+ozjZCopJLNkw6uXuni6TrUUQWRAs
|
33
|
+
PDmWrfNO9LeQhiYLyVsOQ1xuWKDF0acQFAVIZctRp4VuZZMVqis4FRmqMdZcB/R2
|
34
|
+
HaQXi3DWVibRuVZ3N77DWUKG
|
35
|
+
-----END CERTIFICATE-----
|
36
|
+
date: 2023-02-25 00:00:00.000000000 Z
|
12
37
|
dependencies: []
|
13
38
|
description: |
|
14
39
|
Inspired by icalBuddy and maintains close compatability. Includes
|
metadata.gz.sig
ADDED
Binary file
|