2 # 2009-07-25, alex@barton.de
10 [ -n "$DEBUG" ] && VERBOSE=1
21 [ -n "$VERBOSE" ] && message "$*"
24 [ -n "$DEBUG" ] && verbose "$*"
29 NAME=`basename "$0" | cut -d'.' -f1`
30 DATA_DIR=~/Library/Application\ Support/$NAME
31 CALL_LOG="${DATA_DIR}/call.log"
32 CALL_TMP="/tmp/$NAME.$$.call.log.tmp"
33 debug "DATA_DIR=$DATA_DIR"
35 mkdir -p "$DATA_DIR" || abort "Can't create \"$DATA_DIR\"!"
37 if [ -z "$backup_d" ]; then
38 verbose "Locating backup directory ..."
39 cd ~/Library/Application\ Support/MobileSync/Backup/ \
40 || abort "No backup data stores found!?"
42 || abort "Can't access backup directory!?"
44 cd "$backup_d" || abort "Can't access backup directory!?"
46 verbose "iPhone Backup directory is \"$PWD\"."
48 if [ -z "$call_db" ]; then
49 verbose "Locating SQLite call database ..."
50 call_db=$(for f in `file * | fgrep SQLite | cut -d':' -f1`; do
51 sqlite3 "$f" ".schema" | fgrep "CREATE TABLE call (" >/dev/null;
52 [ $? -eq 0 ] && echo "$f"; done
55 verbose "Call database is \"$call_db\"."
57 if [ -e "$CALL_LOG" ]; then
58 debug "Copying existing ASCII call log ..."
59 cp "$CALL_LOG" "$CALL_TMP" || abort "Can't copy old log file!"
61 verbose "Dumping SQLite call databse ..."
62 sqlite3 "$call_db" "select * from call;" >>"$CALL_TMP"
63 verbose "Sorting plain ASCII call log ..."
64 sort -u "$CALL_TMP" >"$CALL_LOG"
66 first_d=$(date -r `head -1 "$CALL_LOG" | cut -d'|' -f3` "+%Y-%m-%d %H:%M")
67 last_d=$(date -r `tail -1 "$CALL_LOG" | cut -d'|' -f3` "+%Y-%m-%d %H:%M")
68 message `wc -l "$CALL_LOG" | awk '{print \$1}'`" unique entries logged, from $first_d to $last_d."