script bash: autoaggiornamento pagina web

Iniziative e progetti della comunità legati a Ubuntu.
Regole della sezione
Questa sezione ha lo scopo di raccogliere le iniziative/progetti della nostra Comunità legati ad Ubuntu. I progetti ospitati nascono da iniziative degli utenti o gruppi di utenti. In futuro i progetti potrebbero rimanere iniziative "personali" o essere integrate nella distribuzione, sponsorizzate da Ubuntu o da Canonical a discrezione dei responsabili. All'interno di essa sarà possibile inserire delle discussioni che hanno la funzione di pubblicizzare avvenimenti, iniziative e progetti software su Ubuntu e GNU/Linux in generale. Sarà inoltre possibile per gli utenti proporre lo sviluppo di nuovi software e in questo caso la discussione di richiesta avrà la funzione di generare un requisito funzionale del prodotto da sviluppare.

Sezione I - Iniziative
  • Fanno parte di iniziative, ad esempio, le seguenti categorie: corsi, progetti editoriali, libri.
  • La segnalazione di un'iniziativa avviene creando una discussione con l'annuncio.
  • Una volta effettuata la segnalazione, la discussione viene chiusa dal Gruppo Forum.
  • Se l'iniziativa esposta comporta un costo di adesione o fruizione, questo deve essere esplicitamente riportato all'interno della discussione.
  • È obbligatorio segnalare all'interno della discussione i riferimenti per poter contattare/partecipare all'iniziativa.
Sezione II - Progetti
  • La segnalazione di un progetto software, come per le iniziative, avviene e si sviluppa all'interno di una singola discussione.
  • Sarà consentito l'inserimento di software solo se rilasciati sotto licenza GPL (in tutte le sue versioni) o equivalente FOSS, tale da garantire agli utenti l'utilizzo del prodotto senza restrizioni e agli sviluppatori la proprietà intellettuale del codice prodotto.
  • Nell'oggetto della discussione dovrà essere riportata la categoria (es. [Iniziativa], [Progetto] o [Proposta]) e una semplice descrizione del progetto.
  • Se il progetto ha già un sito che lo ospita sarà a discrezione del Gruppo Forum chiuderla come segnalazione o lasciarla aperta.
  • Se il progetto non ha un sito che lo ospita si potranno aprire due discussioni, una per proporre modifiche/implementazioni (dove nel titolo occorre specificare [sviluppo]) ed una per segnalare problemi (e nel titolo dovrà comparire [supporto]).
  • Non è consentita l'apertura di nuove discussioni in riferimento a versioni superiori o modificate di un prodotto già riportato in precedenza.
  • Se il software oggetto del progetto ha una dimensione non superiore ai 128 kB, per prodotti che non hanno un sito che li ospita, sarà possibile allegarlo alla discussione.
Sezione III - Proposte
  • Una proposta deve essere eseguita e si svilupperà all'interno di una singola discussione.
  • Le proposte dovranno essere inserite direttamente nella sezione "Progetti della Comunità".
  • Dovranno essere specificate le funzionalità che devono essere sviluppate.
  • Non dovranno essere riportate diciture tipo "...deve fare come questo software...", ma indicare nel miglior modo possibile i requisiti.
  • Una volta segnalata la discussione resterà aperta per consentire uno scambio di idee su come sviluppare il codice o finché gli sviluppatori non forniranno una soluzione (da pubblicizzare poi, come visto prima, nella sezione Progetti) che ne soddisfi il requisito.
Per quanto non esposto sopra, si fa comunque riferimento al Regolamento del forum ed al Codice di Condotta della Comunità.
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4446
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

script bash: autoaggiornamento pagina web

Messaggio da UbuNuovo »

Volete vedere se è stato inviato un nuovo post su questo forum, senza dover aggiornare a mano la pagina?
Ho fatto uno script che serve per aggiornare automaticamente una qualsiasi pagina web ogni tot minuti, inoltre c'è la possibilità di temporizzare anche l'apertura e la chiusura del browser.
Istruzioni e download a questa pagina.
Avevo inserito altre funzionalità come: aggiornare solo se la pagina è cambiata e la chiusura del terminale; poi però le ho levate perché sono inutili e allungano solo lo script.

