1 (03.02.2011 17:43:20 отредактировано divan)

Тема: Играемся с историей смс/чатов/звонков

На днях захотелось посмотреть статистику по смскам - сколько отправил определенному человеку. Сделать это оказалось очень просто.
Вся история смс/звонков/чатов хранится в файле /home/user/.rtcom-eventlogger/el-v1.db (для PR1.3) - это обычная sqlite база данных. Ставим sqlite3(если ещё не стоит) (apt-get install sqlite3) и можем начинать играться.

Например, просмотреть все чаты (в неудобном виде пока, но не суть важно):

sqlite3 /home/user/.rtcom-eventlogger/el-v1.db "SELECT * FROM Events"

Посчитать все входящие и исходящие смски пользователю с номером XXXXXXXX:

sqlite3 /home/user/.rtcom-eventlogger/el-v1.db "SELECT count(*) FROM Events WHERE event_type_id=7 AND remote_uid LIKE '%XXXXXXXX%'"

То же, но только исходящие смски:

sqlite3 /home/user/.rtcom-eventlogger/el-v1.db "SELECT count(*) FROM Events WHERE event_type_id=7 AND outgoing=1 AND remote_uid LIKE '%XXXXXXXX%'"

Посчитать количество символов, которые вы настрочили за все время пользователю XXXXXXXXX: smile

sqlite3 /home/user/.rtcom-eventlogger/el-v1.db "SELECT free_text FROM Events WHERE event_type_id=7 AND outgoing=1 AND remote_uid LIKE '%XXXXXXXXXX%'" | wc -c

Показать все смски, отправленные пользователю XXXXXXXX за январь 2011:

sqlite3 /home/user/.rtcom-eventlogger/el-v1.db "SELECT strftime('%Y-%m-%d %H-%M-%S', start_time, 'unixepoch'),' - ', free_text FROM Events WHERE event_type_id=7 AND outgoing=1 AND remote_uid LIKE '%XXXXXXXX%' AND strftime('%Y%m', start_time, 'unixepoch')='201101'"

Показать все телефонные звонки пользователю XXXXXXXXXX за январь 2011:
Входящие:

sqlite3 /home/user/.rtcom-eventlogger/el-v1.db "SELECT strftime('%Y-%m-%d %H-%M-%S', start_time, 'unixepoch') FROM Events WHERE event_type_id=1 AND outgoing=0 AND remote_uid LIKE '%XXXXXXXXXXX%' AND strftime('%Y%m', start_time, 'unixepoch')='201101'"

Исходящие:

sqlite3 /home/user/.rtcom-eventlogger/el-v1.db "SELECT strftime('%Y-%m-%d %H-%M-%S', start_time, 'unixepoch') FROM Events WHERE event_type_id=1 AND outgoing=1 AND remote_uid LIKE '%XXXXXXXXXX%' AND strftime('%Y%m', start_time, 'unixepoch')='201101'"

(Продолжительность звонка по идее можно вычислить по разнице end_time и start_time, но у меня почему-то end_time всегда равен 0)

Вобщем, там простора для фантазии - масса. Любую статистику, которую хотите, в любом виде можно получать SQL-запросами. По звонкам, смскам, чатам(skype/jabber/etc). Можно конвертировать в любой формат, для бэкапов, для экспорта, чего угодно.

PS. Для быстрого просмотра sqlite-файлов есть программа dbbrowser (на телефоне всмысле), но она годится только для отображения.

---
Быть мрачным и непонятным очень просто. Охрененно трудно быть добрым и ясным. (с) Стивен Содеберг.

2

Re: Играемся с историей смс/чатов/звонков

Как хорошо, что в нашем аппарате почти везде используются известные и общепринятые стандарты.

Поделиться

3

Re: Играемся с историей смс/чатов/звонков

а без конкретного номера можно? просто счётчик всех отправленных смс?

Communications: 3210 > 3310 > 6310 > 6310i > 6610 > 3230 > 7610 > N95-1 > Nokia N900, +Toshiba G900; Audio: iRiver PMP-120 > Cowon Q5W 60gb; Photo: Sony H9 > Nikon D7000?; Video: Sony DCR-SR42E > Sony NEX-VG10E?.

Поделиться

4

Re: Играемся с историей смс/чатов/звонков

Думаю так:
sqlite3 /home/user/.rtcom-eventlogger/el-v1.db "SELECT count(*) FROM Events WHERE event_type_id=7 AND outgoing=1"

На форуме появляюсь редко, но N900 пользоваться не перестал, если вдруг что-то нужно пишите в jabber или eMail
Jabber: mrclon@jabnet.org

Поделиться

5

Re: Играемся с историей смс/чатов/звонков

divan пишет:

PS. Для быстрого просмотра sqlite-файлов есть программа dbviewer (на телефоне всмысле), но она годится только для отображения.

