Nokioteca [Nokia] Forum: Lettura E Salvataggio Sms E Convesazioni - Nokioteca [Nokia] Forum

Salta al contenuto

Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

Lettura E Salvataggio Sms E Convesazioni Meglio con Python

#1 L   Bicienzo 

  • Advanced Member
  • PuntoPuntoPuntoPunto
  • Gruppo: Utente
  • Messaggi: 129
  • Iscritto: 08 novembre 2008
  • Località:Napoli
  • Cellulare:E90-N900

Inviato 07 gennaio 2010 - 23:34

Mi stò scervellando per capire come si possono leggere (ed esportare in un file di testo) gli SMS ricevuti. B)
La mia necessità è solo per gli SMS ma, in base al nuovo approccio "conversazioni" del nostro N900, l'argomento è estendibile (come si vedrà nel seguito) anche al vocale ed alle chat. ;)

Per intenderci sugli S60 con PyS60 esiste un modulo "ibox" che consente la lettura, il salvataggio e la gestione degli SMS: a me serve qualcosa del genere.

Dalle mie analisi ed indagini ho capito questo: :mumble:
-Le conversazioni vengono salvate in file con estensioni *.db
-I files *.db sono situate nella dir "/home/user/.osso-abook/db"
-I file non sono database SQL (come l'estensione farebbe capire).

Quando si effettua un backup questi dati vengono costipati in un file compreso "comm_and_cal.zip" con all'interno (della dir "\Root\home\user\.rtcom-eventlogger") un database di nome "backup.db".
Questo file backup.db è leggibile con una qualsiasi programma SQLbrower.
Nel database ci sono molte informazioni interessanti, vale la pena dare un'occhiata.
Per esempio la tabella "Events" è quello che cercavo: tutte le mie conversazioni e tutti i miei SMS (e molto altro ancora: es. chiamate, mittente, ora di invio, ora di ricezione, ecc. ecc

Detto ciò rimane ancora da capire: Come leggere direttamente le conversazioni??? :(

Fatemi conoscere i vostri commenti.
0

#2 L   fra83fra 

  • Advanced Member
  • PuntoPuntoPuntoPunto
  • Gruppo: Utente
  • Messaggi: 242
  • Iscritto: 19 ottobre 2009

Inviato 08 gennaio 2010 - 01:49

qua
Per visualizzare questo link registrati o esegui il log in.
dicono che il formato dei file è Oracle Berkeley DB
Per visualizzare questo link registrati o esegui il log in.
)... che io non conosco ne' ho mai usato.
Però in teoria dovresti usare le API di Fremantle per accedere alle conversazioni, non aprire direttamente il db
0

#3 L   Holycleric 

  • Advanced Member
  • PuntoPuntoPunto
  • Gruppo: Utente
  • Messaggi: 73
  • Iscritto: 28 settembre 2007
  • Località:Monte San Pietro BO
  • Cellulare:Nokia N900
  • Firmware:3.2010.02-8

Inviato 08 gennaio 2010 - 11:20

Oracle Berkeley DB!?! Per fortuna che siamo nella grazie dell'open source... hanno scelto un DB a prova di collisione planetaria ma che di Open non ha proprio un ciufolo :D

Comunque confida nella community (se sai bene l'inglese intrufolati in una internazionale e comincia a chiedere che sia fatto un bel programmino apposta XD) vedrai che si risultati ne avrai facendo un po' di advertise mirato.
Probabilmente con un po' di lavoro di un programmatore volenteroso che ne sappia di query e DB salterà fuori un programma che estragga i dati dal DB per metteri su un bel file di testo tutti belli ordinati in fila per 6 col resto di 2 :D

P.S. So perfettamente che il mio post è disinformativo... prendere con beneficio di inventario tutte le informazioni riportate e correggetemi se dico ca**ate :crying_anim02:
0

#4 L   fra83fra 

  • Advanced Member
  • PuntoPuntoPuntoPunto
  • Gruppo: Utente
  • Messaggi: 242
  • Iscritto: 19 ottobre 2009

Inviato 08 gennaio 2010 - 16:39

ROTFL guarda che Berkeley DB è (ed è sempre stato) completamente open-source, è stato comprato da Oracle qualche anno fa... mi sa che ti stai confondendo con lo "storico" dbms oracle che è per grossi server o datacenter ma non c'entra nulla :thumbs:
Per l'accesso ai dati nelle piattaforme come Maemo bisogna passare per le API apposite, non andare a ravanare direttamente dentro i file (il che potrebbe anche comportare grossi problemi al sistema, per es. se si lockano certi file quando deve accedervi il sistema o si inseriscono dati errati ecc.)
0

#5 L   Holycleric 

  • Advanced Member
  • PuntoPuntoPunto
  • Gruppo: Utente
  • Messaggi: 73
  • Iscritto: 28 settembre 2007
  • Località:Monte San Pietro BO
  • Cellulare:Nokia N900
  • Firmware:3.2010.02-8

Inviato 08 gennaio 2010 - 16:55

Visualizza Messaggifra83fra, il 08/01/2010 - 16:39, ha scritto:

ROTFL guarda che Berkeley DB è (ed è sempre stato) completamente open-source, è stato comprato da Oracle qualche anno fa... mi sa che ti stai confondendo con lo "storico" dbms oracle che è per grossi server o datacenter ma non c'entra nulla :thumbs:
Per l'accesso ai dati nelle piattaforme come Maemo bisogna passare per le API apposite, non andare a ravanare direttamente dentro i file (il che potrebbe anche comportare grossi problemi al sistema, per es. se si lockano certi file quando deve accedervi il sistema o si inseriscono dati errati ecc.)


Ok ora oltre alle mie già ampie lacune generali devo annoverare anche il fatto che NON SO PIU' LEGGERE :)

E dire che c'è spiegato bene tutto nel link
Per visualizzare questo link registrati o esegui il log in.
messo sopra XD

Vabbè vorrà dire che devo tornare alle elementari invece che stare all'università... ma non è grave :P
0

#6 L   Bicienzo 

  • Advanced Member
  • PuntoPuntoPuntoPunto
  • Gruppo: Utente
  • Messaggi: 129
  • Iscritto: 08 novembre 2008
  • Località:Napoli
  • Cellulare:E90-N900

Inviato 08 gennaio 2010 - 21:37

Si và bene, è open source, si bisogna usare le API, ok tutto.
Ma in pratica come si leggono gli SMS??? :D

Chi conosce il modulo "osso" di python. Forse qui c'è la risposta? :doh:
0

#7 L   Bicienzo 

  • Advanced Member
  • PuntoPuntoPuntoPunto
  • Gruppo: Utente
  • Messaggi: 129
  • Iscritto: 08 novembre 2008
  • Località:Napoli
  • Cellulare:E90-N900

Inviato 22 gennaio 2010 - 13:49

Per chiudere l'argomento (e aprirne tanti altri !!!) illustro la soluzione al quesito:

import sqlite3
conn=sqlite3.connect("/home/user/.rtcom-eventlogger/el.db")
cur = conn.cursor()
cur.execute("select * from events")
for row in cur:
	 print row


Viene visualizzata una lista di tutte le attività (chat, chiamate, sms) effettuate :o .
Il resto alla Vs fantasia.

Sono a disposizione per ulteriori chiarimenti ma Vi chiedo di spostarci nella sezione Programmazione. ^_^

Messaggio modificato da Bicienzo il 22 gennaio 2010 - 19:21

0

#8 L   k_appa 

  • Member
  • PuntoPunto
  • Gruppo: Utente
  • Messaggi: 18
  • Iscritto: 22 dicembre 2009

Inviato 22 gennaio 2010 - 20:13

Visualizza MessaggiBicienzo, il 22/01/2010 - 13:49, ha scritto:

Per chiudere l'argomento (e aprirne tanti altri !!!) illustro la soluzione al quesito:

import sqlite3
conn=sqlite3.connect("/home/user/.rtcom-eventlogger/el.db")
cur = conn.cursor()
cur.execute("select * from events")
for row in cur:
	 print row


Viene visualizzata una lista di tutte le attività (chat, chiamate, sms) effettuate :D .
Il resto alla Vs fantasia.

Sono a disposizione per ulteriori chiarimenti ma Vi chiedo di spostarci nella sezione Programmazione. :lol:


è un codice scritto in python? per usarlo basta editarlo in un file di testo e salvarlo con estensione py?
scusa la mia ignoranza ma in quanto a programmazione sono proprio a zero!!
0

#9 L   Bicienzo 

  • Advanced Member
  • PuntoPuntoPuntoPunto
  • Gruppo: Utente
  • Messaggi: 129
  • Iscritto: 08 novembre 2008
  • Località:Napoli
  • Cellulare:E90-N900

Inviato 25 gennaio 2010 - 13:19

Visualizza Messaggik_appa, il 22/01/2010 - 20:13, ha scritto:

è un codice scritto in python? per usarlo basta editarlo in un file di testo e salvarlo con estensione py?
scusa la mia ignoranza ma in quanto a programmazione sono proprio a zero!!


Si, è un mini-programma in Python.
Non fà molto ma serve a capire come è semplice leggere all'interno del database delle chiamate, delle chat e degli SMS. :wacko:
Per eseguirlo è possibile scriverlo direttamente dalla shell python o (consigliato!) eseguirlo con "python path/nomeprogramma.py" dal terminale. :mumble:
0

Condividi questa discussione:


Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione