I created a program that automatically checks the citizenship tracker and alerts me when the status updates. It served me well during my application process (I just got the oath date today). I'm sharing the source code here. Since this was just for personal use, I never made it overly user friendly, and you probably have to be somewhat familiar with the Python ecosystem to make it work. But here it is in case it's useful for anybody:
https://pastebin.com/bZFsp1fD
You can save this in a directory as
Of course, you'd have to fill in your actual UCI and password, and the date of the last update. The application will alert you if a new item appears with a date after
There are three modes of alert: desktop notification (for XDG-type desktops, so Linux and related systems), playing a sound, and sending a message through the Matrix protocol. The configuration file should be pretty self-explanatory. If you put a file called
Every time the code runs, it logs into a file called
I've been checking it every hour by using this Cron line:
Change the bus address as suitable for you (usually you'd replace 1000 with your user id).
From the logs I see that occasionally a check will fail, maybe once every few days. But I sometimes connect to a commercial VPN, and then it always fails. The tracker website blocks connections from that VPN and you can't make an exception because it's behind Amazon CloudFront.
https://pastebin.com/bZFsp1fD
You can save this in a directory as
main.py
. Additionally there should be a file called config.yaml
in the directory, that looks like this:
Code:
uci: "1234567890"
password: "my-tracker-password"
last-updated: 2023-08-14
notification-sound: true
notification-matrix: true
notification-desktop: true
wait: 5
sound: "/usr/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga"
sound-player: "paplay"
matrix-home-server: "matrix.example.com"
matrix-username: "bot"
matrix-password: "bot-matrix-password"
matrix-room: "!AbCdEfGhIjKlMnOpQr:matrix.example.com"
ceremony-started-check: true
last-updated
, and/or the ceremony changed from "Not started" to "In progress" (that is controlled by the ceremony-started-check
boolean parameter).There are three modes of alert: desktop notification (for XDG-type desktops, so Linux and related systems), playing a sound, and sending a message through the Matrix protocol. The configuration file should be pretty self-explanatory. If you put a file called
Canada.png
in the same directory, it will show up in the desktop notification. You should choose a sound file that exists on your system, and set the sound player to something that you can use to play sounds from the command line (e.g. aplay or paplay on Linux).Every time the code runs, it logs into a file called
tracker.log
. If there is an update, once an alert is issued, a file called STOP
is generated which stops the application checking again until the STOP file is removed (then you should also modify the last-updated
config, or it will alert you again for the same thing).I've been checking it every hour by using this Cron line:
Code:
cannot be submitted
From the logs I see that occasionally a check will fail, maybe once every few days. But I sometimes connect to a commercial VPN, and then it always fails. The tracker website blocks connections from that VPN and you can't make an exception because it's behind Amazon CloudFront.