почему только для отображения??? там же есть поля для ввода запросов посредством которых можно и модифицировать и что угодно делать там ;-)

We all know Linux is great … it does infinite loops in 5 seconds.The only limiting factor of the Linux operating system is its user.

Поделиться

6

Re: Играемся с историей смс/чатов/звонков

divan пишет:

Ставим sqlite3

Она уже есть в прошивке.

divan пишет:

PS. Для быстрого просмотра sqlite-файлов есть программа dbviewer (на телефоне всмысле), но она годится только для отображения.

Где?

A mammal should be able to hunt mice, hibernate, fly, chew its cud, echolocate, invent tools, lay eggs, burrow. Speciation is for insects.

Поделиться

7

Re: Играемся с историей смс/чатов/звонков

hxka в репозитории она есть ;-) http://maemo.org/packages/view/dbbrowser/ , названием он чуть ошибся только

We all know Linux is great … it does infinite loops in 5 seconds.The only limiting factor of the Linux operating system is its user.

8

Re: Играемся с историей смс/чатов/звонков

bonapart пишет:

почему только для отображения??? там же есть поля для ввода запросов посредством которых можно и модифицировать и что угодно делать там ;-)

Есть, да, но у меня там только поле для ввода самого SQL, а кнопочки "Выполнить" или чего-либо подобного нет ))) Я понимаю, что так не должно быть, но как выполнить SQL в ней, я не нашел.

Немножко ещё подробностей. event_type_id - это идентификаторы типа (смс/чат/звонок/etc), которые можно посмотреть в таблице EventTypes (sqlite3 /home/user/.rtcom-eventlogger/el-v1.db "SELECT * FROM EventTypes"):
1 - Звонок
3 - Пропущенный звонок
4 - Голосовая почта
5 - Чат-сообщение (IM)
7 - Смс
8 - Чат-нотификация (?)
9 - Action message
10 - Автоответ (Autoreply message)
11 - Пользователь зашел в групповой чат (Group chat joined)
12 - Пользователь покинул групповой чат (Group chat leave)
13 - Тема чата изменена (Group chat topic change)

Для фильтрации входящих/исходящих/всех событий - поле outgoing.

По jabber/skype чатам фильтровать тоже по никам можно - "remote_uid=SKYPE_NAME". Вобщем, изучайте кому интересно структуру базы данных и читайте документацию по SQLite.

---
Быть мрачным и непонятным очень просто. Охрененно трудно быть добрым и ясным. (с) Стивен Содеберг.

Сайт divan

Поделиться

9 (03.02.2011 17:40:19 отредактировано bonapart)

Re: Играемся с историей смс/чатов/звонков

divan контрол+энтер или шифт+энтер ;-)

We all know Linux is great … it does infinite loops in 5 seconds.The only limiting factor of the Linux operating system is its user.

Поделиться

10

Re: Играемся с историей смс/чатов/звонков

bonapart пишет:

hxka в репозитории она есть ;-) http://maemo.org/packages/view/dbbrowser/ , названием он чуть ошибся только

Ссори, точно. Сейчас исправлю.

Добавлено: 03.02.2011 17:42:26

bonapart пишет:

divan контрол+энтер или шифт+энтер ;-)

Да вроде бы пробовал ctrl-enter...

---
Быть мрачным и непонятным очень просто. Охрененно трудно быть добрым и ясным. (с) Стивен Содеберг.

Сайт divan

Поделиться

11

Re: Играемся с историей смс/чатов/звонков

divan ток что проверил, через шифт+энтер все идет там

We all know Linux is great … it does infinite loops in 5 seconds.The only limiting factor of the Linux operating system is its user.

Поделиться

12

Re: Играемся с историей смс/чатов/звонков

а чем на компе её открыть можно? аксесс не хочет

Поделиться

13

Re: Играемся с историей смс/чатов/звонков

nick_stokes пишет:

а чем на компе её открыть можно? аксесс не хочет

Погугли насчёт sqlite

N900 - живучий тел smile.

14

Re: Играемся с историей смс/чатов/звонков

Скопилось приличное количество смс-ок с человеком, хотелось бы узнать как можно сконвертировать их пачкой в 1 файл? Например на симбиане у меня была прога Дневник Смс, там он сам создавать что-то типа базы и выводил всё в html файл, можно ли нечто подобное реализовать на N900 ? По идее смс-ки в БД на MySQL и их вроде бы можно как-то вынести?
Сохранять по одной через Ovi Suite или скриншотить - не предлагать. 
Режим "стрелки" тоже не получается применить, т.к. в такой случае невозможно пролистывать окно, получается та же тема, что и со скриншотом.

Поделиться

15

Re: Играемся с историей смс/чатов/звонков

http://meegos.ru/forum/viewtopic.php?id=3816

A mammal should be able to hunt mice, hibernate, fly, chew its cud, echolocate, invent tools, lay eggs, burrow. Speciation is for insects.

Поделиться