feat: H26 award recognises each canton by its main cities (regex per reference)
Operators rarely write the canton in their address/QTH but do write the city. Add a per-reference city regex to every one of the 26 cantons (same mechanism as WAPC): the description match now fires on the canton NAME or any of its main cities (Genève→GE, Lausanne→VD, Zürich→ZH, Bellinzona→TI, …), with accented and ASCII/localised spellings. Scoped to DXCC 287 so cross-border city-name clashes can't misfire. Catalog version bumped 1→2 so the update reaches anyone already running H26 v1 (unless they've edited it).
This commit is contained in:
@@ -45,12 +45,13 @@
|
||||
],
|
||||
"total": 0,
|
||||
"builtin": true,
|
||||
"version": 1
|
||||
"version": 2
|
||||
},
|
||||
"references": [
|
||||
{
|
||||
"code": "AG",
|
||||
"name": "Aargau",
|
||||
"pattern": "\\b(Aarau|Baden|Wettingen|Wohlen|Rheinfelden|Zofingen|Lenzburg|Brugg|Oftringen|Suhr|Spreitenbach)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -59,6 +60,7 @@
|
||||
{
|
||||
"code": "AI",
|
||||
"name": "Appenzell Innerrhoden",
|
||||
"pattern": "\\b(Appenzell|Oberegg)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -67,6 +69,7 @@
|
||||
{
|
||||
"code": "AR",
|
||||
"name": "Appenzell Ausserrhoden",
|
||||
"pattern": "\\b(Herisau|Teufen|Speicher|Heiden|Gais|Urnäsch|Waldstatt)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -75,6 +78,7 @@
|
||||
{
|
||||
"code": "BE",
|
||||
"name": "Bern",
|
||||
"pattern": "\\b(Bern|Berne|Thun|Biel|Bienne|Köniz|Burgdorf|Langenthal|Steffisburg|Münsingen|Spiez|Interlaken|Ostermundigen|Lyss|Zollikofen)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -83,6 +87,7 @@
|
||||
{
|
||||
"code": "BL",
|
||||
"name": "Basel-Landschaft",
|
||||
"pattern": "\\b(Liestal|Allschwil|Reinach|Muttenz|Pratteln|Binningen|Münchenstein|Birsfelden|Aesch|Sissach|Oberwil)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -91,6 +96,7 @@
|
||||
{
|
||||
"code": "BS",
|
||||
"name": "Basel-Stadt",
|
||||
"pattern": "\\b(Basel|Bâle|Bale|Riehen|Bettingen)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -99,6 +105,7 @@
|
||||
{
|
||||
"code": "FR",
|
||||
"name": "Fribourg",
|
||||
"pattern": "\\b(Fribourg|Freiburg|Bulle|Marly|Düdingen|Estavayer|Murten|Morat|Villars-sur-Glâne|Guin)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -107,6 +114,7 @@
|
||||
{
|
||||
"code": "GE",
|
||||
"name": "Geneva",
|
||||
"pattern": "\\b(Genève|Geneve|Geneva|Genf|Carouge|Vernier|Lancy|Meyrin|Onex|Thônex|Thonex|Versoix|Bernex|Plan-les-Ouates)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -115,6 +123,7 @@
|
||||
{
|
||||
"code": "GL",
|
||||
"name": "Glarus",
|
||||
"pattern": "\\b(Glarus|Glaris|Näfels|Netstal|Ennenda|Mollis)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -123,6 +132,7 @@
|
||||
{
|
||||
"code": "GR",
|
||||
"name": "Graubünden (Grisons)",
|
||||
"pattern": "\\b(Chur|Coire|Davos|Sankt Moritz|St\\.? Moritz|Landquart|Arosa|Klosters|Ilanz|Thusis|Poschiavo|Domat|Ems)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -131,6 +141,7 @@
|
||||
{
|
||||
"code": "JU",
|
||||
"name": "Jura",
|
||||
"pattern": "\\b(Delémont|Delemont|Porrentruy|Bassecourt|Courroux|Saignelégier|Alle)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -139,6 +150,7 @@
|
||||
{
|
||||
"code": "LU",
|
||||
"name": "Lucerne",
|
||||
"pattern": "\\b(Luzern|Lucerne|Emmen|Kriens|Horw|Ebikon|Sursee|Hochdorf|Willisau|Rothenburg)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -147,6 +159,7 @@
|
||||
{
|
||||
"code": "NE",
|
||||
"name": "Neuchâtel",
|
||||
"pattern": "\\b(Neuchâtel|Neuchatel|Neuenburg|La Chaux-de-Fonds|Chaux-de-Fonds|Le Locle|Peseux|Boudry|Colombier|Marin)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -155,6 +168,7 @@
|
||||
{
|
||||
"code": "NW",
|
||||
"name": "Nidwalden",
|
||||
"pattern": "\\b(Stans|Hergiswil|Buochs|Stansstad|Beckenried|Ennetbürgen)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -163,6 +177,7 @@
|
||||
{
|
||||
"code": "OW",
|
||||
"name": "Obwalden",
|
||||
"pattern": "\\b(Sarnen|Kerns|Alpnach|Engelberg|Sachseln|Giswil)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -171,6 +186,7 @@
|
||||
{
|
||||
"code": "SG",
|
||||
"name": "St. Gallen",
|
||||
"pattern": "\\b(Sankt Gallen|Saint-Gall|Rapperswil|Wil|Gossau|Rorschach|Uzwil|Flawil|Altstätten|Jona)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -179,6 +195,7 @@
|
||||
{
|
||||
"code": "SH",
|
||||
"name": "Schaffhausen",
|
||||
"pattern": "\\b(Schaffhausen|Schaffhouse|Neuhausen|Stein am Rhein|Thayngen)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -187,6 +204,7 @@
|
||||
{
|
||||
"code": "SO",
|
||||
"name": "Solothurn",
|
||||
"pattern": "\\b(Solothurn|Soleure|Olten|Grenchen|Zuchwil|Dornach|Oensingen|Balsthal|Biberist)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -195,6 +213,7 @@
|
||||
{
|
||||
"code": "SZ",
|
||||
"name": "Schwyz",
|
||||
"pattern": "\\b(Schwyz|Einsiedeln|Freienbach|Küssnacht|Arth|Lachen|Wollerau|Brunnen|Goldau)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -203,6 +222,7 @@
|
||||
{
|
||||
"code": "TG",
|
||||
"name": "Thurgau",
|
||||
"pattern": "\\b(Frauenfeld|Kreuzlingen|Arbon|Amriswil|Weinfelden|Romanshorn|Sirnach|Aadorf|Münchwilen)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -211,6 +231,7 @@
|
||||
{
|
||||
"code": "TI",
|
||||
"name": "Ticino",
|
||||
"pattern": "\\b(Lugano|Bellinzona|Locarno|Mendrisio|Chiasso|Biasca|Ascona|Losone|Minusio|Giubiasco|Massagno)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -219,6 +240,7 @@
|
||||
{
|
||||
"code": "UR",
|
||||
"name": "Uri",
|
||||
"pattern": "\\b(Altdorf|Schattdorf|Erstfeld|Andermatt|Flüelen|Bürglen)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -227,6 +249,7 @@
|
||||
{
|
||||
"code": "VD",
|
||||
"name": "Vaud",
|
||||
"pattern": "\\b(Lausanne|Yverdon|Montreux|Nyon|Vevey|Renens|Morges|Gland|Pully|Prilly|Ecublens|Aigle|Payerne|Rolle|Lutry|Bussigny)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -235,6 +258,7 @@
|
||||
{
|
||||
"code": "VS",
|
||||
"name": "Valais",
|
||||
"pattern": "\\b(Sion|Sitten|Martigny|Monthey|Sierre|Brig|Brigue|Naters|Visp|Viège|Conthey|Fully|Verbier|Zermatt|Crans-Montana|Saas-Fee|Savièse|Bagnes)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -243,6 +267,7 @@
|
||||
{
|
||||
"code": "ZG",
|
||||
"name": "Zug",
|
||||
"pattern": "\\b(Zug|Zoug|Baar|Cham|Steinhausen|Risch|Rotkreuz|Hünenberg|Unterägeri|Oberägeri)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
@@ -251,10 +276,11 @@
|
||||
{
|
||||
"code": "ZH",
|
||||
"name": "Zurich",
|
||||
"pattern": "\\b(Zürich|Zurich|Winterthur|Uster|Dübendorf|Dietikon|Wetzikon|Kloten|Wädenswil|Horgen|Thalwil|Opfikon|Küsnacht|Meilen|Bülach|Regensdorf|Schlieren|Adliswil|Volketswil)\\b",
|
||||
"dxcc": 287,
|
||||
"group": "",
|
||||
"subgrp": "",
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user