[Progetto Script] Recuperare i propri messaggi privati

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
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4237
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 18.04.4 64bit

[Progetto Script] Recuperare i propri messaggi privati

Messaggio da vaeVictis » martedì 2 ottobre 2012, 22:13

edit:
È pronta la prima versione funzionante dello script.
Su indicazione dei moderatori, mi è stato consigliato di tenere aggiornato questo messaggio.
Sto pertanto provvedendo a scrivere un mini tutorial per lo script in questione e, appena pronto, posto tutorial e script (con licenza gnu gplv2) in questo messaggio.
La versione iniziale del messaggio è visionabile nello spoiler qui sotto.

Ciao :)

Spoiler
Mostra
Ciao a tutti.
Come da titolo della discussione, sto approntando uno script per poter recuperare i messaggi privati del proprio account di questo forum.
L'esigenza mi è nata quando ho fatto caso che sto finendo lo spazio e che non voglio perdere tali contenuti.
Attualmente lo script ha una ossatura funzionante, che sto portando a termine e testando.
Sarebbe pertanto opportuno, vista la mia intenzione di metterlo a disposizione del forum, anche per eventuali modifiche post produzione, che chi è interessato al progetto mi possa mandare le sue idee di modo che il tutto possa risultare il più funzionale possibile.


Al momento lo script è pensato nel modo che ora passo a descrivere.
Viene chiesto (sto implementando la richiesta tramite finestra di dialogo, mentre ora avviene tutto da riga di comando) l'url (della propria inbox), il nome utente e la password (con la possibilità di passarla da tastiera in modo sicuro, come nel ben noto caso del comando sudo).
Lo script, quindi, crea una cartella (il cui nome contiene la data di creazione e, qualora sia già presente, un secondo identificativo, come per esempio un numero progressivo).
All'interno di questa cartella vengono quindi create le pagine html con il contenuto della pagina-messaggio (proprio la pagina vera e propria che si vede quando si apre un messaggio privato).
Si può decidere (con appositi parametri da dare allo script) di stampare solo il contenuto del messaggio.
I file (sia html sia txt) vengono creati con un nome che contiene il titolo del messaggio, il mittente e la data di arrivo. Informazioni che vengono comunque anche riscritte all'interno dei file txt (negli html, ovviamente, non c'è bisogno di questa ridondanza... in quanto già sono presenti nel sorgente).
La generazione dei nomi dei file, se non dovesse piacere questo modo di crearli, può essere customizzata a piacere (magari con una numerazione... o altro che potete proporre).

Al momento sto pensando a come gestire (e se sia utile) la cronologia dei botta e risposta (ovvero lo storico dello scambio) che vengono mostrati sotto al messaggio. Mi piacerebbe implementare la possibilità di salvare solo il testo del messaggio e/o lo storico completo (nei file .txt) a seconda delle preferenze.



Non mi sembra di aver dimenticato nulla, quindi, fatta la premessa, passo la palla a voi.

Ritenete possa essere interessante?
Avete proposte e suggerimenti per rendere lo script più utile?
Fatevi avanti :D

Grazie in anticipo per l'interessamente
:ciao:
Ultima modifica di vaeVictis il sabato 19 aprile 2014, 23:06, modificato 2 volte in totale.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once, but I fear the man who has practiced one kick 10000 times.»

Avatar utente
cristian_c
Accecante Asceta
Accecante Asceta
Messaggi: 23422
Iscrizione: lunedì 29 ottobre 2007, 11:31

Re: [Progetto Script] Recuperare il propri messaggi privati

Messaggio da cristian_c » mercoledì 3 ottobre 2012, 8:22

Proporrei di postare una prima versione dello script funzionante, per testarlo :D
Inoltre, scriverei un help con le opzioni e i parametri da usare nella sintassi :)
UP! Unreal Project: il futuro inizia qui. Crusade è tra noi
È scienza!

Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4237
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 18.04.4 64bit

Re: [Progetto Script] Recuperare il propri messaggi privati

Messaggio da vaeVictis » mercoledì 3 ottobre 2012, 18:27

