Тема: Играемся с историей смс/чатов/звонков
На днях захотелось посмотреть статистику по смскам - сколько отправил определенному человеку. Сделать это оказалось очень просто.
Вся история смс/звонков/чатов хранится в файле /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:
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 (на телефоне всмысле), но она годится только для отображения.
Быть мрачным и непонятным очень просто. Охрененно трудно быть добрым и ясным. (с) Стивен Содеберг.