Récupérer un itinéraire sur le réseau CTS - retour accueil
git clone git://bebou.netlib.re/cts
Log | Files | Refs | README |
cts (2473B)
1 #! /bin/sh 2 3 usage() { 4 <<. cat 5 Synopsis : cts [-j jour] [-t heure] [-f] [-d départ] [-i type_départ] [-a arrivée] [-o type_arrivée] [-h] 6 7 Affiche les itinéraires que la CTS propose pour aller de _départ_ à _arrivée_ 8 en partant à _jour_ à _heure_. 9 10 -j : Le jour de départ au format 2025-11-23. La valeur par défaut est 11 aujourd'hui. 12 -f : si -t doit être l'heure d'arrivée. En son absence -t est l'heure de départ. 13 -t : L'heure de départ au format 18h23. La valeur par défaut est maintenant. 14 -d : L'identifiant du lieu de départ. La valeur par défaut est l'arrêt 15 Boecklin. 16 -i : Le type de lieu du départ 17 -a : L'identifiant du lieu d'arrivée. La valeur par défaut est l'arrêt Gare 18 Centrale. 19 -o : Le type de lieu d'arrivé 20 . 21 } 22 23 imprimer() { 24 if [ "$1" = "trajet" ];then 25 <<. cat 26 --------------------------- 27 Départ $heuredep à $arrdep 28 Arrivée $heurearr à $arrarr 29 Durée : ${duree}m 30 ---- 31 . 32 else 33 <<. cat 34 $type $num 35 $heuredepsection $arrdepsection 36 $heurearrsection $arrarrsection 37 . 38 fi 39 } 40 41 # Les variables par défaut 42 j=$(date +"%Y%%2F%m%%2F%d") 43 f=0 44 h=$(date +%H) 45 m=$(date +%M) 46 # Boecklin 47 d="143972";i="STOP_PLACE" 48 # Gare centrale 49 a="144528";o="STOP_PLACE" 50 while getopts "hfj:t:d:i:a:o:" opt;do 51 case $opt in 52 ( h ) usage;exit 0;; 53 ( f ) f=1 ;; 54 ( d ) d="$OPTARG" ;; 55 ( i ) i="$OPTARG" ;; 56 ( a ) a="$OPTARG" ;; 57 ( o ) o="$OPTARG" ;; 58 ( j ) j="$(echo "$OPTARG" | sed 's,[-/],%2F,g')";; 59 ( t ) 60 h=$(echo "$OPTARG" | cut -f1 -d'h') 61 m=$(echo "$OPTARG" | cut -f2 -d'h') ;; 62 ( * ) usage;exit 1 63 esac 64 done 65 66 tmp=$(mktemp) 67 curl -Ls 'https://www.cts-strasbourg.eu/system/modules/eu.cts.module.itineraire/actions/action_gettrips.jsp' \ 68 -H 'content-type: application/x-www-form-urlencoded; charset=UTF-8' \ 69 --data-raw "date=$j&hour=$h&minute=$m&depOrArrFlag=$f&departure=$d&depType=$i&arrival=$a&arrType=$o&algorithm=FASTEST&train=true&bus=true&tram=true&car=true&depInsee=67482&arrInsee=67482" | 70 jq -r ' 71 .trips[] | 72 ( .departureStop | "heuredep="+.hour.value, "arrdep="+.name.value), 73 ( .arrivalStop | "heurearr="+.hour.value, "arrarr="+.name.value), 74 "duree="+(.duration.value | tostring), 75 "imprimer trajet", 76 ( .sections[] | 77 "type="+.type.value, 78 "num="+.lineNumber.value, 79 "arrdepsection="+.depStop.value, 80 "heuredepsection="+.depHour.value, 81 "arrarrsection="+.arrStop.value, 82 "heurearrsection="+.arrHour.value, 83 "imprimer section")' | sed 's/=/="/;/=/ s/$/"/' > "$tmp" 84 . "$tmp"