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.
master
Maarten van Gompel 4 years ago committed by Miles Alan
parent 7f2f50c11a
commit 565eae8835
  1. 6
      scripts/core/sxmo_contacts.sh
  2. 2
      scripts/modem/sxmo_modemcall.sh
  3. 2
      scripts/modem/sxmo_modemmonitor.sh
  4. 2
      scripts/modem/sxmo_modemtext.sh

@ -4,6 +4,8 @@
# 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"
CONTACTSFILE="$XDG_CONFIG_HOME"/sxmo/contacts.tsv CONTACTSFILE="$XDG_CONFIG_HOME"/sxmo/contacts.tsv
@ -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…
Cancel
Save