From c97a23387987734641832a310f84329406b38a7d Mon Sep 17 00:00:00 2001 From: Olivier Matz Date: Wed, 12 May 2021 10:18:41 +0200 Subject: [PATCH 1/1] init --- vitemadose-check.py | 30 ++++++++++++++++++++++++++++++ vitemadose-check.sh | 27 +++++++++++++++++++++++++++ vitemadose.png | Bin 0 -> 13736 bytes 3 files changed, 57 insertions(+) create mode 100644 vitemadose-check.py create mode 100755 vitemadose-check.sh create mode 100644 vitemadose.png diff --git a/vitemadose-check.py b/vitemadose-check.py new file mode 100644 index 0000000..c5f0ac9 --- /dev/null +++ b/vitemadose-check.py @@ -0,0 +1,30 @@ +import json +import os +import sys + +def print_chronodose(basedir, dept): + print('------ %d' % (dept)) + filename = os.path.join(basedir, '%d.json' % dept) + with open(filename) as f: + jdata = json.load(f) + + for centre in jdata['centres_disponibles']: + appointment_schedules = centre.get('appointment_schedules') + if not appointment_schedules: + continue + for appointment_schedule in appointment_schedules: + name = appointment_schedule.get('name') + total = appointment_schedule.get('total') + if name == 'chronodose' and total != 0: + break + else: + continue + + print(centre['nom']) + print(f' {total} creneau(x) chronodose') + print(f' {centre["url"]}') + print(' %s' % ', '.join(centre["vaccine_type"])) + +basedir = sys.argv[1] +print_chronodose(basedir, 59) +print_chronodose(basedir, 62) diff --git a/vitemadose-check.sh b/vitemadose-check.sh new file mode 100755 index 0000000..fd9dcfc --- /dev/null +++ b/vitemadose-check.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +ROOTDIR=$(dirname $(readlink -e $0)) +touch ${ROOTDIR}/last +other_pids=$(pidof -x -o $$ vitemadose-check.sh) +[ -n "${other_pids}" ] && kill ${other_pids} + +while true; do + mv ${ROOTDIR}/last ${ROOTDIR}/prev + #git pull --rebase + rm -f ${ROOTDIR}/rdv.zip + rm -rf ${ROOTDIR}/rdv + wget -O ${ROOTDIR}/rdv.zip https://gitlab.com/ViteMaDose/vitemadose/-/jobs/artifacts/main/download?job=trouver_les_rdv + mkdir ${ROOTDIR}/rdv + cd ${ROOTDIR}/rdv + unzip ../rdv.zip + cd ${ROOTDIR} + python3 vitemadose-check.py ${ROOTDIR}/rdv/data/output > ${ROOTDIR}/last + if ! cmp -s last prev; then + echo "nouveaux creneaux" + notify-send -i $PWD/vitemadose.png "nouveaux creneaux" + fi + echo ================== + cat last + echo ================== + sleep 120 +done diff --git a/vitemadose.png b/vitemadose.png new file mode 100644 index 0000000000000000000000000000000000000000..b77dcf10ec3a4cd9b59d1e2d61aad9734012d83e GIT binary patch literal 13736 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 BOrQV& literal 0 HcmV?d00001 -- 2.20.1