Skip to content

Instantly share code, notes, and snippets.

View rhanka's full-sized avatar

Fabien Antoine rhanka

  • French Administration
  • Paris
View GitHub Profile
@rhanka
rhanka / Projection rapprochée départements français
Last active January 23, 2021 16:22
to use with mapshaper.org, thx to icem7, and gregoire david (france-geojson)
-proj webmercator \
-affine where="code.indexOf('971')==0" shift=6355000,3130000 scale=3 \
-affine where="code.indexOf('972')==0" shift=6680000,3305000 scale=3 \
-affine where="code.indexOf('973')==0" shift=6160000,4520000 scale=0.7 \
-affine where="code.indexOf('974')==0" shift=-5570000,7360000 scale=3 \
-affine where="code.indexOf('976')==0" shift=-4085000,6390000 scale=3
@rhanka
rhanka / wikidata dead french people
Last active February 21, 2021 18:27
wikidata dead french people
select ?person ?personLabel ?firstnameLabel ?lastnameLabel ?birthdateLabel ?birthplaceLabel ?citizenshipLabel ?diedLabel where {
?person wdt:P27 wd:Q142.
?person wdt:P734 ?lastname.
?person wdt:P735 ?firstname.
?person wdt:P569 ?birthdate.
?person wdt:P27 ?citizenship.
?person wdt:P19 ?birthplace.
?person wdt:P570 ?died;
FILTER((?died >= "1970-01-01T00:00:00Z"^^xsd:dateTime))
service wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
#first run
cat wikidata_dead_french_deces_INSEE_1st.csv | sed 's/{.*}//;s/"//g' | awk -F, '{print $1 "," $10*100 "," $13}' | sort -t, +0d -1 +2n -3 -u -k1,1 | awk -F ',' '{print $1 "," $3}' > wikidata_dead_french_deces_INSEE_1st_request.csv
cat wikidata_dead_french_deces_INSEE_1st_request.csv | tail -n +2 | awk -F ',' '{print $1 "\tP9058\t" "\"" $2 "\""}'> wikidata_dead_french_deces_INSEE_1st_request.qs
curl https://quickstatements.toolforge.org/api.php -d action=import -d submit=1 -d username=Rhanka -d "batchname=test" --data-raw "token=$QS_TOKEN" --data-urlencode data@wikidata_dead_french_deces_INSEE_1st_request.qs
#second run
cat 20200302_wikidata_dead_french_unmatched_deces_INSEE.csv | sed 's/{.*}//;s/"[^"]*"//g' | awk -F, '($NF ~ /auto|true|check/){print $1 "," $11*100 "," $14 "," $NF }' | sort -t, -k1,1 -k2,2nr | sort -t, -u -k1,1 | awk -F, '{print $1 "\tP9058\t" "\"" $3 "\""}' > 20200302_wikidata_dead_french_unmatched_deces_INSEE.qs
curl https://quickstatements.toolforge.org/api.php -d action=impor
@rhanka
rhanka / ccass_to_json.sh
Last active June 16, 2021 23:03
cass to json
for file in $(find . -iname '*xml');do echo $file; (cat $file | xq '. | { chamber: (.TEXTE_JURI_JUDI.META.META_SPEC.META_JURI_JUDI.FORMATION | sub(".*_(?<x>...).*"; "\(.x)") | ascii_downcase), decision_date: .TEXTE_JURI_JUDI.META.META_SPEC.META_JURI.DATE_DEC, ecli: (if (.TEXTE_JURI_JUDI.META.META_SPEC.META_JURI_JUDI.ECLI != null) then .TEXTE_JURI_JUDI.META.META_SPEC.META_JURI_JUDI.ECLI else .TEXTE_JURI_JUDI.META.META_COMMUN.ID end), jurisdiction: (.TEXTE_JURI_JUDI.META.META_SPEC.META_JURI.JURIDICTION | sub("Cour de cassation"; "cc")), number: (if (.TEXTE_JURI_JUDI.META.META_SPEC.META_JURI_JUDI.NUMEROS_AFFAIRES.NUMERO_AFFAIRE | type=="string") then .TEXTE_JURI_JUDI.META.META_SPEC.META_JURI_JUDI.NUMEROS_AFFAIRES.NUMERO_AFFAIRE else .TEXTE_JURI_JUDI.META.META_COMMUN.ID end), publication: ["b","c"], solution: (if (.TEXTE_JURI_JUDI.META.META_SPEC.META_JURI.SOLUTION != null) then (.TEXTE_JURI_JUDI.META.META_SPEC.META_JURI.SOLUTION | ascii_downcase) else "aucune" end), update_date: .TEXTE_JURI_JUDI.META.META_SPEC.ME