Fix military aircraft classification regex to reduce false positives (issue-1)
This commit is contained in:
+20
-17
@@ -111,21 +111,21 @@ export async function initAircraftDb() {
|
||||
db = new Database(DB_PATH);
|
||||
db.exec(`
|
||||
CREATE TABLE IF NOT EXISTS aircraft (
|
||||
icao TEXT PRIMARY KEY,
|
||||
built TEXT,
|
||||
categoryDescription TEXT,
|
||||
country TEXT,
|
||||
engines TEXT,
|
||||
class TEXT,
|
||||
manufacturer TEXT,
|
||||
model TEXT,
|
||||
modes TEXT,
|
||||
operator TEXT,
|
||||
operatorCallsign TEXT,
|
||||
owner TEXT,
|
||||
registration TEXT,
|
||||
serialNumber TEXT,
|
||||
aircraft TEXT
|
||||
icao TEXT PRIMARY KEY,
|
||||
built TEXT,
|
||||
categoryDescription TEXT,
|
||||
country TEXT,
|
||||
engines TEXT,
|
||||
class TEXT,
|
||||
manufacturer TEXT,
|
||||
model TEXT,
|
||||
modes TEXT,
|
||||
operator TEXT,
|
||||
operatorCallsign TEXT,
|
||||
owner TEXT,
|
||||
registration TEXT,
|
||||
serialNumber TEXT,
|
||||
aircraft TEXT
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS military_ranges (start TEXT NOT NULL, end TEXT NOT NULL);
|
||||
@@ -220,7 +220,7 @@ async function syncMilitaryIcao() {
|
||||
try {
|
||||
const page = await fetch(ADSB_URL + ':8080').then(resp => resp.text());
|
||||
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}`);
|
||||
const { military } = await res.json();
|
||||
db.exec('DELETE FROM military_ranges');
|
||||
@@ -243,7 +243,10 @@ export function classifyAircraft(row) {
|
||||
|
||||
const matchesAny = (fields, list) => fields.some(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];
|
||||
|
||||
Reference in New Issue
Block a user