Allow standard parentheses for DX cluster "de_grid<prop_mode>dx_grid" structures

This commit is contained in:
Ian Renton
2026-06-21 22:18:20 +01:00
parent 615e1183a8
commit f28bcc2464
9 changed files with 21 additions and 21 deletions

View File

@@ -290,23 +290,23 @@ class Spot:
if self.sig_refs and len(self.sig_refs) > 0 and not self.sig:
self.sig = self.sig_refs[0].sig
# Parse "de_grid<prop_mode>dx_grid" structures from the comment, e.g. "JN61ES<ES>JM56XT" or "JO02GQ<>KN17LG".
# Parse "de_grid<prop_mode>dx_grid" structures from the comment, e.g. "JN61ES(ES)JM56XT" or "JO02GQ<>KN17LG".
# These are common on cluster spots and can provide grid references in preference to e.g. QRZ lookup, as well as
# being the only source we have for propagation mode.
# being the only source we have for propagation mode. Brace for nightmare regex from hell.
if self.comment:
grid_mode_grid_match = re.search(
r'\b([A-Ra-r]{2}\d{2}(?:[A-Xa-x]{2}(?:\d{2})?)?)<([^>]*)>([A-Ra-r]{2}\d{2}(?:[A-Xa-x]{2}(?:\d{2})?)?)\b',
r'\b([A-Ra-r]{2}\d{2}(?:[A-Xa-x]{2}(?:\d{2})?)?)(?:<([^>]*)>|\(([^)]*)\))([A-Ra-r]{2}\d{2}(?:[A-Xa-x]{2}(?:\d{2})?)?)\b',
self.comment)
if grid_mode_grid_match:
# regex matches, so extract grids:
if not self.de_grid:
self.de_grid = grid_mode_grid_match.group(1).upper()
if not self.dx_grid:
self.dx_grid = grid_mode_grid_match.group(3).upper()
self.dx_grid = grid_mode_grid_match.group(4).upper()
self.dx_location_source = "SPOT"
# And extract propagation mode:
mode_tag = grid_mode_grid_match.group(2).upper()
# And extract propagation mode (group 2 for <...>, group 3 for (...)):
mode_tag = (grid_mode_grid_match.group(2) or grid_mode_grid_match.group(3) or "").upper()
if mode_tag and not self.propagation_mode:
if mode_tag in PROPAGATION_MODES:
self.propagation_mode = PROPAGATION_MODES[mode_tag]

View File

@@ -76,7 +76,7 @@
</div>
<script src="/js/add-spot.js?v=1782076050"></script>
<script src="/js/add-spot.js?v=1782076701"></script>
<script>$(document).ready(function () {
$("#nav-link-add-spot").addClass("active");
}); <!-- highlight active page in nav --></script>

View File

@@ -75,7 +75,7 @@
</div>
<script src="/js/alerts.js?v=1782076050"></script>
<script src="/js/alerts.js?v=1782076701"></script>
<script>$(document).ready(function () {
$("#nav-link-alerts").addClass("active");
}); <!-- highlight active page in nav --></script>

View File

@@ -77,8 +77,8 @@
<script>
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
</script>
<script src="/js/spotsbandsandmap.js?v=1782076050"></script>
<script src="/js/bands.js?v=1782076050"></script>
<script src="/js/spotsbandsandmap.js?v=1782076701"></script>
<script src="/js/bands.js?v=1782076701"></script>
<script>$(document).ready(function () {
$("#nav-link-bands").addClass("active");
}); <!-- highlight active page in nav --></script>

View File

@@ -1,6 +1,6 @@
{% extends "skeleton.html" %}
{% block head_extra %}
<link rel="stylesheet" href="/css/style.css?v=1782076050" type="text/css">
<link rel="stylesheet" href="/css/style.css?v=1782076701" type="text/css">
<link href="/vendor/css/bootstrap-5.3.8.min.css" rel="stylesheet">
<link href="/vendor/css/fontawesome-6.7.2.min.css" rel="stylesheet">
<link href="/vendor/css/solid-6.7.2.min.css" rel="stylesheet">
@@ -10,10 +10,10 @@
<script src="/vendor/js/bootstrap-5.3.8.bundle.min.js"></script>
<script src="/vendor/js/tinycolor2-1.6.0.min.js"></script>
<script src="/js/utils.js?v=1782076050"></script>
<script src="/js/ui-ham.js?v=1782076050"></script>
<script src="/js/geo.js?v=1782076050"></script>
<script src="/js/common.js?v=1782076050"></script>
<script src="/js/utils.js?v=1782076701"></script>
<script src="/js/ui-ham.js?v=1782076701"></script>
<script src="/js/geo.js?v=1782076701"></script>
<script src="/js/common.js?v=1782076701"></script>
{% end %}
{% block body %}
<div class="container">

View File

@@ -284,7 +284,7 @@
</div>
<script src="/vendor/js/chart-4.4.9.umd.min.js"></script>
<script src="/js/conditions.js?v=1782076050"></script>
<script src="/js/conditions.js?v=1782076701"></script>
<script>$(document).ready(function () {
$("#nav-link-conditions").addClass("active");
}); <!-- highlight active page in nav --></script>

View File

@@ -95,8 +95,8 @@
<script>
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
</script>
<script src="/js/spotsbandsandmap.js?v=1782076049"></script>
<script src="/js/map.js?v=1782076049"></script>
<script src="/js/spotsbandsandmap.js?v=1782076701"></script>
<script src="/js/map.js?v=1782076701"></script>
<script>$(document).ready(function () {
$("#nav-link-map").addClass("active");
}); <!-- highlight active page in nav --></script>

View File

@@ -116,8 +116,8 @@
<script>
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
</script>
<script src="/js/spotsbandsandmap.js?v=1782076049"></script>
<script src="/js/spots.js?v=1782076049"></script>
<script src="/js/spotsbandsandmap.js?v=1782076701"></script>
<script src="/js/spots.js?v=1782076701"></script>
<script>$(document).ready(function () {
$("#nav-link-spots").addClass("active");
}); <!-- highlight active page in nav --></script>

View File

@@ -59,7 +59,7 @@
</div>
</div>
<script src="/js/status.js?v=1782076050"></script>
<script src="/js/status.js?v=1782076701"></script>
<script>
$(document).ready(function () {
$("#nav-link-status").addClass("active");