From 01986d2a8a71155dd5441332e4576aa546cd2829 Mon Sep 17 00:00:00 2001 From: djk Date: Mon, 19 Jul 1999 15:03:23 +0000 Subject: [PATCH] added iota and qra clause to show/dx --- Changes | 3 +++ cmd/Commands_en.hlp | 13 ++++++++++++- cmd/show/dx.pl | 31 ++++++++++++++++++++++++++++++- 3 files changed, 45 insertions(+), 2 deletions(-) diff --git a/Changes b/Changes index 7faaf0cb..18e9f143 100644 --- a/Changes +++ b/Changes @@ -1,3 +1,6 @@ +19Jul99======================================================================= +1. Added iota and qra clauses to sh/dx as well, these take optional arguments +and will look for the appropriate strings. 17Jul99======================================================================= 1. Started database integration. 2. added qsl clause to sh/dx that searches for qsl or via in the dx info diff --git a/cmd/Commands_en.hlp b/cmd/Commands_en.hlp index 3acb929b..4342f5f2 100644 --- a/cmd/Commands_en.hlp +++ b/cmd/Commands_en.hlp @@ -381,7 +381,15 @@ info - any spots containing in the info or remarks spotter - any spots spotted by qsl - this automatically looks for any qsl info on the call - held in the database. + held in the spot database. + +iota [] - If the iota island number is missing it will look for + the string iota and anything which looks like an iota + island number. If you specify then it will look for + that island. + +qra [] - this will look for the specific locator if you specify + one or else anything that looks like a locator. e.g. @@ -389,6 +397,9 @@ e.g. SH/DX on 20m info iota SH/DX 9a on vhf day 30 SH/DX rf1p qsl + SH/DX iota + SH/DX iota eu-064 + SH/DX qra jn86 === 0^SHOW/DXCC ^Interrogate the spot database by country This command takes the (which can be a full or partial diff --git a/cmd/show/dx.pl b/cmd/show/dx.pl index fecf16fc..f74fb996 100644 --- a/cmd/show/dx.pl +++ b/cmd/show/dx.pl @@ -18,7 +18,7 @@ my $pre; my $spotter; my $info; my $expr; -my $doqsl; +my ($doqsl, $doiota, $doqra); while ($f = shift @list) { # next field # print "f: $f list: ", join(',', @list), "\n"; @@ -61,6 +61,23 @@ while ($f = shift @list) { # next field $doqsl = 1; next; } + if (lc $f eq 'iota') { + my ($a, $b); +# $DB::single =1; + + if (($a, $b) = $list[0] =~ /(AF|AN|NA|SA|EU|AS|OC)-?(\d\d\d)/oi) { + $a = uc $a; + $doiota = "\\b$a\[\-\ \]\?$b\\b"; + shift @list; + } + $doiota = '\b(IOTA|(AF|AN|NA|SA|EU|AS|OC)[- ]?\d\d\d)\b' unless $doiota; + next; + } + if (lc $f eq 'qra') { + $doqra = uc shift @list if $list[0] =~ /[A-Z][A-Z]\d\d/oi; + $doqra = '\b([A-Z][A-Z]\d\d|[A-Z][A-Z]\d\d[A-Z][A-Z])\b' unless $doqra; + next; + } if (!$pre) { $pre = uc $f; } @@ -107,6 +124,18 @@ if ($doqsl) { $expr .= "\$f3 =~ m{(QSL|VIA)}io"; } +# iota requests +if ($doiota) { + $expr .= " && " if $expr; + $expr .= "\$f3 =~ m{$doiota}io"; +} + +# iota requests +if ($doqra) { + $expr .= " && " if $expr; + $expr .= "\$f3 =~ m{$doqra}io"; +} + #print "expr: $expr from: $from to: $to fromday: $fromday today: $today\n"; # now do the search -- 2.43.0