Naturalmente sono ben accette critiche e suggerimenti.
Ciao
Salva l'Ucraina! 🇺🇦
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: script bash: autoaggiornamento pagina web

Messaggio da Zoff »

Non trattandosi di un problema tecnico sposto nella sezione "Progetti della comunità".

Esistono già plugin per il browser per il refresh automatico, ad esempio: https://addons.mozilla.org/en-us/firefo ... loadevery/
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4446
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: script bash: autoaggiornamento pagina web

Messaggio da UbuNuovo »

Ok, l'avevo messo in programmazione per le eventuali modifiche allo script, comunque va bene.

So dei plugin ma questo script basandosi sugli iframe è utilizzabile con qualsiasi browser ed inoltre può temporizzare apertura e chiusura browser.
Ciao
Salva l'Ucraina! 🇺🇦
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: script bash: autoaggiornamento pagina web

Messaggio da Zoff »

Lo dicevo piu' che altro perché mi sembra infinitamente piu' comodo un menu sulle opzioni del tasto destro nella pagina del browser che non uno script che va riavviato da terminale tutte le volte che si vuole variare un parametro.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4446
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: script bash: autoaggiornamento pagina web

Messaggio da UbuNuovo »

Si, ma l'ho fatto per esercitarmi con bash, mi hai dato l'idea di mettere delle scelte predefinite da modificare solo quando serve.
Salva l'Ucraina! 🇺🇦
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: script bash: autoaggiornamento pagina web

Messaggio da Zoff »

Altra cosa,

Codice: Seleziona tutto

while [ $conn == 0 ]; do
	if eval "ping -c 1 www.google.com" &>/dev/null
		then
			conn=1
		else
			echo "Devi attivare la connessione per utilizzare questo script!"
			exit
	fi
done
A cosa serve il while?
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4446
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: script bash: autoaggiornamento pagina web

Messaggio da UbuNuovo »

A niente! Mi è rimasto da un metodo di verifica precedente.
Grazie, lo levo.

edit: dovrebbe bastare:

Codice: Seleziona tutto

if eval "ping -c 1 www.google.com" &>/dev/null
		then
			:
		else
			echo "Devi attivare la connessione per utilizzare questo script!"
			exit
	fi
O potrei mettere " if ! eval " senza else.
Salva l'Ucraina! 🇺🇦
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4446
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: script bash: autoaggiornamento pagina web

Messaggio da UbuNuovo »

Ho finito di mangiare e ho corretto lo script con:

Codice: Seleziona tutto

#verfica connessione
if ! eval "ping -c 1 www.google.com" &>/dev/null
	then
		echo "Devi attivare la connessione per utilizzare questo script!"
		exit
fi
Salva l'Ucraina! 🇺🇦
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4446
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: script bash: autoaggiornamento pagina web

Messaggio da UbuNuovo »

È meno caldo, finalmente! Ho fatto una nuova versione dello script con il salvataggio delle impostazioni, in modo da non doverle inserire ad ogni esecuzione dello script.
In pratica viene creato un file di configurazione con i dati predefiniti.
Il file di configurazione può essere modificato direttamente oppure eseguendo lo script e scegliendo di modificare le impostazioni.
Le impostazioni cambiate possono essere usate temporaneamente oppure possono essere salvate come predefinite.
Per maggiori dettagli vedere questa pagina.
Come al solito: sono apprezzate critiche e suggerimenti.
Salva l'Ucraina! 🇺🇦
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: script bash: autoaggiornamento pagina web

Messaggio da crap0101 »

UbuNuovo ha scritto:
O potrei mettere " if ! eval " senza else.
e magari anche senza eval.

Oltre a quanto detto da Zoff, non mi pare molto comoda la modalità forzatamente "interattiva", sarebbe meglio se, in assenza del file di config (o se non tutte le variabili sono presenti) si possano passare i parametri da linea di comando (e al limite utilizzare valori di default). Alrimenti si fa prima ad andare ad aggiornare la pagina manualmente, o aggiornarla quando la si va a leggere.