cristian_c » [url=http://forum.ubuntu-it.org/viewtopic.php?p=4201427#p4201427]oggi, 8.22[/url] ha scritto:Proporrei di postare una prima versione dello script funzionante, per testarlo :D
Vorrei finire di verificare alcune cose. Oltre al fatto che sto cercando di capire, tra le varianti di codice scritte per fare la stessa cosa, quale siano le più performanti.
Ma hai ragione, lo posto al più presto.
Inoltre, scriverei un help con le opzioni e i parametri da usare nella sintassi :)
È già gestito con il modulo argparse di python
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once, but I fear the man who has practiced one kick 10000 times.»

Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4237
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 18.04.4 64bit

Re: [Progetto Script] Recuperare il propri messaggi privati

Messaggio da vaeVictis » giovedì 4 ottobre 2012, 1:38

Si stanno verificando degli intoppi e mi sto rendendo conto che l'approccio che ho avuto non è dei più felici.
Nel senso che sto analizzando il sorgente html usando le espressioni regolari, ma sto constatando che è uno dei modi sconsigliati di procedere (in favore dell'uso di appositi parser html).
Inoltre, stupidamente, una volta constatato che riesco a scaricare il sorgente della pagina protetta da login... non ho lavorato su quello ma sul sorgente che si ottiene direttamente dal browser. Cambiano alcune "sintassi", quindi vanno modificate le espressioni regolari che avevo usato... oltre al fatto che, come detto sopra, devo capire se convenga fare questa modifica o cambiare approccio e affidarsi ad un parser (anche se la differenza delle sintassi è comunque presente).

Mi spiace per l'inconveniente :D
Cerco di risolvere velocemente, così posto questo primo abbozzo di script.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once, but I fear the man who has practiced one kick 10000 times.»

Avatar utente
cristian_c
Accecante Asceta
Accecante Asceta
Messaggi: 23422
Iscrizione: lunedì 29 ottobre 2007, 11:31

Re: [Progetto Script] Recuperare il propri messaggi privati

Messaggio da cristian_c » giovedì 4 ottobre 2012, 7:10

Mi spiace per l'inconveniente
Cerco di risolvere velocemente, così posto questo primo abbozzo di script.
Tranquillo. E come dice il proverbio: 'chi va piano, va sano e lontano' (cit.). Alla fine verrà fuori un bel lavoro, non ti preoccupare :)

Edit: corretto il proverbio. Prima l'effetto comico era assicurato :D
Ultima modifica di cristian_c il giovedì 4 ottobre 2012, 7:22, modificato 1 volta in totale.
UP! Unreal Project: il futuro inizia qui. Crusade è tra noi
È scienza!

Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4237
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 18.04.4 64bit

Re: [Progetto Script] Recuperare il propri messaggi privati

Messaggio da vaeVictis » giovedì 4 ottobre 2012, 7:20

Mi sono svegliato prima proprio per lavorarci un po' :D
Scherzi a parte, inizialmente ho pensato di scaricare i codici di tutti i singoli messaggi della inbox e poi parsare tali sorgenti con le espressioni regolari.
A parte che è una ammazzata inverosimile... ma non tenevo in considerazione la presenza di alcuni tag un po' ostici.
Quindi non credo vada proprio bene come approccio.

Sto cercando di capire come fare, tramite python, la richiesta (quella alla voce "esporta come") per esportare i messaggi in formato XML, per poi parsare quei documenti che sono molto più semplici.

Rimane però una cosa che in questo modo sarebbe impossibile fare, ovvero stampare i messaggi con la cronologia della conversazione.
È una cosa che interessa, questa cronologia, secondo te?
Se interessa, posso intanto capire come fare questa "richiesta" del documento xml e poi pensare a come gestire la cronologia delle conversazioni, ripensando ad un modo diverso di parsare il contenuto del sorgente html del messaggio (quello che contiene la cronologia).

Spero di essere stato chiaro :)
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once, but I fear the man who has practiced one kick 10000 times.»

Avatar utente
cristian_c
Accecante Asceta
Accecante Asceta
Messaggi: 23422
Iscrizione: lunedì 29 ottobre 2007, 11:31

Re: [Progetto Script] Recuperare il propri messaggi privati

Messaggio da cristian_c » giovedì 4 ottobre 2012, 7:28

Rimane però una cosa che in questo modo sarebbe impossibile fare, ovvero stampare i messaggi con la cronologia della conversazione.
È una cosa che interessa, questa cronologia, secondo te?
Se interessa, posso intanto capire come fare questa "richiesta" del documento xml e poi pensare a come gestire la cronologia delle conversazioni, ripensando ad un modo diverso di parsare il contenuto del sorgente html del messaggio (quello che contiene la cronologia).
Alla fine, se si perde la data dei messaggi in un documento xml, non è una grandissimo problema. L'importante è che ci sia il modo di ordinarli in ordine cronologico (o tutto in un file xml, oppure i messaggi xml ordinati numericamente, ma in modo che sia chiaro quale è più recente e quale lo è meno).

in ogni caso si può pensare al programma come comprendente più di una modalità, una 'hard' e una 'soft', in modo che intanto almeno una è disponibile. Poi il resto andrà da se :)
UP! Unreal Project: il futuro inizia qui. Crusade è tra noi
È scienza!

Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4237
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 18.04.4 64bit

Re: [Progetto Script] Recuperare il propri messaggi privati

Messaggio da vaeVictis » giovedì 4 ottobre 2012, 7:32

Date mittenti e riferimenti non si perdono nel documento xml. Quelle sono riportate.
Quello che si perde è il botta e risposta.
Hai presente, quando apri un messaggio, che puoi vedere il botta e risposta avvenuto precedentemente nella conversazione?
Io intendo quello. Quello si perde, perché il file xml che scarichi contiene il singolo messaggio (con i suoi dati) e non lo storico della conversazione.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once, but I fear the man who has practiced one kick 10000 times.»

Avatar utente
cristian_c
Accecante Asceta
Accecante Asceta
Messaggi: 23422
Iscrizione: lunedì 29 ottobre 2007, 11:31

Re: [Progetto Script] Recuperare il propri messaggi privati

Messaggio da cristian_c » giovedì 4 ottobre 2012, 7:39

vaeVictis » [url=http://forum.ubuntu-it.org/viewtopic.php?p=4202318#p4202318]4 minuti fa[/url] ha scritto:Date mittenti e riferimenti non si perdono nel documento xml. Quelle sono riportate.
Quello che si perde è il botta e risposta.
Hai presente, quando apri un messaggio, che puoi vedere il botta e risposta avvenuto precedentemente nella conversazione?
Io intendo quello. Quello si perde, perché il file xml che scarichi contiene il singolo messaggio (con i suoi dati) e non lo storico della conversazione.
Ah, allora non è un problema. Pensavo peggio :D
UP! Unreal Project: il futuro inizia qui. Crusade è tra noi
È scienza!

Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4237
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 18.04.4 64bit

Re: [Progetto Script] Recuperare il propri messaggi privati

Messaggio da vaeVictis » giovedì 4 ottobre 2012, 10:54

Grazie al preziosissimo aiuto di Zoff, ora riesco ad importare direttamente il documento di esportazione dei messaggi, in uno dei vari formati disponibili.
Quindi il difficile è risolto.
... ora viene il difficilissimo... ovvero parsare il documento XML (per il momento mi sembra il formato più pratico da usare con Python).
In sè il parsing non è difficile, nel senso che le informazioni (mittente, data, contenuto del messaggio) sono facilmente estrapolabili... ma poi bisogna predisporre un parser per il contenuto del messaggio.
... ci sono infatti le faccine... i link... i quote... e tutta la compagnia bella.

Comunque, a questo punto io procederei per ordine, nel senso che scrivo lo script iniziale, te lo posto, e poi iniziamo ad implementare le altre funzioni.

Inoltre, prima di andare avanti, sarebbe opportuno chiarire alcune cose sulla licenza.
Ho visto, tra le regole della sezione, che giustamente è un elemento importante.
Io ho intenzione di fare il tutto con licenza GPL2, perché più o meno la conosco e mi pare possa andare bene.
Tu che dici, cristian_c, può andare bene se posto lo script in una directory zippata che contenga il codice, la licenza (nell'usuale file COPYING) e i ringraziamenti (incrementali) ai vari utenti che hanno dato una mano??
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once, but I fear the man who has practiced one kick 10000 times.»

Avatar utente
cristian_c
Accecante Asceta
Accecante Asceta
Messaggi: 23422
Iscrizione: lunedì 29 ottobre 2007, 11:31

Re: [Progetto Script] Recuperare il propri messaggi privati

Messaggio da cristian_c » giovedì 4 ottobre 2012, 14:33

ma poi bisogna predisporre un parser per il contenuto del messaggio.
... ci sono infatti le faccine... i link... i quote... e tutta la compagnia bella.
Effettivamente questo è un grosso ostacolo. Dovresti predisporre una whitelist forse.
Per i tag la struttura e questa:
1) parentesi quadra aperta '['
2) nome del tag
3) parentesi quadra chiusa ']'
E il tutto considerando sia l'apertura tag che la chiusura tag :sisi:
Per le faccine, invece:
1) carattere inizio smiley ':'
2) nome dello smiley
3) carattere chiusura smiley ':'
considerando che ci sono degli smiley particolari che non sono chiusi tra ':' e ':', tipo : ) , ; ), ecc...

