Uno script per scaricare i dati da soldipubblici

32 views
Skip to first unread message

andy

unread,
Apr 19, 2018, 3:38:27 AM4/19/18
to opendatasicilia
Ciao,
Paolo ha chiesto su Telegram come usare in modo pianificato uno script che scarica i dati per un comune da soldipubblici.

Apro un thread qui, perché la cosa sembra di interesse e perché Paolo ha bisogno di un supporto nella configurazione di base.
E poi perché pensiamo che intasare una chat di gruppo, con troppi pezzi di codice, sia inappropriato, perché non tutti sono interessati.

Saluti

--
___________________

Andrea Borruso
website: https://medium.com/tantotanto
38° 7' 48" N, 13° 21' 9" E, EPSG:4326
___________________

"cercare e saper riconoscere chi e cosa,
 in mezzo all’inferno, non è inferno, 
e farlo durare, e dargli spazio"

Italo Calvino

pablo persico

unread,
Apr 19, 2018, 3:47:01 AM4/19/18
to opendat...@googlegroups.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.

I requisiti per lo script sono (così come indicato): 
httpie
jq
csvkit

Con quest'ultimo ho problemi in quanto su centos non riesco a trovare il pacchetto.




--
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.

andy

unread,
Apr 19, 2018, 3:54:55 AM4/19/18
to opendatasicilia

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

pablopers

unread,
Apr 19, 2018, 12:05:47 PM4/19/18
to opendatasicilia
Premessa
mentre scrivo Andrea migliora il codice e io gli devo stare dietro :))

Intanto grazie, i comandi che mi hai inviato hanno risolto le dipendenze e lo script funziona alla perfezione generando i due file json e csv. 

ho editato lo script aggiungendo:
1) dopo la chiamata POST il campo
chi='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)###

2) ho spostato il campo 'descrizione_codice'  all'inizio dopo il 'codice_siope'       ##giusto per avere a portata di mano la colonna che descrive le voci di spesa utile per generare un grafico (a barre) e mentre lo scrivo mi accorgo che lo hai già fatto anche tu!##

Un record del mio json:

"codice_siope": "0.00.00.00.000",
    
"descrizione_codice": "Fabbricati ad uso scolastico",
    
"descrizione_ente": "comune+di+vattelapesca",
    
"idtable": "000000000-0.00.00.00.000",
    
"cod_ente": "000000000",
    
"anno": "2018",
    
"periodo": "3",
    
"codice_gestionale": "2.02.01.00.000",
    
"imp_uscite_att": 0000000.35,
    
"data_di_fine_validita": "3999-12-31",
    
"importo_2013": null,
    
"importo_2014": null,
    
"importo_2015": null,
    
"importo_2016": null,
    
"importo_2017": 20283205.66

3) infine ho personalizzato i nomi dei file file che vengono generati
utilizzando il link del server che ho usato riesco ad avere correttamente un link con il file generato

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

andy

unread,
Apr 19, 2018, 12:37:40 PM4/19/18
to opendatasicilia

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 campo
chi='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 generati
utilizzando 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

andy

unread,
Apr 20, 2018, 10:28:32 AM4/20/18
to opendatasicilia

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

pablopers

unread,
Apr 20, 2018, 7:06:10 PM4/20/18
to opendatasicilia
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?

cosa ne farò? semplicissimo: il link ai due file li caricherò sul portale Ckan degli open data dell'Ente dove lavoro. Avrò così il dataset aggiornato settimanalmente (così come previsto da spesapubblica.gov.it) delle spese dell'Ente senza muovere un dito. (ma dopo averti fatto penare giorni). Solo per completezza segnalo che i dati di spesapubblica.gov.it sono rilasciati sotto licenza cc-by 3.0 e che non essendo il portale federato con datigovit è coerente per un portale open data Ckan con dcatapit installato (e quindi federato con datigovit) pubblicare un dataset del genere perché rispetterebbe il principio "once only". Piersoft docet

Infine un colossale e madornale errore lo hai fatto, continui a chiamarmi Paolo quando i miei genitori poco meno di quarant'anni fa hanno fatto un casino per farmi battezzare Pablo!!! :-))

per completezza incollo qui ogni cosa: 
lo script  personalizzato dei dati dell'Ente di mio interesse
#!/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

il file crontab la cui modifica è solo riportata sull'ultima riga
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

infine alcune righe del log di crontab dove per provare la funzionalità ho accorciato a ogni 5 minuti il cron
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)

Grazie ancora!

andy

unread,
Apr 21, 2018, 12:10:16 PM4/21/18
to opendatasicilia
Caro Pablo (e scusa per il "Paolo"),

2018-04-21 1:06 GMT+02:00 pablopers <pablope...@gmail.com>:
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!" :-)

ho perso il papà quando avevo 10 anni e non sono riuscito ad avere figli. In compenso sono uno zio felice e fortunato.
Questa esperienza di sentimenti, ricca di vuoti e pieni, e di esperienza, mi basta per essere certo che tuo figlio ha accanto a sé un gran bel modello a cui puntare.
 
chiacchiere a parte, tutto giusto! e tutto risolto..... Andrea si possono filtrare i dati in modo che appaiano solo quelli con un valore?

Sì. Mi fai un esempio del filtro da applicare?
 
Cosa era che alla fine non faceva funzionare il tutto sul tuo server?

Buona serata

pablopers