Lo script sarebbe anche più automatizzabile e si potrebbe "monitorare" un tot di url differenti, cosa che adesso non si può perchè scrivi su un file temporaneo (invece di usare tempfile) che è sempre lo stesso, limitando di molto, imho, l'utilità della cosa.

ALtra cosa, perchè far strippare l' http

Codice: Seleziona tutto

	echo "inserire l'indirizzo della pagina da aggiornare automaticamente (senza http://)"
per poi rimettercelo tu?
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4446
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: script bash: autoaggiornamento pagina web

Messaggio da UbuNuovo »

Grazie per l'intervento crap0101,
perché eval
infatti non serve, colpa mia! La parte di verifica della connessione l'ho trovata su internet ho visto che funzionava e l'ho inserita.
Il fatto è che avevo provato un sistema diverso, dove facevo un controllo anche sulla pagina voluta (per questo mi serviva l'URL senza 'http://') alla fine mi è sembrato inutile, ho cancellato tutto ed ho rimesso la parte di codice originale trovata su internet facendo un pastrocchio.

Per i parametri passati da linea di comando; ok, potrei aggiungere anche questa funzionalità, non fa mai male avere una possibilità in più.
perchè scrivi su un file temporaneo (invece di usare tempfile) che è sempre lo stesso, limitando di molto, imho, l'utilità della cosa
Non ho usato temfile per due motivi, il primo è perché sono ignorante, tempo fa ho letto di tempfile ma non mi ricordo bene come funzioni, quindi non mi è venuto in mente;
il secondo motivo è perché volevo che si potesse scegliere dove salvare il file, in modo da poter avere la pagina aggiornabile sempre, anche senza far partire lo script.
Infatti, se non si cancellasse il file temp basterebbe farci un doppio clic sopra per avere l'ultima pagina passata allo script aperta nel browser con auto-aggiornamento attivo, senza dover avviare lo script; (in effetti è il primo utilizzo che ha avuto questo script).
Anzi potrei sfruttare questa caratteristica per far salvare le varie pagine e renderle disponibili sempre. Ho una mezza idea..
si potrebbe "monitorare" un tot di url differenti, cosa che adesso non si può perchè scrivi su un file temporaneo
Potresti spiegarmi meglio questo punto?
Salva l'Ucraina! 🇺🇦
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4446
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: script bash: autoaggiornamento pagina web

Messaggio da UbuNuovo »

intanto ho corretto la verifica della connessione:

Codice: Seleziona tutto

if ! ping -c 1 www.google.com &>/dev/null
	then
		echo "Devi attivare la connessione per utilizzare questo script!"
		exit		
fi
Poi se riesco a rinfrescarmi guardo di aggiungere le altre funzionalità.
Salva l'Ucraina! 🇺🇦
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4446
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: script bash: autoaggiornamento pagina web

Messaggio da UbuNuovo »

Dopo aver perso un sacco di tempo su una bischerata di errore, ho fatto la versione tre con la possibilità di essere eseguita direttamente dalla linea di comando.
Si posso passare uno (URL) o più parametri ma devono essere nella giusta sequenza senza buchi a sinistra:
1° URL, 2°refresh, 3° int. chiusura, 4° int. riapertura, 5° browser
Devo aggiungere dei controlli sull'input come: tipo numerico intero, esistenza del browser e poi farò la versione multi url con possibilità di elenco e riutilizzo delle pagine già impostate.

edit: devo anche sistemare la faccenda dell'"http://", se non c'è l'aggiungo, se c'è la lascio stare.
Salva l'Ucraina! 🇺🇦
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4446
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: script bash: autoaggiornamento pagina web

Messaggio da UbuNuovo »

Aggiunti controlli sui parametri ( numeri interi e verifica browser) e ora si può inserire l'URL con e senza "http://", e ho sistemato qualche altra cosina.
Spero di poterci mettere le mani domani per fare la versione 4 con multi URL.
Ciao
Salva l'Ucraina! 🇺🇦
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: script bash: autoaggiornamento pagina web

Messaggio da crap0101 »

UbuNuovo [url=http://forum.ubuntu-it.org/viewtopic.php?p=4431940#p4431940][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
si potrebbe "monitorare" un tot di url differenti, cosa che adesso non si può perchè scrivi su un file temporaneo
Potresti spiegarmi meglio questo punto?
se provi ad eseguire più volte contemporaneamente lo script (con url diversi), solo l'ultimo processo avviato è quello di cui vedrai i cambiamenti, siccome ogni volta sovrascrivi il file /tmp/temp.html . Per cui, ad ora, con questo script puoi monitore un solo url alla volta.
Si posso passare uno (URL) o più parametri ma devono essere nella giusta sequenza senza buchi a sinistra:
1° URL, 2°refresh, 3° int. chiusura, 4° int. riapertura, 5° browser
getopts
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4446
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: script bash: autoaggiornamento pagina web

Messaggio da UbuNuovo »

se provi ad eseguire più volte contemporaneamente lo script (con url diversi), solo l'ultimo processo avviato è quello di cui vedrai i cambiamenti, siccome ogni volta sovrascrivi il file /tmp/temp.html
Giusto! Infatti ho in mente di dare la possibilità di salvare le pagine create in modo da poterle riutilizzare direttamente.

Getopts l'ho provato abbastanza ma non mi vuol proprio piacere, se devo bindare i parametri posso usare anche un metodo mio;
comunque non ne escludo l'utilizzo, ma solo da ultimo.
Il problema che mi sorge ora è che il codice si sta incasinando con strutture if lunghissime, dovrei spezzare lo script in funzioni ma non ho esperienza con funzioni che contengono variabili globali. Dichiaro tutte le variabili come locali? I vari $1, $2... , possono creare conflitti? Dovrei fare un po di prove.
Domani faccio qualche prova.
Ciao
Salva l'Ucraina! 🇺🇦
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4446
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: script bash: autoaggiornamento pagina web

Messaggio da UbuNuovo »

Grazie al ventilatore in modalità "bronchite", oggi sono riuscito a mettere mano allo script ed ho fatto la versione 4.
I cambiamenti sono:
Utilizzo di filetemp per il file temporaneo, come consigliato da Crap0101.

In modalità interattiva, ho aggiunto la possibilità di salvare le pagine auto-aggiornanti; in modo da poterle riutilizzare direttamente.

Se si vuole, si può far aprire una pagina web contenente l'elenco delle pagine salvate; cliccando sui links le pagine si aprono in nuovi tab del browser.

Consigli:
cancellare il vecchio file di configurazione dalla $HOME; ora viene creata una directory nascosta ".autoaggiorna_pagina" che contiene: il file di configurazione ".autoaggiorna_pagina.conf", la directory "pagine_salvate" che conterrà le pagine auto-aggiornanti salvate e (se creato) il file index.html conterrà l'elenco cliccabile delle pagine salvate.

Se si hanno pagine salvate, conviene salvare nei segnalibri la pagina con l'elenco (index.html), in modo da non dover avviare lo script per visitare pagine già salvate.
Per oggi è tutto (in seguito aggiungerò una funzione per eliminare determinate pagine salvate).
Salva l'Ucraina! 🇺🇦
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: script bash: autoaggiornamento pagina web

Messaggio da crap0101 »

forse è il momento di cominciare ad usare un scm
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4446
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: script bash: autoaggiornamento pagina web

Messaggio da UbuNuovo »

Cos'è un scm?
Salva l'Ucraina! 🇺🇦
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4446
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: script bash: autoaggiornamento pagina web

Messaggio da UbuNuovo »

Trovato "configuration management..." ti riferisci a qualche strumento in particolare? Non ne so niente.
Subversion e GIT devo studiarmeli, gli diedi un'occhiata ma non ci capii molto.
Subversion l'ho anche installato ma mai usato.

edit: Ho letto più approfonditamente, riguardo a Subversion, e mi sembra eccessivo per uno script di un unico file.
Lo considero molto utile ma per progetti più complessi.
Salva l'Ucraina! 🇺🇦
Scrivi risposta

Ritorna a “Progetti della Comunità”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 23 ospiti