Updated handling of '+' in phone numbers, it is now never stripped but expected: all numbers should be full international phone numbers (including in contacts.tsv).
Ensure contacts from modem and contacts lists are all fully qualified phone numbers (starting with + and carrying a country prefix). This effectively filters out older/incompatible entries.
This commit is contained in:
parent
7f2f50c11a
commit
565eae8835
4 changed files with 7 additions and 5 deletions
|
@ -3,6 +3,8 @@
|
||||||
# modem log merged with contact names defined in contacts file tsv.
|
# modem log merged with contact names defined in contacts file tsv.
|
||||||
# Wherein $CONTACTSFILE is tsv with two fields: number\tcontact name
|
# Wherein $CONTACTSFILE is tsv with two fields: number\tcontact name
|
||||||
# Wherein $LOGFILE is *sorted* tsv with three fields: date\tevt\tnumber
|
# Wherein $LOGFILE is *sorted* tsv with three fields: date\tevt\tnumber
|
||||||
|
#
|
||||||
|
# number should be a full phone number starting with + and the country number
|
||||||
#
|
#
|
||||||
# Prints in output format: "number: contact"
|
# Prints in output format: "number: contact"
|
||||||
|
|
||||||
|
@ -14,14 +16,14 @@ contacts() {
|
||||||
RECENTCONTACTEDNUMBERSREVCHRON="$(
|
RECENTCONTACTEDNUMBERSREVCHRON="$(
|
||||||
cut -f3 "$LOGFILE" |
|
cut -f3 "$LOGFILE" |
|
||||||
tac |
|
tac |
|
||||||
awk '!($0 in a){a[$0];print}' |
|
awk '!($0 in a){a[$0]; if (substr($0,1,1) == "+") print}' |
|
||||||
sed '/^[[:space:]]*$/d'
|
sed '/^[[:space:]]*$/d'
|
||||||
)"
|
)"
|
||||||
printf %b "$RECENTCONTACTEDNUMBERSREVCHRON" | awk -F'\t' '
|
printf %b "$RECENTCONTACTEDNUMBERSREVCHRON" | awk -F'\t' '
|
||||||
FNR==NR{a[$1]=$2; next}
|
FNR==NR{a[$1]=$2; next}
|
||||||
{
|
{
|
||||||
if (!a[$1]) a[$1] = "Unknown Number";
|
if (!a[$1]) a[$1] = "Unknown Number";
|
||||||
print $0 ": " a[$1]
|
if (substr($0,1,1) == "+") print $0 ": " a[$1]
|
||||||
}
|
}
|
||||||
' "$CONTACTSFILE" -
|
' "$CONTACTSFILE" -
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,7 +41,7 @@ vid_to_number() {
|
||||||
mmcli -m "$(modem_n)" -o "$1" -K |
|
mmcli -m "$(modem_n)" -o "$1" -K |
|
||||||
grep call.properties.number |
|
grep call.properties.number |
|
||||||
cut -d ':' -f2 |
|
cut -d ':' -f2 |
|
||||||
tr -d ' +'
|
tr -d ' '
|
||||||
}
|
}
|
||||||
|
|
||||||
log_event() {
|
log_event() {
|
||||||
|
|
|
@ -103,7 +103,7 @@ checkfornewtexts() {
|
||||||
NUM="$(
|
NUM="$(
|
||||||
echo "$TEXTDATA" |
|
echo "$TEXTDATA" |
|
||||||
grep sms.content.number |
|
grep sms.content.number |
|
||||||
sed -E 's/^sms\.content\.number\s+:\s+[+]?//'
|
sed -E 's/^sms\.content\.number\s+:\s+//'
|
||||||
)"
|
)"
|
||||||
TIME="$(echo "$TEXTDATA" | grep sms.properties.timestamp | sed -E 's/^sms\.properties\.timestamp\s+:\s+//')"
|
TIME="$(echo "$TEXTDATA" | grep sms.properties.timestamp | sed -E 's/^sms\.properties\.timestamp\s+:\s+//')"
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,7 @@ sendtextmenu() {
|
||||||
awk NF |
|
awk NF |
|
||||||
menu sxmo_dmenu_with_kb.sh -p "Number" -fn "Terminus-20" -l 10 -c -i |
|
menu sxmo_dmenu_with_kb.sh -p "Number" -fn "Terminus-20" -l 10 -c -i |
|
||||||
cut -d: -f1 |
|
cut -d: -f1 |
|
||||||
tr -d -- '-+ '
|
tr -d -- '- '
|
||||||
)"
|
)"
|
||||||
echo "$NUMBER" | grep -E "^Cancel$" && exit 1
|
echo "$NUMBER" | grep -E "^Cancel$" && exit 1
|
||||||
echo "$NUMBER" | grep -qE '^[+0-9]+$' || err "That doesn't seem like a valid number"
|
echo "$NUMBER" | grep -qE '^[+0-9]+$' || err "That doesn't seem like a valid number"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue