--
Sito: http://opendatasicilia.it
Facebook: https://www.facebook.com/groups/opendatasicilia/
twitter: http://twitter.com/opendatasicilia
Gruppo Telegram: https://t.me/opendatasicilia
Slack: http://opendatasicilia.it/slack/
---
Hai ricevuto questo messaggio perché sei iscritto al gruppo "opendatasicilia" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a opendatasicil...@googlegroups.com.
Per postare in questo gruppo, invia un'email a opendat...@googlegroups.com.
Visita questo gruppo all'indirizzo https://groups.google.com/group/opendatasicilia.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/opendatasicilia/CAHEdGZPGP1DbiXCDbk4_aSa1pHQk_JedRR6xyEAB8EvnJejf8g%40mail.gmail.com.
Per altre opzioni visita https://groups.google.com/d/optout.
Ciao,
2018-04-19 9:46 GMT+02:00 pablo persico <pablope...@gmail.com>:
Premessa doverosa, sono d'accordo con te Andrea.L'obiettivo è ottenere un CSV e magari anche un json che vengano estratti con cadenza settimanale avendo sempre lo stesso nome, così che possano essere linkati ovunque mantenendo la caratteristica dell'aggiornamento settimanale così come previsto da soldipubblici.gov.it.
non ho mai usato centos, ma ho raccolto roba sul web, per installare le utilities richieste.
Con privilegi di sudo:
sudo yum install epel-release -y
sudo yum install jq -y
sudo yum install -y python-pip
sudo pip install httpie
sudo pip install csvkit
Per pianificare lo script in modo che possa essere eseguito una volta a settmana, c’è da impostare cron in questo modo:
0 4 */7 * * root /var/progetti/soldipubblici/script.sh > /dev/null 2>&1
0 4 */7 * *
= ogni 7 giorni alle 4:00
Questo in super sintesi.
Facci sapere
Ciao Paolo,
2018-04-19 18:05 GMT+02:00 pablopers <pablope...@gmail.com>:
ho editato lo script aggiungendo:1) dopo la chiamata POST il campochi='nome+del+comune+o+ente' ###preso dal file anagrafe siope che si trova qui - questo campo valorizza il campo descrizione ente (poco utile nel csv ma utilissimo per il file json)###
io l’ho rimosso volutamente, perché il campo cod_ente
identifica già l’ente. Se serve però una qualche etichetta, per grafici o per tabelle multi Comune, hai ragione, è comodo.
3) infine ho personalizzato i nomi dei file file che vengono generatiutilizzando il link del server che ho usato riesco ad avere correttamente un link con il file generato
Non sono sicuro di avere capito :)
Perché non pubblichi anche tu lo script su gist e lo condividi?? È poco più di un copia e incolla.
Relativamente al Cron mi sono bloccato; tra il file crontab, le cartelle cron.daily cron.week etc, cron.d etc etc.ho risolto parzialmente inserendo la stringa in /var/spool/cron/root evitando l'utente nella stringa e pare che il cron parta ma i file se li crea sono vuoti, per contro il log di cron sembra apposto a questo punto forse i permessi potrebbero essere la causa nel senso che il file viene creato ma non scritto. magari ho detto una scemenza.grazie mille Andrea per la smisurata pazienza, ci aggiorniamo
Devi modificare il file /etc/crontab
e aggiungere una stringa come
0 4 */7 * * root /var/progetti/soldipubblici/script.sh > /dev/null 2>&1
E so che l’hai fatto.
Modifica lo script mettendo i percorsi assoluti degli eseguibili. Per farlo scrivi ad esempio nella shell which in2csv
, in risposta avrai qualcosa come /usr/local/bin/in2csv
, ovvero il path assoluto dell'eseguibile.
Nello script, cambia quindi in2csv
in /usr/local/bin/in2csv
. Fai lo stesso per jq e http.
Che uso sta facendo dei file prodotti dallo script?
Saluti
Ciao Paolo,
2018-04-19 18:05 GMT+02:00 pablopers <pablope...@gmail.com>:
Relativamente al Cron mi sono bloccato; tra il file crontab, le cartelle cron.daily cron.week etc, cron.d etc etc.ho risolto parzialmente inserendo la stringa in /var/spool/cron/root evitando l'utente nella stringa e pare che il cron parta ma i file se li crea sono vuoti, per contro il log di cron sembra apposto a questo punto forse i permessi potrebbero essere la causa nel senso che il file viene creato ma non scritto. magari ho detto una scemenza.grazie mille Andrea per la smisurata pazienza, ci aggiorniamo
penso di avere trovato il problema: se si lancia http da cron, bisogna aggiungere l’opzione --ignore-stdin
.
Quindi
/usr/local/bin/http -f POST http://soldipubblici.gov.it/it/ricerca
diventa
/usr/local/bin/http --ignore-stdin -f POST http://soldipubblici.gov.it/it/ricerca
Facci sapere
#!/bin/bash
### requisiti ###
# httpie
# jq
# csvkit
### requisiti ###
### leggimi ###
# In questo esempio, a partire dal codice ente del Città Metropolitana di Napoli (`800000720'), vengono scaricati i dati
# sulle spese fatte da questa PA.
### leggimi ###
# scegliere e impostare la cartella di output
cartella="/var/www/html/soldipubblici"
# inserire codice dell'ente
codente="800000720"
# inserire il nome dell'ente
namente="Citta+metropolitana+di+napoli"
/usr/bin/http --ignore-stdin -f POST http://soldipubblici.gov.it/it/ricerca x-requested-with:XMLHttpRequest codicecomparto='PRO' codiceente=''"$codente"'' chi=''"$namente"'' | \
/usr/bin/jq '[.data|.[]|{codice_siope,descrizione_codice,descrizione_ente,idtable,cod_ente,anno,periodo,codice_gestionale,
imp_uscite_att:(if .imp_uscite_att == null then null else .imp_uscite_att|tonumber/100 end),
data_di_fine_validita,
importo_2013:(if .importo_2013 == null then null else .importo_2013|tonumber/100 end),
importo_2014:(if .importo_2014 == null then null else .importo_2014|tonumber/100 end),
importo_2015:(if .importo_2015 == null then null else .importo_2015|tonumber/100 end),
importo_2016:(if .importo_2016 == null then null else .importo_2016|tonumber/100 end),
importo_2017:(if .importo_2017 == null then null else .importo_2017|tonumber/100 end)}]' | \
tee "$cartella"/02_"cmna".json | /usr/bin/in2csv -I -f json >"$cartella"/01_"cmna".csv
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
0 4 */7 * * root /var/www/html/soldipubblici/getspscript.sh > /dev/null 2>&1
Apr 20 23:50:01 dbvtiger04 CROND[13756]: (root) CMD (/var/www/html/soldipubblici/getspscript.sh > /dev/null 2>&1)
Apr 20 23:55:01 dbvtiger04 CROND[13781]: (root) CMD (/var/www/html/soldipubblici/getspscript.sh > /dev/null 2>&1)
Apr 21 00:00:01 dbvtiger04 CROND[13806]: (root) CMD (/var/www/html/soldipubblici/getspscript.sh > /dev/null 2>&1)
Apr 21 00:05:01 dbvtiger04 CROND[13831]: (root) CMD (/var/www/html/soldipubblici/getspscript.sh > /dev/null 2>&1)
Apr 21 00:10:01 dbvtiger04 CROND[13856]: (root) CMD (/var/www/html/soldipubblici/getspscript.sh > /dev/null 2>&1)
Apr 21 00:15:01 dbvtiger04 CROND[13898]: (root) CMD (/var/www/html/soldipubblici/getspscript.sh > /dev/null 2>&1)
Buonasera e scusate l'ora,dunque Andrea sei un mito! La tenacia e la determinazione al netto della straordinaria conoscenza affiancata ad una velocità di elaborazione della soluzione e della risposta è qualcosa che in vita mia non ho mai visto! il bello è che sembri divertirti quindi ho deciso; quando mio figlio avrà dubbi su chi vuole essere da grande senza mezzi termini gli dirò "sii Andrea Borruso!" :-)
chiacchiere a parte, tutto giusto! e tutto risolto..... Andrea si possono filtrare i dati in modo che appaiano solo quelli con un valore?
"codice_siope": "1.05.01.11.001",
"descrizione_codice": "Imposta unica sui concorsi pronostici e sulle scommesse",
"descrizione_ente": "CITTA+METROPOLITANA+DI+NAPOLI",
"idtable": "800000720-1.05.01.11.001",
"cod_ente": "800000720",
"anno": "2018",
"periodo": "3",
"codice_gestionale": "1.05.01.11.001",
"imp_uscite_att": null,
"data_di_fine_validita": "2017-03-31",
"importo_2013": null,
"importo_2014": null,
"importo_2015": null,
"importo_2016": null,
"importo_2017": null
},
{
"codice_siope": "4.02.01.04.001",
"descrizione_codice": "Rimborso finanziamenti a breve termine a imprese controllate",
"descrizione_ente": "CITTA+METROPOLITANA+DI+NAPOLI",
"idtable": "800000720-4.02.01.04.001",
"cod_ente": "800000720",
"anno": "2018",
"periodo": "3",
"codice_gestionale": "4.02.01.04.001",
"imp_uscite_att": null,
"data_di_fine_validita": "3999-12-31",
"importo_2013": null,
"importo_2014": null,
"importo_2015": null,
"importo_2016": null,
"importo_2017": null
},
{
"codice_siope": "4.02.01.02.999",
"descrizione_codice": "Rimborso finanziamenti a breve termine a altre Amministrazioni Locali n.a.c.",
"descrizione_ente": "CITTA+METROPOLITANA+DI+NAPOLI",
"idtable": "800000720-4.02.01.02.999",
"cod_ente": "800000720",
"anno": "2018",
"periodo": "3",
"codice_gestionale": "4.02.01.02.999",
"imp_uscite_att": null,
"data_di_fine_validita": "3999-12-31",
"importo_2013": null,
"importo_2014": null,
"importo_2015": null,
"importo_2016": null,
"importo_2017": null
},
{
"codice_siope": "2.02.01.09.003",
"descrizione_codice": "Fabbricati ad uso scolastico",
"descrizione_ente": "CITTA+METROPOLITANA+DI+NAPOLI",
"idtable": "800000720-2.02.01.09.003",
"cod_ente": "800000720",
"anno": "2018",
"periodo": "3",
"codice_gestionale": "2.02.01.09.003",
"imp_uscite_att": 2209691.35,
"data_di_fine_validita": "3999-12-31",
"importo_2013": null,
"importo_2014": null,
"importo_2015": null,
"importo_2016": null,
"importo_2017": 20283205.66
},
--
Sito: http://opendatasicilia.it
Facebook: https://www.facebook.com/groups/opendatasicilia/
twitter: http://twitter.com/opendatasicilia
Gruppo Telegram: https://t.me/opendatasicilia
Slack: http://opendatasicilia.it/slack/
---
Hai ricevuto questo messaggio perché sei iscritto al gruppo "opendatasicilia" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a opendatasicil...@googlegroups.com.
Per postare in questo gruppo, invia un'email a opendat...@googlegroups.com.
Visita questo gruppo all'indirizzo https://groups.google.com/group/opendatasicilia.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/opendatasicilia/1fc2a8dd-0b9b-4a54-8623-ae3bac67fbc5%40googlegroups.com.
Per altre opzioni visita https://groups.google.com/d/optout.
______
Scusami per la brevità, ti sto scrivendo dal cellulare.
website: https://medium.com/tantotanto
38° 7' 48" N, 13° 21' 9" E EPSG:4326
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a opendatasicilia+unsubscribe@googlegroups.com.
Per postare in questo gruppo, invia un'email a opendatasicilia@googlegroups.com.
Visita questo gruppo all'indirizzo https://groups.google.com/group/opendatasicilia.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/opendatasicilia/1fc2a8dd-0b9b-4a54-8623-ae3bac67fbc5%40googlegroups.com.
Per altre opzioni visita https://groups.google.com/d/optout.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a opendatasicil...@googlegroups.com.
Per postare in questo gruppo, invia un'email a opendat...@googlegroups.com.
Visita questo gruppo all'indirizzo https://groups.google.com/group/opendatasicilia.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/opendatasicilia/1fc2a8dd-0b9b-4a54-8623-ae3bac67fbc5%40googlegroups.com.
Per altre opzioni visita https://groups.google.com/d/optout.
--______
Scusami per la brevità, ti sto scrivendo dal cellulare.website: https://medium.com/tantotanto
38° 7' 48" N, 13° 21' 9" E EPSG:4326
--
Sito: http://opendatasicilia.it
Facebook: https://www.facebook.com/groups/opendatasicilia/
twitter: http://twitter.com/opendatasicilia
Gruppo Telegram: https://t.me/opendatasicilia
Slack: http://opendatasicilia.it/slack/
---
Hai ricevuto questo messaggio perché sei iscritto al gruppo "opendatasicilia" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a opendatasicil...@googlegroups.com.
Per postare in questo gruppo, invia un'email a opendat...@googlegroups.com.
Visita questo gruppo all'indirizzo https://groups.google.com/group/opendatasicilia.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/opendatasicilia/306c0788-a8ac-4100-9541-9af4025a8f79%40googlegroups.com.
Questo thread ha prodotto il primo post di Pablo, a cui diamo il benvenuto tra gli autori http://opendatasicilia.it/2018/04/27/i-dati-di-soldipubblici-gov-it-sul-tuo-portale-open-data/
--
Sito: http://opendatasicilia.it
Facebook: https://www.facebook.com/groups/opendatasicilia/
twitter: http://twitter.com/opendatasicilia
Gruppo Telegram: https://t.me/opendatasicilia
Slack: http://opendatasicilia.it/slack/
---
Hai ricevuto questo messaggio perché sei iscritto al gruppo "opendatasicilia" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a opendatasicil...@googlegroups.com.
Per postare in questo gruppo, invia un'email a opendat...@googlegroups.com.
Visita questo gruppo all'indirizzo https://groups.google.com/group/opendatasicilia.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/opendatasicilia/86ee1494-c116-4ed1-b766-f3eee0ba62fb%40googlegroups.com.
Un grazie speciale ad Andrea e a tutti voi! Onorato di fare parte della vostra comunità!Pablo
Il ven 27 apr 2018, 08:27 Andrea Borruso <abor...@gmail.com> ha scritto:
Questo thread ha prodotto il primo post di Pablo, a cui diamo il benvenuto tra gli autori http://opendatasicilia.it/2018/04/27/i-dati-di-soldipubblici-gov-it-sul-tuo-portale-open-data/--
Sito: http://opendatasicilia.it
Facebook: https://www.facebook.com/groups/opendatasicilia/
twitter: http://twitter.com/opendatasicilia
Gruppo Telegram: https://t.me/opendatasicilia
Slack: http://opendatasicilia.it/slack/
---
Hai ricevuto questo messaggio perché sei iscritto al gruppo "opendatasicilia" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a opendatasicilia+unsubscribe@googlegroups.com.
Per postare in questo gruppo, invia un'email a opendatasicilia@googlegroups.com.
Visita questo gruppo all'indirizzo https://groups.google.com/group/opendatasicilia.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/opendatasicilia/86ee1494-c116-4ed1-b766-f3eee0ba62fb%40googlegroups.com.
Per altre opzioni visita https://groups.google.com/d/optout.
--
Sito: http://opendatasicilia.it
Facebook: https://www.facebook.com/groups/opendatasicilia/
twitter: http://twitter.com/opendatasicilia
Gruppo Telegram: https://t.me/opendatasicilia
Slack: http://opendatasicilia.it/slack/
---
Hai ricevuto questo messaggio perché sei iscritto al gruppo "opendatasicilia" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a opendatasicilia+unsubscribe@googlegroups.com.
Per postare in questo gruppo, invia un'email a opendatasicilia@googlegroups.com.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/opendatasicilia/CAEYM4duKtYpZ%3DUeNnr1UHBCTVyx2RVkNRheL%2BYj4MWAN2UTDsg%40mail.gmail.com.