|
|
2013-12-03
, 22:39
|
|
Posts: 4 |
Thanked: 45 times |
Joined on Dec 2013
|
#12
|
human-readable import/export of SMS on sailfish is mission critical before i can start using jolla as a primary phone.
likewise with call log and contacts {MMS would be nice too}
i also dont care what format is used, as long as its human-readable, well-structured, and validatable.
however, i personally would prefer a platform-independent solution, preferably one that just reads/writes the sqlite database so that it can be done on a faster box.
as soon as i get a jolla {usa, so sad} this will be the first thing i investigate coding up.
-a sqlite solution will be complicated. it will also be brittle, since the libcomm interfacing impl and the sql table structure could change
-things aside from libcommhistory might be in the sqlite db, so this might involve risk in replacing the db.
-if the jolla code that handles the sqlite db is open and modular, it might be adaptable for this purpose
| The Following 10 Users Say Thank You to jbrooks For This Useful Post: | ||
|
|
2013-12-03
, 22:53
|
|
Posts: 986 |
Thanked: 1,526 times |
Joined on Jul 2010
|
#13
|
|
|
2013-12-09
, 16:08
|
|
|
Posts: 125 |
Thanked: 1,142 times |
Joined on Feb 2010
@ Austria
|
#14
|
| The Following 11 Users Say Thank You to merlin1991 For This Useful Post: | ||
|
|
2013-12-22
, 09:57
|
|
Posts: 22 |
Thanked: 18 times |
Joined on Oct 2012
|
#15
|
I've hacked up the smsImporter today, I've tested it on nemo since I don't have a device, so no guarantee for it's functionality.
Running the binary with the exported csv as argument imports everything
Binary: http://cdnm.at/~christian/Harmattan-SMS-Boat/smsImport
Source: https://github.com/merlin1991/Harmat...port/smsIm.cpp
edit: Thanks to a tip from jbrooks it works now perfectly, no more segfaults. The new binary is available at the link above.
|
|
2013-12-23
, 19:21
|
|
|
Posts: 125 |
Thanked: 1,142 times |
Joined on Feb 2010
@ Austria
|
#16
|
How can I use these tools (smsExport, smsImport) on N9 and Jolla respectively? Simply get the binaries in each device and then execute from a terminal? Any simple examples?
./smsExport > somefile.csv
./smsImport somefile.csv
|
|
2013-12-23
, 20:13
|
|
Posts: 11 |
Thanked: 3 times |
Joined on Dec 2013
@ France
|
#17
|
|
|
2013-12-24
, 13:25
|
|
Posts: 22 |
Thanked: 18 times |
Joined on Oct 2012
|
#18
|
|
|
2013-12-24
, 13:46
|
|
Guest |
Posts: n/a |
Thanked: 0 times |
Joined on
|
#19
|
Thanks. Trying... I see that smsExport (in N9) does not have the "x" permission granted. Trying to change that as root, doesn't work. As "user" it won't let me run it.
|
|
2013-12-24
, 14:51
|
|
Posts: 22 |
Thanked: 18 times |
Joined on Oct 2012
|
#20
|
whats the errormessage?
/bin/chmod +x path-to/smsExport
/bin is not in PATH as standard, may be your issue
./smsExport
"GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 2 matched rules; type="method_call", sender=":1.163" (uid=29999 pid=4928 comm="./smsExport ") interface="org.freedesktop.Tracker1.Steroids" member="Query" error name="(unset)" requested_reply=0 destination="org.freedesktop.Tracker1" (uid=29999 pid=1324 comm="/usr/lib/tracker/tracker-store "))"
# sms: 0
QTrackerDirectSelectResult: QSparqlError(9, "GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 2 matched rules; type="method_call", sender=":1.163" (uid=29999 pid=4928 comm="./smsExport ") interface="org.freedesktop.Tracker1.Steroids" member="Query" error name="(unset)" requested_reply=0 destination="org.freedesktop.Tracker1" (uid=29999 pid=1324 comm="/usr/lib/tracker/tracker-store "))", 4) "SELECT ?message nie:plainTextContent(?message) rdf:type(?message) nmo:communicationChannel(?message) nmo:sentDate(?message) nmo:messageId(?message) nmo:receivedDate(?message) nie:contentLastModified(?message) nmo:isSent(?message) nmo:isDraft(?message) nmo:isRead(?message) nmo:encoding(?message) nie:characterSet(?message) nie:language(?message) (SELECT GROUP_CONCAT(tracker:coalesce(nco:imID(?medium), nco:phoneNumber(?medium), ?medium), "\u001e") WHERE { ?from nco:hasContactMedium ?medium . }) (SELECT GROUP_CONCAT(tracker:coalesce(nco:imID(?medium), nco:phoneNumber(?medium), ?medium), "\u001e") WHERE { ?to nco:hasContactMedium ?medium . }) nmo:phoneMessageId(?message) WHERE { SELECT ?message ?from ?to IF (nmo:isSent(?message) = true, ?to, ?from) AS ?target ?message WHERE {?message nmo:from ?from ; nmo:to ?to . ?message rdf:type nmo:SMSMessage . } }"
likewise with call log and contacts {MMS would be nice too}
i also dont care what format is used, as long as its human-readable, well-structured, and validatable.
however, i personally would prefer a platform-independent solution, preferably one that just reads/writes the sqlite database so that it can be done on a faster box.
as soon as i get a jolla {usa, so sad} this will be the first thing i investigate coding up.
-a sqlite solution will be complicated. it will also be brittle, since the libcomm interfacing impl and the sql table structure could change
-things aside from libcommhistory might be in the sqlite db, so this might involve risk in replacing the db.
-if the jolla code that handles the sqlite db is open and modular, it might be adaptable for this purpose
~ teleshoes ~