Code Monkey home page Code Monkey logo

Comments (48)

aborruso avatar aborruso commented on August 18, 2024 1

@ebergam funziona, solo che nel frattempo è cambiato l'albo di Amatrice.

Usa questo https://docs.google.com/spreadsheets/d/1JbSBnZoqS1rrW1d3JCGe6NMkV2A-wNkhkuVVYU2bd4A/edit?usp=sharing

from albopop-enhanced.

aborruso avatar aborruso commented on August 18, 2024 1

@ebergam questa la segnalazione ricevuta per Amatrice: http://albopop.it/comune/amatrice/#comment-2906270429

La aggiungo, perché è una cosa bella

from albopop-enhanced.

jenkin avatar jenkin commented on August 18, 2024

La soluzione è semplice: gestire bene i tag <category> previsti dal formato RSS, sia a livello di <channel> (es. comune, provincia, regione, tipologia di pa, latitudine e longitudine), che a livello di <item> (es. post-terremoto), magari condividendo un set di domini (attributo domain) predefinito. Ma la valorizzazione di quei tag è a carico degli scraper...

from albopop-enhanced.

nelsonmau avatar nelsonmau commented on August 18, 2024

falla! 💃

from albopop-enhanced.

aborruso avatar aborruso commented on August 18, 2024

@jenkin costruisci un esempio ciao mondo per un feed RSS tipo, e poi per l'implementazione mi ci metto per il momento io?

from albopop-enhanced.

jenkin avatar jenkin commented on August 18, 2024

Prendo come spunto il feed di Amatrice, eliminando i tag personalizzati di feedburner. L'ideale sarebbe sfruttare l'attributo domain del tag <category> (vedi qui), ma non so bene come farlo al meglio... :)

<channel>
 <title>AlboPOP Amatrice</title>
 <link>https://script.google.com/macros/s/AKfycbwnSCtl7mPwzyjt1CyHhkmSmciwqOuBDz6A-1m78_Uu2ej--xam/exec</link>
 <description>*non ufficiale* RSS feed dell'Albo Pretorio di Amatrice</description>
 <language>it</language>
 <creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
 <image><link>http://creativecommons.org/licenses/by/3.0/</link>
 <url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />

 <category domain="comune">Amatrice</category>
 <category domain="provincia">Rieti</category>
 <category domain="regione">Lazio</category>
 <category domain="latitudine">42.629381</category>
 <category domain="longitudine">13.288372</category>
 <category domain="tipologia_pa">Comune</category>

 <item>
  <title>VINCOLO IDROGEOLOGICO. SIG. RAPONI SERGIO.</title>
  <link>http://halleyweb.com/c057002/mc/mc_gridev_dettaglio.php?x=&amp;interno=1&amp;id_pubbl=5772</link>
  <description>VINCOLO IDROGEOLOGICO. SIG. RAPONI SERGIO.</description>
  <pubDate>Mon, 22 Aug 2016 10:00:00 +0000</pubDate>
  <guid>http://halleyweb.com/c057002/mc/mc_gridev_dettaglio.php?x=&amp;interno=1&amp;id_pubbl=5772</guid>

  <category domain="custom">Post-terremoto 24 agosto 2016</category>

 </item>
</channel>

from albopop-enhanced.

jenkin avatar jenkin commented on August 18, 2024

Hmm, c'è comunque da gestire opportunamente la possibilità di indicare valori multipli di location ed eventualmente aggiungere la variabile generica category: https://github.com/ondata/albopop-enhanced/blob/develop/feed/fromes.inc.php.

from albopop-enhanced.

aborruso avatar aborruso commented on August 18, 2024

@jenkin ho fatto un piccolo avanzamento sulla parte di canale http://feeds.feedburner.com/AlbopopAmatrice

Per ora sto usando le API di OpenCage in modo da stare open, per estrarre provincia, regione e coppia di coordinate. Valori come LAZ per la regione sono quelli esposti da OpenCage.

C'è da allineare i vari script, ma si fa. Inizierò dal fare un'anagrafica degli script.

from albopop-enhanced.

ebergam avatar ebergam commented on August 18, 2024