unread,
Apr 21, 2018, 1:27:12 PM4/21/18
to opendatasicilia
Dunque, non posso dire con certezza cosa sia realmente accaduto, ma come sempre prima di ogni "smanettamento" che si rispetti faccio il backup dei file a cui metto mano, e se mi trovo nei casini non sostituisco i file, ma li apro e li confronto; quando le cose si sono messe male e nemmeno le istruzioni cron già presenti funzionavano (su quel server gira un crm che usiamo per una sorta di triage ospedaliero all'ufficio URP)  ho confrontato i file e ci ho trovato solo qualche spazio qua e là, e qualche paragrafo vuoto di meno, magari non era quello ma alla fine ha funzionato. 

Il filtro a cui avevo pensato esclude a priori tutti quei record i cui campi "import_anno" (per gli anni precedenti) e il 2018 alla voce ""imp_uscite_att": non siano valorizzati.
nell'esempio che segue solo l'ultimo record (fabbricati ad uso scolastico di cui la CMNA ha competenza) è valorizzato
Grazie sempre e a presto
 
    "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

 
},

andy

unread,
Apr 21, 2018, 1:38:40 PM4/21/18
to opendat...@googlegroups.com
Ciao Pablo,
per il filtro puoi usare il comodissimo csvgrep, che fa parte di csvkit.

Ad esempio il comando di sotto ottieni proprio quello che chiedi.

<./input.csv csvgrep -c "imp_uscite_att,importo_2013,importo_2014,importo_2015,importo_2016,importo_2017" -r "^$" -i >./output.csv

Con "-c" scegli le colonne su cui il filtro deve essere applicato, con "-r" imposti l'espressione regolare da usare come filtro (in questo caso tutte le celle vuote, con -i chiedi il filtro inverso, quindi qui tutti record in cui le colonne (almeno una) non sono vuote.

Saluti

--
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 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

pablopers

unread,
Apr 23, 2018, 5:59:56 PM4/23/18
to opendatasicilia
Buonasera Andrea, 
il filtro funziona perfettamente, e ora nei file creati (csv e json) ci sono solo i dati i cui campi "importo" sono valorizzati.
Lo script da te creato è stato posizionato su una cartella di un server di proprietà dell'Ente, liberamente accessibile dall'esterno, ai seguenti link: 

I seguenti link sono stati inseriti come file di un dataset  sul portale ckan dati aperti della Città Metropolitana di Napoli all'indirizzo: http://dati.cittametropolitana.na.it 
Il portale degli open data della CMNA pur essendo federato con il portale dei dati aperti nazionale dati.gov.it è ancora in versione beta, in attesa cioè che ci sia una presentazione ufficiale (la politica vuole sempre la sua parte) e una nuova interfaccia che rispetti le indicazioni di Design Italia, con il nuovo logo etc etc.
Pertanto siate buoni :-) Il portale è decisamente spartano e  per nulla organizzato e referenziato, è frutto del lavoro di un piccolo ufficio, che ha fatto tutto da solo senza spendere nemmeno un centesimo con interventi di società esterne.
nasce da una passione cominciata sette mesi fa che è cresciuta giorno per giorno e non ha mai smesso di alimentarsi grazie alla comunità Open Data e in particolare a Voi di opendatasicilia, con i vostri spettacolari riusi siete stati e siete ancora un punto di riferimento importante per me e di sicuro per molti altri.

Segnalo infine che le anteprime del portale Ckan dei dati di cui sopra (anteprime che considero praticamente inutili, ma che costantemente mi vengono chieste) non sono attive, immagino ci sia il solito problema con il datastore, che spero di risolvere al più presto. 
I punti di forza e unici dello Script, da te creato, sono sostanzialmente: 
1) la semplicità intesa nel numero di righe da editare
2) la possibilità di usare server propri e non lasciare o far transitare dati di una PA su un cloud gratis
3) l'estrazione temporizzata con il comando nel file cron 
4) la doppia versione del file estratto (CSV e JSON)
5) il filtro sui record che possiedono solo importi valorizzati
e tante altre cose che probabilmente  a quest'ora mi sfuggono. 

Pertanto (ho cambiato idea), visto il fantastico risultato raggiunto se con la tua benedizione ritieni utile una mini guida sono a tua completa disposizione per fornire tutte le informazioni utili alla realizzazione, mi pare il minimo per tutto il lavoro che hai fatto. 

Grazie infinitamente
Pablo   



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.

andy

unread,
Apr 24, 2018, 12:12:25 AM4/24/18
to opendatasicilia
Caro Pablo,
leggendoti ho pensato subito potesse essere un lavoro utile ad altri tuoi colleghi.

Per questa ragione penso possa essere utile un blog post a tema. Io al momento non ho grande tempo a disposizione, ma soprattutto non sono portatore di interesse diretto e non ho messo in piedi un vero caso d'uso. Per questo ti ho fatto la proposta.
Ma sono sono disponibile, se ritieni utile, a fare una supervisione.

Lo pubblicherei sul blog di ODS e/o dove tu preferirai.

Buona giornata a tutti

______
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 opendatasicil...@googlegroups.com.
Per postare in questo gruppo, invia un'email a opendat...@googlegroups.com.
--

______
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.

Andrea Borruso

unread,
Apr 27, 2018, 2:27:38 AM4/27/18
to opendatasicilia
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/

pablo persico

unread,
Apr 27, 2018, 2:56:17 AM4/27/18
to opendat...@googlegroups.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 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.

ciro spataro

unread,
Apr 27, 2018, 4:14:09 AM4/27/18
to opendatasicilia
grazie Pablo per il bel contributo
Il giorno 27 aprile 2018 08:56, pablo persico <pablope...@gmail.com> ha scritto:
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.

--
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.
Reply all
Reply to author
Forward
0 new messages