feat(awards): match on CNTY as it stands, not only keyed to a US state

The award field list offered us_county, which returns STATE,County --
correct for the United States, where Jefferson County exists in several
states, and wrong for every award whose district is already unique. An
RDA reference (RO-19) never matched, and there was no other field to
point an award at.

Adds county, the raw CNTY value, alongside it.
This commit is contained in:
2026-08-23 18:30:10 +02:00
parent ab89611eca
commit 1c4697ecb2
3 changed files with 41 additions and 3 deletions
+8 -1
View File
@@ -344,7 +344,7 @@ func Migrate(defs []Def) ([]Def, bool) {
func Fields() []string {
return []string{
"dxcc", "cqz", "ituz", "prefix", "callsign",
"state", "us_county", "cont", "country", "grid", "grid4",
"state", "county", "us_county", "cont", "country", "grid", "grid4",
"iota", "sota_ref", "pota_ref", "wwff",
"name", "qth", "address", "comment", "note",
}
@@ -1373,6 +1373,13 @@ func fieldRaw(field string, q *qso.QSO) string {
return q.Callsign
case "state":
return q.State
case "county":
// CNTY as it stands, with nothing prepended. us_county below answers a
// different question — it keys the county to its state, because two US
// states each have a Jefferson County. Outside the United States that
// prefixing is wrong: an RDA district (RO-19) and a Japanese city code
// are already unique, and a state is not what qualifies them.
return q.County
case "us_county":
return USCountyKey(q.State, q.County)
case "cont":