@aborruso @jenkin che faccio mi fermo finché non abbiamo capito il metodo da tenere? Anzi magari continuo ma senza buttarli su feedburner tenendo traccia degli script google in un'altra colonna, così poi facciamo prima ad andarli a prendere?

from albopop-enhanced.

ebergam avatar ebergam commented on August 18, 2024

@aborruso @jenkin Ora ho visto bene cosa volete fare. Io mi sono fermato prima di toccare feedburner perché non ho capito come aggiungere quei tag a posteriori (date un occhio al foglio). Ma volete modificare lo script di matteo? Se inseriamo altre categorie nel foglio meta colonna G e qua in qualche modo settiamo la categoria in questa parte:

function doGet() { 
  var ss = SpreadsheetApp.openById(ID_SPREADSHEET);

  var metaSheet = ss.getSheetByName('meta');

  var RSSFeedTitle = metaSheet.getRange('G1').getValue();
  var RSSFeedURL = decodeURIComponent(metaSheet.getRange('G2').getValue().trim());
  var RSSFeedDesc = metaSheet.getRange('G3').getValue();

  var dataSheet = ss.getSheetByName('clean');

  var rss=makeRss();

  rss.setTitle(RSSFeedTitle);
  rss.setLink(RSSFeedURL);
  rss.setDescription(RSSFeedDesc);
  rss.setLanguage('it');
  rss.setAtomlink(RSSFeedURL);

  for (var i=2; i < 1000; i++) {
    var riga=dataSheet.getRange(i,1,1,3).getValues();
    var myguid=riga[0][I_HREF];
    var titolo=riga[0][I_TITLE];
    var pDate=riga[0][I_PUBDATE]; 

    //Logger.log('Riga ' + i + ' myguid ' + myguid);
    if (myguid.length == 0) {
      break;
    }

    //var pattern = /(\d{2})\/(\d{2})\/(\d{4})/;
    //var pDateFix=pDate.replace(pattern,'$2/$1/$3')
    var pDateFix=pDate;

    var pubDateDate = new Date(pDateFix + " 12:00");

    rss.addItem({title: titolo,
                 guid:myguid,
                 link: myguid,
                 description: titolo,
                 pubDate: pubDateDate
                             });
        }

  var rssStr=rss.toString();

  //Logger.log(rssStr)

  return ContentService.createTextOutput(rssStr).setMimeType(ContentService.MimeType.RSS);
}

from albopop-enhanced.

aborruso avatar aborruso commented on August 18, 2024

caro @ebergam ,
ci sono da modificare gli script. Uno molto usato è quello di Matteo e per quelli della zona del sisma abbiamo usato questi.

Io ho fatto proprio come dici. Ho aggiunto nel foglio meta questi valori:

tipologia_pa > Comune
comune > Amatrice
provincia > RI
regione > LAZ
latitude > 42.6292367
longitude > 13.2891755

E modificato così lo script (che è ancora brutto e rozzo):

var comune = metaSheet.getRange('F5').getValue();
var comune_value = metaSheet.getRange('G5').getValue();  
var provincia = metaSheet.getRange('F6').getValue();
var provincia_value = metaSheet.getRange('G6').getValue();  
var regione = metaSheet.getRange('F7').getValue();
var regione_value = metaSheet.getRange('G7').getValue();  
var latitudine = metaSheet.getRange('F8').getValue();
var latitudine_value = metaSheet.getRange('G8').getValue();  
var longitudine = metaSheet.getRange('F9').getValue();
var longitudine_value = metaSheet.getRange('G9').getValue();                    


                        ch.addContent(createElement('category', tipologia_pa_value)
                                     .setAttribute('domain',tipologia_pa)
                                     );
                       ch.addContent(createElement('category', comune_value)
                                     .setAttribute('domain',comune)
                                     );
                       ch.addContent(createElement('category', provincia_value)
                                     .setAttribute('domain',provincia)
                                     );
                       ch.addContent(createElement('category', regione_value)
                                     .setAttribute('domain',regione)
                                     );
                       ch.addContent(createElement('category', latitudine_value)
                                     .setAttribute('domain',latitudine)
                                     );
                       ch.addContent(createElement('category', longitudine_value)
                                     .setAttribute('domain',longitudine)
                                     );

Qui trovi il foglio d'esempio che puoi copiare https://docs.google.com/spreadsheets/d/1Ywh38OU49rdBSZ_RgShaztgpvsPNbzzBXlj3EKqesCA/edit?usp=sharing

Al momento l'albo di Amatrice si sta svuotando

image

from albopop-enhanced.

ebergam avatar ebergam commented on August 18, 2024

Grazie mille @aborruso, esattamente quello che mi serviva per proseguire! Come mai l'hanno svuotato secondo te? Io intanto sistemo col nuovo script quelli già fatti e aggiorno il tutto. Poi cerco altre liste di comuni terremotati per andare avanti.
Cheers

from albopop-enhanced.

ebergam avatar ebergam commented on August 18, 2024

@aborruso scusa, mi sento stupido, ma mi sono incagliato sulla formattazione della casella dove faccio l'import in lat e lng. Ho impostato plain text ma quando fa l'import la mangia come numero e sballa. Non riesco a vedere da te che non sono in edit. Come l'hai impostata?

from albopop-enhanced.

aborruso avatar aborruso commented on August 18, 2024

@ebergam ho impostato il foglio all'americana, che in qualche modo è più "standard"

image

from albopop-enhanced.

aborruso avatar aborruso commented on August 18, 2024

2016-09-07 15:29 GMT+02:00 Enrico Bergamini [email protected]:

Come mai l'hanno svuotato secondo te?

Non ne ho idea. Magari perché sono items scaduti (in albo dopo alcuni
giorni, in dipendenza dal tipo di pubblicazione, l'elemento deve essere
rimosso dalla pubblicazione).
Il tempo passa, e probabilmente i meccanismi di rimozione dalla
pubblicazione funzionano bene. Ma sono automatici, e non hanno bisogno di
personale che ci lavori sopra da un postazione.

Mentre per inserire nuovi elementi ci deve essere il personale disponibile
e una postazione di lavoro. E per ora, è dura :(

from albopop-enhanced.

nelsonmau avatar nelsonmau commented on August 18, 2024

Cmq io farei una nuova tabella. Colonna 1 = url singolo albopop, da colonna 2 in poi tutte le classificazioni... una specie di anagrafica degli albi, senza complicarci la vita...

Credo che sia la soluzione più semplice, nonché la più duttile ed efficace. Non voglio che mi si dica grazie per questo eh :D sux @jenkin

from albopop-enhanced.

ebergam avatar ebergam commented on August 18, 2024

@aborruso occhio, lo script che abbiamo usato ieri non funziona bene. Se vedi https://docs.google.com/spreadsheets/d/1UJJk1Kz-klJBvyu0EdPGJ036UAqqn4Ntc0INy-nMuE0/edit#gid=0 nella colonna 'controllato' ho messo messo i problemi. Generalmente inverte la data e non mette le categorie

from albopop-enhanced.

aborruso avatar aborruso commented on August 18, 2024

@ebergam mi dai accesso in scrittura e mi scrivi qui l'URL di uno spreadsheet in cui ci sono i problemi di cui parli?

Grazie

from albopop-enhanced.

aborruso avatar aborruso commented on August 18, 2024

Caro @ebergam ho fatto delle piccole modifiche nel foglio di Arquata del Tronto. Non ho cambiato nulla nello script, ma due sono stati gli elementi essenziali:

  • ho introdotto una colonna (era così in Amatrice) dove faccio in modo che la data sia già in formato RFC-822. L'ho fatto in modo arzigogolato e puoi cambiare le funzioni, ma basta che sia come Tue, 06 Sep 2016 00:00:00 +0200;
  • le categorie non si vedevano perché delle volte è necessario forzare un refresh, pubblicando una nuova versione (vedi immagine sotto) della web app.

image

Una volta fatto il geocoding, sfruttando opencage, rimuovi per favore il calcolo e appiattisci il testo. In questo modo non verranno fatte centinaia di chiamate a OpenCage. Che è free fino a un certo limite. Tanto il comune non si sposta :)

from albopop-enhanced.

ebergam avatar ebergam commented on August 18, 2024

