LINUX.ORG.RU
решено ФорумMobile

Синхронизация n900 с гуглом из командной строки

 , ,


1

3

Предисловие:
Жизнь меня ничему не учит. Я направо и налево рассказываю всем о небходимости бекапов, но сам их вовремя никогда не делаю.

Задача:
Есть n900 без USB порта и с глючным практически неработающим сенсором, зато с поднятым SSH. Нужно вытащить из неё контакты и sms в гугл.

★★★★★

Последнее исправление: Axon (всего исправлений: 1)

Проблема частично решена: синхронизировал контакты и календарь с owncloud по этому мануалу. Осталось понять как спасти SMS...

Axon ★★★★★
() автор топика

могу ошибаться, но все чатики со всех аккаунтов лежат в ~/.rtcom-eventlogger/el-v1.db
соответственно, можно попробовать руками вытащить

ii343hbka ★★★
()
Ответ на: комментарий от ii343hbka

Вытащить-то, может, и можно, но что с ними делать потом? Я-то хочу всё это в гуглофон перенести.

Axon ★★★★★
() автор топика
Ответ на: комментарий от Axon

ну в какой-нибудь удобоваримый формат для его чатика
гугл подсказывает SMS Backup/Restore из xml
узнать формат этого xml и на питоне написать штуку, которая сделает валидный xml из sqlite n900

ii343hbka ★★★
()
Ответ на: комментарий от ii343hbka

узнать формат этого xml и на питоне написать штуку, которая сделает валидный xml из sqlite n900

Эммм... Я, всё же, надеюсь на то, что кто-то это уже сделал.

Axon ★★★★★
() автор топика
Ответ на: комментарий от Axon

я могу попробовать на питоне написать эту штуку для xml
к завтра, думаю, могу справиться.
но без тестов, у меня только n900 есть

ii343hbka ★★★
()
Ответ на: комментарий от Axon

готово
сыро, некрасиво
http://dl.dropbox.com/u/10526323/n900SMStoXML/n900SMStoXML.py
вылезут ошибки - пишите

запускал на n900. Где лежит база выше писал

python n900SMStoXML.py -d database.db -o output.xml

по идее, потом этот xml надо скормить SMS Backup & Restore. В гугл-плей она с таким именем и, вроде, бесплатная
писал вслепую, поэтому xml похож на xml из примера, так что, думаю, прокатит
у меня сформировался xml, как в примере

Отпишитесь тогда по результату/нерезультату, а то страшно интересно :)
удачи :)

ii343hbka ★★★
()
Ответ на: комментарий от ii343hbka

забыл отметить - из косяков, может быть отсутствие service_center, в n900 просто нет этого поля

еще может быть косяк в том, что всем сообщениям ставится статус -1, что есть None, хотя есть код 0 - Complete. Но в примере был -1, я решил его, раз в примере.
Но это легко правится. В скрипте есть словарь msg, там есть поле status, вот его на 0 поправить и будут все сообщения со статусом 0

ii343hbka ★★★
()
Ответ на: комментарий от ii343hbka

Отрабатывает, но выдаёт пустоту.

python2 n900SMStoXML.py -d el-v1.db -o smsbackup.xml
{'dbFile': 'el-v1.db', 'xmlFile': 'smsbackup.xml'}
[]
OK
cat smsbackup.xml
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<?xml-stylesheet type="text/xsl" href=""?>
<smses count="0">
</smses>%   

Axon ★★★★★
() автор топика
Ответ на: комментарий от Axon

хм. странно.
в базе есть поле тип эвента. Во всех примерах я видел, что смс - 7, но у меня он 11. У меня в смысле, в моей n900. Не знаю, почему так.
попробуйте в 56 строке

where event_type_id = 11""")
поменять на
where event_type_id = 7""")

ii343hbka ★★★
()
Ответ на: комментарий от Axon

так они теперь в андроиде видны?)
круто) сам рад)
с тех пор, как учусь на программиста, это моя первая полезная поделка :D

ii343hbka ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.