feat: New badges in cluster view for new Counties and new POTA
This commit is contained in:
@@ -318,7 +318,7 @@ func Migrate(defs []Def) ([]Def, bool) {
|
||||
func Fields() []string {
|
||||
return []string{
|
||||
"dxcc", "cqz", "ituz", "prefix", "callsign",
|
||||
"state", "cont", "country", "grid", "grid4",
|
||||
"state", "us_county", "cont", "country", "grid", "grid4",
|
||||
"iota", "sota_ref", "pota_ref", "wwff",
|
||||
"name", "qth", "address", "comment", "note",
|
||||
}
|
||||
@@ -693,7 +693,11 @@ func USCountyKey(state, cnty string) string {
|
||||
if len(st) != 2 || co == "" {
|
||||
return ""
|
||||
}
|
||||
return st + "," + co
|
||||
// Separator is "/", NOT ",": the QSOFIELDS matcher splits a field value on
|
||||
// commas/semicolons (n-fer POTA "US-1,US-2"), which would shatter "AL,AUTAUGA"
|
||||
// into two non-matching tokens. The stored ADIF cnty keeps its comma; only
|
||||
// this internal match key uses "/".
|
||||
return st + "/" + co
|
||||
}
|
||||
|
||||
// labelRef fills a worked reference's name/group from the reference list (or the
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"def": {
|
||||
"code": "USCOUNTIES",
|
||||
"name": "US Counties (USA-CA)",
|
||||
"description": "Worked US counties (CQ USA-CA). Matches the QSO's county, tolerating LoTW \"ST,County\" and bare county-name shapes.",
|
||||
"code": "USA-CA",
|
||||
"name": "USA-CA (US Counties)",
|
||||
"description": "CQ United States of America Counties Award. Matches the QSO's county, tolerating LoTW \"ST,County\" and bare county-name shapes. Independent cities of Virginia/Nevada and DC are excluded per the award rules.",
|
||||
"valid": true,
|
||||
"protected": true,
|
||||
"type": "QSOFIELDS",
|
||||
@@ -11,6 +11,7 @@
|
||||
"exact_match": true,
|
||||
"pattern": "",
|
||||
"ref_display": "name",
|
||||
"url": "https://cq-amateur-radio.com/cq_awards/cq_usa_ca_awards/cq_usa_ca_awards.html",
|
||||
"dxcc_filter": [
|
||||
291,
|
||||
110,
|
||||
@@ -6,15 +6,15 @@ func TestUSCountyKey(t *testing.T) {
|
||||
cases := []struct {
|
||||
state, cnty, want string
|
||||
}{
|
||||
{"MA", "MA,MIDDLESEX", "MA,MIDDLESEX"}, // LoTW "ST,County" shape
|
||||
{"NJ", "Middlesex", "NJ,MIDDLESEX"}, // bare name + state column
|
||||
{"TX", "Montgomery", "TX,MONTGOMERY"}, // title case
|
||||
{"FL", "Saint Lucie", "FL,STLUCIE"}, // Saint→St, space dropped
|
||||
{"FL", "St. Lucie", "FL,STLUCIE"}, // FIPS abbreviation, period dropped
|
||||
{"AK", "Matanuska-Susitna", "AK,MATANUSKASUSITNA"}, // hyphen→space→dropped
|
||||
{"IL", "De Kalb", "IL,DEKALB"}, // split name
|
||||
{"IL", "DeKalb County", "IL,DEKALB"}, // suffix + one word
|
||||
{"LA", "Acadia Parish", "LA,ACADIA"}, // parish suffix
|
||||
{"MA", "MA,MIDDLESEX", "MA/MIDDLESEX"}, // LoTW "ST,County" shape
|
||||
{"NJ", "Middlesex", "NJ/MIDDLESEX"}, // bare name + state column
|
||||
{"TX", "Montgomery", "TX/MONTGOMERY"}, // title case
|
||||
{"FL", "Saint Lucie", "FL/STLUCIE"}, // Saint→St, space dropped
|
||||
{"FL", "St. Lucie", "FL/STLUCIE"}, // FIPS abbreviation, period dropped
|
||||
{"AK", "Matanuska-Susitna", "AK/MATANUSKASUSITNA"}, // hyphen→space→dropped
|
||||
{"IL", "De Kalb", "IL/DEKALB"}, // split name
|
||||
{"IL", "DeKalb County", "IL/DEKALB"}, // suffix + one word
|
||||
{"LA", "Acadia Parish", "LA/ACADIA"}, // parish suffix
|
||||
{"", "Honolulu", ""}, // no state → no match
|
||||
{"HI", "0", ""}, // garbage
|
||||
{"HI", "", ""}, // empty
|
||||
|
||||
Reference in New Issue
Block a user