Autore Topic: SMS Thunderbird Nokia  (Letto 4247 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline UnoSD

  • Post: 55
Re: SMS Thunderbird Nokia
« Risposta #30 il: 15 Dicembre 2010 20:38:35 »
Oddio, mi sono perso! Forse la terza versione non ancora! Ora la provo e ti faccio sapere!

Questo è il sorgente del mio convertitore:
Codice: [Seleziona]
#!/usr/bin/perl

use XML::Twig;
use Time::CTime;
use Text::CSV;

if ($#ARGV < 2)
{
print "Numero di argomenti errato";
exit 1;
}

my $NUMBER = '<il numero di telefono proprio>';
my $NAME = '<Il nome da visualizzare al posto del proprio numero>';
my $twig = XML::Twig->new();
my $csv = Text::CSV->new();

$twig->parsefile($ARGV[0]);
my $root = $twig->root;

if (not open MBOX, ">$ARGV[1]")
{
die "Impossibile aprire il file: Errore $!";
}

foreach my $sms ($root->children('sms'))
{
my $FROM = $sms->att('address');

if (substr($FROM, 0, 3) == "+39")
{
$FROM = substr($FROM, 3);
}

my $FROM_NAME = "";
open (CSV, "<", "$ARGV[2]") or die $!;
while (<CSV>)
{
next if ($. == 1);
if ($csv->parse($_))
{
my @columns = $csv->fields();
if ($FROM == $columns[11])
{
$FROM_NAME = $columns[2];
}
elsif ($FROM == $columns[8])
{
$FROM_NAME = $columns[8];
}
elsif ($FROM == $columns[7])
{
$FROM_NAME = $columns[7];
}
}
}
close CSV;

my $EPOCH = $sms->att('date');
my $DATE = localtime($EPOCH/1000);
my $TYPE = $sms->att('type'); #1 = Ricevuto; 2 = Inviato
my $BODY = $sms->att('body');
my $SUBJECT = $sms->att('subject');

if ($TYPE == 1)
{
print MBOX "From $FROM $DATE\n";
print MBOX "To: $OWNER_NAME <$OWNER_NUMBER>\n";
print MBOX "From: $FROM_NAME <$FROM>\n";
}
elsif ($TYPE == 2)
{
print MBOX "From $NUMBER $DATE\n";
print MBOX "To: $FROM_NAME <$FROM>\n";
print MBOX "From: $NAME <$OWNER_NUMBER>\n";
}

if ($SUBJECT == "null")
{
print MBOX "Subject: \n";
}
else
{
print MBOX "Subject: $SUBJECT\n";
}
print MBOX "Date: $DATE +0200\n";
print MBOX "\n$BODY\n\n\n";
}

close MBOX

Non ci fate caso se è ancora un po' "embrionale" perché non ho avuto tempo di rendere il codice più efficiente e di gestire gli errori di sintassi quando si richiama il programma con argomenti sbagliati od i file non esistono et cetera....

La sintassi è: "perl NOMEFILE.pl SORGENTE.XML DESTINAZIONE.mbox RUBRICA.csv"

Offline UnoSD

  • Post: 55
Re: SMS Thunderbird Nokia
« Risposta #31 il: 15 Dicembre 2010 20:41:53 »
Ah, ho fatto qualche errore col fuso orario quindi potrebbe sballare di 1 o 2 ore l'ora giusta del messaggio, al più preso lo correggo! (riguarda il +0200)

Offline UnoSD

  • Post: 55
Re: SMS Thunderbird Nokia
« Risposta #32 il: 16 Dicembre 2010 03:55:33 »
Mi spiace, sempre lo stesso errore... Ma da cosa pensi che dipenda il fatto che a te funziona ed a me no?

Offline klades

  • Moderatore
  • Post: 5788
    • http://www.nic-nac-project.org/~kaosmos
Re: SMS Thunderbird Nokia
« Risposta #33 il: 16 Dicembre 2010 10:23:47 »
Mi spiace, sempre lo stesso errore... Ma da cosa pensi che dipenda il fatto che a te funziona ed a me no?

Ma non è che stai cercando di importarli in un account IMAP per caso?
Fai la prova in una cartella creata ad hoc sotto Cartelle Locali.

Offline UnoSD

  • Post: 55
Re: SMS Thunderbird Nokia
« Risposta #34 il: 16 Dicembre 2010 15:15:23 »
Ok, allora....

Prima di farmi dare del rincretinito totale faccio una premessa: Thunderbird sulla vitual machine lo uso solo per esportare la rubrica sul palmare quindi ho creato all'inizio un account fittizio di posta senza badare a niente visto che non mi serviva... Ho dato per scontato fosse POP ma in effetti ora ho controllato ed era IMAP...

Mi scuso per averti fatto perdere tutto questo tempo!! Non ci ho pensato proprio perché era un account finto che non ho mai usato...

Cmq, ora che ho provato:

Se importo sul nome dell'account o per esempio "Cartelle locali" non crea la cartella e mi da errore:

Citazione
Errore: uncaught exception: [Exception... "Component returned failure code: 0x80520015 (NS_ERROR_FILE_ACCESS_DENIED) [nsIMsgLocalMailFolder.addMessage]"  nsresult: "0x80520015 (NS_ERROR_FILE_ACCESS_DENIED)"  location: "JS frame :: chrome://mboximport/content/mboximport.js :: anonymous :: line 961"  data: no]

Se invece creo una cartella e poi importo su quella cartella funziona! Però i numero che cominciano col prefisso +39 non li estrae dalla rubrica....
Al posto di "Me" è possibile mettere il nome visualizzato dell'account in cui si importano?
Poi l'oggetto del messaggio è possibile lasciarlo vuoto?

Non ho controllato le date, ora do un occhiata...

Offline UnoSD

  • Post: 55
Re: SMS Thunderbird Nokia
« Risposta #35 il: 16 Dicembre 2010 15:44:11 »
Ah, io suppongo che alla fine della data, nei file mbox, ci sia quel +xxxx per indicare il fuso giusto? Qual'è quello corretto dell'Italia?

Offline UnoSD

  • Post: 55
Re: SMS Thunderbird Nokia
« Risposta #36 il: 17 Dicembre 2010 01:45:14 »
Ok, mi è bastato semplicemente togliere il +xxxx per avere l'ora corretta, ma comunque per curiosità: di cosa si tratta??

Offline klades

  • Moderatore
  • Post: 5788
    • http://www.nic-nac-project.org/~kaosmos
Re: SMS Thunderbird Nokia
« Risposta #37 il: 20 Dicembre 2010 10:18:58 »
Metterò questa funzione nella prossima versione di ImportExportTools, correggendo ovviamente tutti i bug che c'erano in questa "proto-versione", vediamo se interesserà qualcuno.

In quanto al +xxxx. leggi questa pagina.

Offline UnoSD

  • Post: 55
Re: SMS Thunderbird Nokia
« Risposta #38 il: 20 Dicembre 2010 14:07:41 »
Grazie! Cmq suppongo, visto che la data è corretta senza l'aggiunta dell'offset, che sia già comprensiva di fuso orario all'atto dell'esportazione dal cellulare... Giusto?
O devo metterlo l'offset? (Ho fatto un po' di controlli da ottobre fino ad ora sulle date e sono corrette così)

Io aspetto con ansia la prossima versione! Per ora continuerò ad usare il mio script giusto per quelle piccole precisazioni (+39, Me, oggetto)

Però ti ringrazio molto per avermi ascoltato ed esserti dedicato alla implementazione di questa funzione!

Ora mi sto dedicando all'importazione dei messaggi dal mio vecchio smartphone con Windows mobile (ho già gli XML ottenuti con SmsExport) per completare l'archivio con i messaggi vecchi.
Poi vedrò un po' (come ho scritto nel nuovo topic) come importare le conversazioni di emesene.

P.s. Vi posterò la versione aggiornata del mio script a breve perché quello di sopra ha solo un problema con gli elementi accentati della rubrica (es. Pinco Ambrò non lo trova) e magari la versione che cerca i nomi direttamente dalla rubrica senza esportarne il CSV e magari ancora più in là quella che prende i messaggi direttamente dal cellulare senza passare per l'OVI e il Nokia2AndroidSMS...
« Ultima modifica: 20 Dicembre 2010 14:10:18 da UnoSD »

0 Utenti e 1 Visitatore stanno visualizzando questo topic.