Fix military aircraft classification regex to reduce false positives (issue-1)
This commit is contained in:
+5
-2
@@ -220,7 +220,7 @@ async function syncMilitaryIcao() {
|
|||||||
try {
|
try {
|
||||||
const page = await fetch(ADSB_URL + ':8080').then(resp => resp.text());
|
const page = await fetch(ADSB_URL + ':8080').then(resp => resp.text());
|
||||||
const db = /databaseFolder = "(db-.+?)"/.exec(page);
|
const db = /databaseFolder = "(db-.+?)"/.exec(page);
|
||||||
const res = await fetch(ADSB_URL + `:8080/${db[1]}/ranges.js`);
|
const res = await fetch(ADSB_URL + `${db[1]}/ranges.js`);
|
||||||
if (!res.ok) throw new Error(`HTTP ${res.status}`);
|
if (!res.ok) throw new Error(`HTTP ${res.status}`);
|
||||||
const { military } = await res.json();
|
const { military } = await res.json();
|
||||||
db.exec('DELETE FROM military_ranges');
|
db.exec('DELETE FROM military_ranges');
|
||||||
@@ -243,7 +243,10 @@ export function classifyAircraft(row) {
|
|||||||
|
|
||||||
const matchesAny = (fields, list) => fields.some(f => {
|
const matchesAny = (fields, list) => fields.some(f => {
|
||||||
const value = normalizeName(f);
|
const value = normalizeName(f);
|
||||||
return value && list.some(k => value.includes(normalizeName(k)));
|
return value && list.some(k => {
|
||||||
|
const kw = normalizeName(k);
|
||||||
|
return kw && new RegExp('\\b' + kw.replace(/[.*+?^${}()|[\\]\\]/g, '\\$&') + '\\b', 'i').test(value);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
const operators = [row.operator, row.operatorCallsign, row.owner];
|
const operators = [row.operator, row.operatorCallsign, row.owner];
|
||||||
|
|||||||
Reference in New Issue
Block a user