add scripts to record/show my iCloud usage
- ID
cc780f0- date
2022-09-13 15:56:59+00:00- author
Alex Chan <alex@alexwlchan.net>- parent
beb70b4- message
add scripts to record/show my iCloud usage- changed files
2 files, 36 additions
Changed files
record_icloud_usage (0) → record_icloud_usage (164)
diff --git a/record_icloud_usage b/record_icloud_usage
new file mode 100755
index 0000000..85958d2
--- /dev/null
+++ b/record_icloud_usage
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+
+set -o errexit
+set -o nounset
+
+CAPACITY="$1"
+AVAILABLE="$2"
+
+echo "$(date +"%Y-%m-%dT%H:%M:%S %z"),$CAPACITY,$AVAILABLE" >> ~/iCloud/usage.csv
show_icloud_usage (0) → show_icloud_usage (601)
diff --git a/show_icloud_usage b/show_icloud_usage
new file mode 100755
index 0000000..81da1e5
--- /dev/null
+++ b/show_icloud_usage
@@ -0,0 +1,27 @@
+#!/usr/bin/env python3
+
+import csv
+import os
+
+import dateparser
+import matplotlib.pyplot as plt
+
+
+if __name__ == '__main__':
+ csv_path = os.path.join(os.environ['HOME'], 'iCloud', 'usage.csv')
+
+ with open(csv_path) as infile:
+ reader = csv.DictReader(infile)
+ rows = [
+ (dateparser.parse(r['date']), int(r['capacity']) - float(r['available']))
+ for r in reader
+ ]
+
+ f, ax = plt.subplots(1)
+
+ times = [t for (t, _) in rows]
+ values = [used_space for (_, used_space) in rows]
+
+ ax.plot(times, values)
+ # ax.set_ylim(ymin=0)
+ plt.show()