@aborruso fatto! Grazie mille di nuovo :) @nelsonmau dunque qui: https://docs.google.com/spreadsheets/d/1UJJk1Kz-klJBvyu0EdPGJ036UAqqn4Ntc0INy-nMuE0/edit#gid=0 c'è la tabella con quelli del terremoto fatti finora. L'importante è avere queste informazioni ordinate poi si possono aggiungere tutte le varie colonne per fare un'anagrafica più precisa

from albopop-enhanced.

nelsonmau avatar nelsonmau commented on August 18, 2024

grazie @ebergam, riuscite con quel maraglio di @jenkin a mettere online una versione "solo-sisma" del nostro albopop enhanched?

from albopop-enhanced.

jenkin avatar jenkin commented on August 18, 2024

Ok, direi che ci siamo, ma per mettere tutto in piedi devo fare delle modifiche alla configurazione di logstash e (temo) anche al plugin logstash-input-rss che avevo già modificato a suo tempo...

from albopop-enhanced.

jenkin avatar jenkin commented on August 18, 2024

Scusate ragazzi, mi sono reso conto ora che c'è stato un equivoco... i tag <category> vanno bene, ma devono stare dentro ogni <item>! Lo so che sarebbero ripetuti tali e quali per tutti gli item, ma è fondamentale perché poi tutti i feed vengono aggregati in uno solo e i metadati associati ai singoli feed si perdono in quello aggregato. Rimangono invece quelli associati ai singoli item... @aborruso @ebergam

from albopop-enhanced.

aborruso avatar aborruso commented on August 18, 2024

@jenkin ok. Ma sono completamente bollito? Nello schema che ci hai proposto qui non stanno dentro il channel?

A breve modifico lo script. Grazie

from albopop-enhanced.

jenkin avatar jenkin commented on August 18, 2024

E me so' sbagliato... 👎

from albopop-enhanced.

jenkin avatar jenkin commented on August 18, 2024

Intanto ho aggiunto al feed il supporto alle tag multiple (esempio per i comuni del terremoto)...

from albopop-enhanced.

jenkin avatar jenkin commented on August 18, 2024

Ed ecco come verrebbe il motore di ricerca sui soli comuni colpiti dal terremoto (comuni identificati per nome come tag): http://dev.dataninja.it/AlboPOP-enhanced/ :)

from albopop-enhanced.

ebergam avatar ebergam commented on August 18, 2024

Grande @jenkin. Quindi è definitivo o io e @aborruso dobbiamo modificare lo script?

from albopop-enhanced.

jenkin avatar jenkin commented on August 18, 2024

@ebergam è necessario che lo scraper produca un rss con tutte le informazioni utili in modo strutturato (es. in forma di category), io sono arrivato a quel risultato con un workaround (editando a mano i nomi dei feed dell'aggregatore). Ergo c'è da mettere i tag category che avete già inserito all'interno di ogni item, non solo a livello di channel... :)

from albopop-enhanced.

jenkin avatar jenkin commented on August 18, 2024

Ecco qua, ho scritto una bozza di specifiche: https://github.com/jenkin/albo-pop/blob/albopop-specs/specs.md... :)

from albopop-enhanced.

aborruso avatar aborruso commented on August 18, 2024

Caro @jenkin che bel lavoro!

Ecco una prima versione: http://feeds.feedburner.com/AmatriceCimarellix
Manca ancora qualcosetta ma mi sembra che ci siamo.

Per @ebergam: qui c'è il foglio (e il codice) di cui puoi fare copia https://docs.google.com/spreadsheets/d/10FPEBTWhRWcaEu6OzlVXY3lxUnZXMuHoE6-_D_aQG7k/edit?usp=sharing

Che piacere fare questa cosa

from albopop-enhanced.

ebergam avatar ebergam commented on August 18, 2024

@jenkin ottimo, grazie! @aborruso nel weekend ci lavoro e vedo di aggiornare tutti quelli del Centro Italia. (ho dato uno sguardo veloce al foglio e non funziona però, occhio) :)

from albopop-enhanced.

jenkin avatar jenkin commented on August 18, 2024

Aggiornate le specifiche del feed! :)

from albopop-enhanced.

aborruso avatar aborruso commented on August 18, 2024

@jenkin nell'output di esempio, per l'item, c'è due volte il type con i due significati previsti

image

from albopop-enhanced.