La scelta dei tag è limitata, mentre invece le faccine sono di più. Comunque puoi recuperare tutti i nomi nell'editor dei post :)
Comunque, a questo punto io procederei per ordine, nel senso che scrivo lo script iniziale, te lo posto, e poi iniziamo ad implementare le altre funzioni.
Direi di sì. In programmazione i problemi si affrontano uno per volta, almeno penso :D
Tu che dici, cristian_c, può andare bene se posto lo script in una directory zippata che contenga il codice, la licenza (nell'usuale file COPYING) e i ringraziamenti (incrementali) ai vari utenti che hanno dato una mano??
Sì, anch'io avevo fatto più o meno una cosa del genere ;)
UP! Unreal Project: il futuro inizia qui. Crusade è tra noi
È scienza!

Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4237
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 18.04.4 64bit

Re: [Progetto Script] Recuperare il propri messaggi privati

Messaggio da vaeVictis » giovedì 4 ottobre 2012, 15:13

Penso di risolvere così.
I tag degli smile rimangono tali e quali... alla fine lo sai che stai leggendo il contenuto dei messaggi di questo forum.
Gli altri tag li gestisco con un parser che mi scrivo... con molta calma.
Per ora, quindi, si possono scaricare i file, con tutti i dati come mittente, data e via dicendo, in formato txt.
Senza cronologia della discussione.
Messaggio secco.

Poi si pensa a fare il resto.
Pertanto, ci aggiorniamo a quando posto il codice.
Ovviamente, se hai osservazioni, scrivi pure.

Ciao.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once, but I fear the man who has practiced one kick 10000 times.»

Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4237
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 18.04.4 64bit

Re: [Progetto Script] Recuperare il propri messaggi privati

Messaggio da vaeVictis » sabato 6 ottobre 2012, 18:47

Aggiornamento....
Incredibile quanti "cassi" siano venuti fuori con questo script.
È quasi tutto risolto... solo che non m'ero accorto che i link delle pagine successive non sono tutti presenti nella pagina... maledetti "puntini di sospensione".

Mi scuso per aver aperto troppo presto la discussione.
Ma ci siamo quasi.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once, but I fear the man who has practiced one kick 10000 times.»

Avatar utente
cristian_c
Accecante Asceta
Accecante Asceta
Messaggi: 23422
Iscrizione: lunedì 29 ottobre 2007, 11:31

Re: [Progetto Script] Recuperare il propri messaggi privati

Messaggio da cristian_c » sabato 6 ottobre 2012, 18:50

vaeVictis » [url=http://forum.ubuntu-it.org/viewtopic.php?p=4204880#p4204880]2 minuti fa[/url] ha scritto:Aggiornamento....
Incredibile quanti "cassi" siano venuti fuori con questo script.
È quasi tutto risolto... solo che non m'ero accorto che i link delle pagine successive non sono tutti presenti nella pagina... maledetti "puntini di sospensione".

Mi scuso per aver aperto troppo presto la discussione.
Ma ci siamo quasi.
No, fa piacere che ci aggiorni su tutti i progressi che fai. Facciamo il tifo per te :)
UP! Unreal Project: il futuro inizia qui. Crusade è tra noi
È scienza!

Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4237
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 18.04.4 64bit

Re: [Progetto Script] Recuperare il propri messaggi privati

Messaggio da vaeVictis » sabato 6 ottobre 2012, 18:53

:D
Sto imparando il mondo di programmazione web. Fortunatamente sul forum ci sono dei veri esperti che mi stanno aiutando.
Per il momento, dopo una giornata di debug, sono arrivato a scaricare in locale tutti i file XML dei messaggi... per poi parsarli.
(Ora me li scarico in locale... ma poi non è che serva... anzi è del tutto inutile... ma metto ovviamente un'opzione per gestire la cosa).
Solo che mi sono accorto che nella pagina non sono presenti tutti i link delle pagine successive della inbox... devo cambiare un po' la strategia :)

edit:
sto constatando che scaricare in locale il file xml non è del tutto inutile... perché si potrebbero avere connessioni lente... o temporaneamente "inchidate"... e la sessione ha una scadenza :)
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once, but I fear the man who has practiced one kick 10000 times.»

Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4237
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 18.04.4 64bit

Re: [Progetto Script] Recuperare il propri messaggi privati

Messaggio da vaeVictis » domenica 7 ottobre 2012, 18:13

Allora, cristian_c, ho pronto il primo script da sottoporti, che ti lascio alla fine di questo messaggio.
È una accozzaglia di comandi e non è scritto bene, ma vorrei intanto capire se ti funziona.
Tanto brutto... che il nome utente e la password li devi scrivere "hard-codati" nello script. Alla riga 10 e 11.
Inoltre, devi scaricare da qui il modulo argparse e metterlo nella stessa directory in cui hai lo script.
Lo lanci semplicemente con:

Codice: Seleziona tutto

python nome_script.py
Dovrebbe salvarti sul computer i file XML dei messaggi privati, esclusa la prima pagina (quindi devi averne più di 30 perché funzioni).

Per ora questo è quanto.
Se mi posti l'output e mi dici se ti crea i file correttamente, andiamo avanti con la risistemazione dello script e la generazione dei file con i messaggi.

p.s.:
Questa notte è riandata via la corrente al mio computer per la quarta o quinta volta in una settimana.
Temo sia "finalmente" successo qualcosa di grave.
Devo reinstallare il sistema operativo, sto facendo l'ultimo backup delle varie cose.
Pertanto credo che avrò un periodo di inattività... un paio di giorni massimo... per ripristinare il tutto.



Codice: Seleziona tutto

#! /usr/bin/env python
# -* coding: iso-8859-15 -*-

import mechanize
import getpass
import argparse
import re
from xml.sax.saxutils import unescape

username = #DECOMMENTARE ED INSERIRE IL NOME UTENTE TRA VIRGOLETTE
password = #DECOMMENTARE ED INSERIRE LA PASSWORD TRA VIRGOLETTE

#abilitando altri formati, si deve disporre un delimitatore e un allegato
formato = 'XML'
#url di partenza
url = "http://forum.ubuntu-it.org/ucp.php?mode=login"

#istanza del Browser e apertura dell'url di login
br = mechanize.Browser()
br.set_handle_robots(False)

#apro la pagina del login
br.open(url)


#cerco il form del login
for form in br.forms():
	if form.attrs['id'] == 'login':
		br.form = form
		break

#imposto i parametri del login
br['username'] = username
br['password'] = password
#faccio il submit della richiesta di login
br.submit()

#controllo che il login sia andato bene
for form in br.forms():
	if form.attrs['id'] == 'login':
		print "Login errato"
		exit(1)
else:
	print "Login effettuato con successo"


#inboxUrl = "http://forum.ubuntu-it.org/ucp.php?i=pm&folder=inbox"
inboxUrl = "http://forum.ubuntu-it.org/ucp.php?i=pm&mode=view&action=view_folder&f=0&st=0&sk=t&sd=d&start=0"
r = br.open(inboxUrl)

secondInboxPage = br.find_link(url_regex='view_folder')
print secondInboxPage.url
pmPerPage = int(secondInboxPage.url[secondInboxPage.url.rfind('=')+1:])
print pmPerPage


baseUrl = "./ucp.php?i=pm&mode=view&action=view_folder&f=0&st=0&sk=t&sd=d&start="
counter=1
while True:
	urlToOpen = baseUrl + str(counter*pmPerPage)
	print urlToOpen
	try:
		br.find_link(url=urlToOpen)
	except:
		print urlToOpen + " non trovato"
		exit(1)
	#br.find_link(url="./ucp.php?i=pm&mode=view&action=view_folder&f=0&st=0&sk=t&sd=d&start=123")
	print urlToOpen
	br.open(urlToOpen)
	for form in br.forms():
		if form.attrs['id'] == 'viewfolder':
			br.form = form
			print 'ok'
			break
	else:
		raise Exception('uh?')

	br['export_option'] = [formato]
	r = br.submit(name='submit_export')

	pms = open('messaggi_privati' + str(counter),'w')
	pms.write(r.read())
	pms.close()
	counter += 1
	br.open(urlToOpen)
Ultima modifica di vaeVictis il domenica 7 ottobre 2012, 20:46, modificato 2 volte in totale.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once, but I fear the man who has practiced one kick 10000 times.»

Avatar utente
cristian_c
Accecante Asceta
Accecante Asceta
Messaggi: 23422
Iscrizione: lunedì 29 ottobre 2007, 11:31

Re: [Progetto Script] Recuperare il propri messaggi privati

Messaggio da cristian_c » domenica 7 ottobre 2012, 20:40

La procedura mi sembra molto semplice, ma non mi è chiara questa frase:
Inoltre, devi scaricare da qui il modulo argparse e metterlo nella stessa directory in cui hai lo script.
non saprei bene da dove scaricarlo :shy: Ho visto che nei repo c'è python-commando, un wrapper di argparse. Va bene lo stesso? :)
p.s.:
Questa notte è riandata via la corrente al mio computer per la quarta o quinta volta in una settimana.
Temo sia "finalmente" successo qualcosa di grave.
Devo reinstallare il sistema operativo, sto facendo l'ultimo backup delle varie cose.
Pertanto credo che avrò un periodo di inattività... un paio di giorni massimo... per ripristinare il tutto.
Azz, spero tu non abbia perso anche dati importantissimi che immagino tu abbia sul pc. Se è un fisso, io utilizzo sempre un gruppo di continuità fatto apposta per queste situazioni. Se è un laptop mi sembra strano che la mancanza di corrente faccia brutti scherzi se il pc è alimentato a batteria :(

In ogni caso sei un fenomeno. Appena riesco a capire questa cosa di argparse, procedo :)
UP! Unreal Project: il futuro inizia qui. Crusade è tra noi
È scienza!

Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4237
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 18.04.4 64bit

Re: [Progetto Script] Recuperare il propri messaggi privati

Messaggio da vaeVictis » domenica 7 ottobre 2012, 20:44

Eh, non si capisce... perché il computer mi si impalla e non ha messo il link. Scusami.
Ho corretto anche il precedente messaggio, il link da cui scaricare argparse è questo

Il computer è un portatile, la cui batteria è defunta e di cui non riesco a trovarne una nuova con cui sostituirla.

p.s.:
ma quale fenomeno! :D
Ultima modifica di vaeVictis il domenica 7 ottobre 2012, 21:03, modificato 1 volta in totale.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once, but I fear the man who has practiced one kick 10000 times.»

Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4237
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 18.04.4 64bit

Re: [Progetto Script] Recuperare il propri messaggi privati

Messaggio da vaeVictis » domenica 7 ottobre 2012, 20:53

p.s.
Sì, ho dati molto importanti sul computer, infatti se ribecco qualcuno che mi stacca la spina al portatile gli metto le mani addosso, la prossima volta.
La mia "politica" è comunque tenere tutto quello che non è "temporaneamente" importanto su HDD esterni (uno per utilizzare il materiale e due per i backup).
Quindi l'unica cosa veramente importante (che non si è corrotta perché è su di una partizione esterna a quella con il sistema) sono le modifiche fatte la scorsa settimana a dei documenti in latex, che tra l'altro dovrei anche "pubblicare"... ma sto salvando tutto, prima di reinstallare.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once, but I fear the man who has practiced one kick 10000 times.»

Avatar utente
cristian_c
Accecante Asceta
Accecante Asceta
Messaggi: 23422
Iscrizione: lunedì 29 ottobre 2007, 11:31

Re: [Progetto Script] Recuperare il propri messaggi privati

Messaggio da cristian_c » domenica 7 ottobre 2012, 23:18

Ok, l'ho lanciato ma ho dovuto installare il pacchetto python-mechanize :)

Comunque, esce immediatamente un errore:

Codice: Seleziona tutto

python mp.py
Traceback (most recent call last):
  File "mp.py", line 6, in <module>
    import argparse
  File "/home/cristian/mp/argparse.py", line 1
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    ^
SyntaxError: invalid syntax
Il computer è un portatile, la cui batteria è defunta e di cui non riesco a trovarne una nuova con cui sostituirla.
A questo punto ti consiglio di collegare la spina dell'alimentatore a un gruppo di continuità :sisi:

Comunque grazie davvero per tutto l'impegno che ci hai messo :)
UP! Unreal Project: il futuro inizia qui. Crusade è tra noi
È scienza!

Scrivi risposta

Ritorna a “Progetti della Comunità”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti