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(s) ..."
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
56 verbose "Found call database: \"$f\""
59 if [ -e "$CALL_LOG" ]; then
60 debug "Copying existing ASCII call log ..."
61 cp "$CALL_LOG" "$CALL_TMP" || abort "Can't copy old log file!"
64 verbose "Dumping SQLite call databse \"$f\" ..."
65 sqlite3 "$f" "select * from call;" >>"$CALL_TMP"
67 verbose "Sorting plain ASCII call log ..."
68 sort -u "$CALL_TMP" >"$CALL_LOG"
70 first_d=$(date -r `head -1 "$CALL_LOG" | cut -d'|' -f3` "+%Y-%m-%d %H:%M")
71 last_d=$(date -r `tail -1 "$CALL_LOG" | cut -d'|' -f3` "+%Y-%m-%d %H:%M")
72 message `wc -l "$CALL_LOG" | awk '{print \$1}'`" unique entries logged, from $first_d to $last_d."