jenkin avatar jenkin commented on August 18, 2024

Il primo è sbagliato, lo tolgo! :)

from albopop-enhanced.

jenkin avatar jenkin commented on August 18, 2024

Intanto funziona! :) In TTRSS vengono riconosciute correttamente le categorie del channel e vengono associate ai singoli item! :)

ape-tags

from albopop-enhanced.

aborruso avatar aborruso commented on August 18, 2024

Entro domani sera aggiorno lo script. Scusami @ebergam se non riesco a fare prima.

@jenkin tutto questo mi piace molto

from albopop-enhanced.

ebergam avatar ebergam commented on August 18, 2024

@aborruso nessun problema, io ho tempo tutto il fine settimana, quando hai lo script mi dici da dove replicarlo su tutti gli sheets, senza fretta, buon weekend ;)

from albopop-enhanced.

jenkin avatar jenkin commented on August 18, 2024

@aborruso che si dice? :)

from albopop-enhanced.

ebergam avatar ebergam commented on August 18, 2024

@aborruso andy forse ho perso un passaggio io, devo adattare gli altri da questo che è già pronto?
https://docs.google.com/spreadsheets/d/10FPEBTWhRWcaEu6OzlVXY3lxUnZXMuHoE6-_D_aQG7k/edit#gid=375343210
Se invece non hai lo script so che sei impegnatissimo nessuna fretta, solo che tra tutti gli sheets mi son perso :)

from albopop-enhanced.

aborruso avatar aborruso commented on August 18, 2024

caro @ebergam riemergo. Ecco il feed di Amatrice: http://feeds.feedburner.com/AlbopopAmatrice

Qui lo sheet con lo script da cui partire.

@jenkin ti scrivo da un'altra parte su una faccenda di specifice

from albopop-enhanced.

jenkin avatar jenkin commented on August 18, 2024

@aborruso e @ebergam finora io ho questi feed legati al terremoto...

feed-tci

Quando gli scraper sono tutti aggiornati alle nuove specifiche, mi avvertite? Così sistemo la strutturazione dei dati e siamo a posto... :)

from albopop-enhanced.

aborruso avatar aborruso commented on August 18, 2024

@jenkin sei nei nostri pensieri sempre e sarai il primo a saperlo :)

from albopop-enhanced.

jenkin avatar jenkin commented on August 18, 2024

@aborruso @ebergam mi pare ci sia un piccolo errore, le categorie a livello di channel hanno nel domain l'url alle specifiche a livello di item...

9486

from albopop-enhanced.

aborruso avatar aborruso commented on August 18, 2024

@jenkin colpa mia e del balletto item/channel :)

Ho aggiornato script e al prossimo aggiornamento la struttura sarà corretta.

from albopop-enhanced.

ebergam avatar ebergam commented on August 18, 2024

@aborruso Di tutti o devo fare un giro di script anch'io?

Il mercoledì 12 ottobre 2016, Andrea Borruso [email protected] ha
scritto:

@jenkin https://github.com/jenkin colpa mia e del balletto item/channel
:)

Ho aggiornato script e al prossimo aggiornamento la struttura sarà
corretta.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#7 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/ANKE2py7r9F-zAxoAEtWwSrT9NNGh2Hkks5qzVX6gaJpZM4J1ks3
.

Sorry for typos sent by mobile

from albopop-enhanced.

jenkin avatar jenkin commented on August 18, 2024

Ho poi aggiornato il tutto, ma devo ricontrollare i risultati, mi pare che norcia rompa troppo le scatole... :)

from albopop-enhanced.

aborruso avatar aborruso commented on August 18, 2024

On 13 October 2016 at 12:59, Alessio Cimarelli [email protected]
wrote:

Ho poi aggiornato il tutto, ma devo ricontrollare i risultati, mi pare che
norcia rompa troppo le scatole... :)

Ale grazie :)

Ho appena visto Norcia
http://feeds.feedburner.com/AlbopopNorcia?format=xml e mi sembra buono.
Cosa ha che non va?

Questa issue la chiuderei e ora andrei di fino con segnalazioni più
specifiche.


Andrea Borruso
website: http://blog.spaziogis.it
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

from albopop-enhanced.

Related Issues (16)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.