mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Alter the beacon format to be keyed by ID.
ID based lookup will be used for finding ILS and TACAN beacons from the pydcs data.
This commit is contained in:
parent
2aab7c34be
commit
2c53f7952f
@ -1,12 +1,13 @@
|
||||
from dataclasses import dataclass
|
||||
from enum import auto, IntEnum
|
||||
import json
|
||||
from collections.abc import Iterator
|
||||
from dataclasses import dataclass
|
||||
from enum import IntEnum, auto
|
||||
from pathlib import Path
|
||||
from typing import Iterable, Optional
|
||||
from typing import Optional
|
||||
|
||||
from game.radio.radios import RadioFrequency
|
||||
from game.radio.tacan import TacanBand, TacanChannel
|
||||
|
||||
from game.theater import ConflictTheater
|
||||
|
||||
BEACONS_RESOURCE_PATH = Path("resources/dcs/beacons")
|
||||
|
||||
@ -65,10 +66,32 @@ class Beacon:
|
||||
return TacanChannel(self.channel, TacanBand.X)
|
||||
|
||||
|
||||
def load_beacons_for_terrain(name: str) -> Iterable[Beacon]:
|
||||
beacons_file = BEACONS_RESOURCE_PATH / f"{name.lower()}.json"
|
||||
if not beacons_file.exists():
|
||||
raise RuntimeError(f"Beacon file {beacons_file.resolve()} is missing")
|
||||
class Beacons:
|
||||
_by_terrain: dict[str, dict[str, Beacon]] = {}
|
||||
|
||||
for beacon in json.loads(beacons_file.read_text()):
|
||||
yield Beacon(**beacon)
|
||||
@classmethod
|
||||
def _load_for_theater_if_needed(cls, theater: ConflictTheater) -> None:
|
||||
if theater.terrain.name in cls._by_terrain:
|
||||
return
|
||||
|
||||
beacons_file = BEACONS_RESOURCE_PATH / f"{theater.terrain.name.lower()}.json"
|
||||
if not beacons_file.exists():
|
||||
raise RuntimeError(f"Beacon file {beacons_file.resolve()} is missing")
|
||||
|
||||
beacons = {}
|
||||
for bid, beacon in json.loads(beacons_file.read_text()).items():
|
||||
beacons[bid] = Beacon(**beacon)
|
||||
cls._by_terrain[theater.terrain.name] = beacons
|
||||
|
||||
@classmethod
|
||||
def _dict_for_theater(cls, theater: ConflictTheater) -> dict[str, Beacon]:
|
||||
cls._load_for_theater_if_needed(theater)
|
||||
return cls._by_terrain[theater.terrain.name]
|
||||
|
||||
@classmethod
|
||||
def iter_theater(cls, theater: ConflictTheater) -> Iterator[Beacon]:
|
||||
yield from cls._dict_for_theater(theater).values()
|
||||
|
||||
@classmethod
|
||||
def with_id(cls, beacon_id: str, theater: ConflictTheater) -> Beacon:
|
||||
return cls._dict_for_theater(theater)[beacon_id]
|
||||
|
||||
@ -23,7 +23,7 @@ from game.theater.bullseye import Bullseye
|
||||
from game.unitmap import UnitMap
|
||||
from .airconflictdescription import AirConflictDescription
|
||||
from .airsupportgenerator import AirSupportGenerator
|
||||
from .beacons import load_beacons_for_terrain
|
||||
from .beacons import Beacons
|
||||
from .briefinggenerator import BriefingGenerator, MissionInfoGenerator
|
||||
from .cargoshipgenerator import CargoShipGenerator
|
||||
from .convoygenerator import ConvoyGenerator
|
||||
@ -169,8 +169,7 @@ class MissionGenerator:
|
||||
Dedup beacon/radio frequencies, since some maps have some frequencies
|
||||
used multiple times.
|
||||
"""
|
||||
beacons = load_beacons_for_terrain(self.game.theater.terrain.name)
|
||||
for beacon in beacons:
|
||||
for beacon in Beacons.iter_theater(self.game.theater):
|
||||
unique_map_frequencies.add(beacon.frequency)
|
||||
if beacon.is_tacan:
|
||||
if beacon.channel is None:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,198 +1,198 @@
|
||||
[
|
||||
{
|
||||
{
|
||||
"airfield14_0": {
|
||||
"name": "ELCALACAFE",
|
||||
"callsign": "EC",
|
||||
"beacon_type": 15,
|
||||
"hertz": 108900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield14_1": {
|
||||
"name": "ELCALAFATE",
|
||||
"callsign": "ec",
|
||||
"beacon_type": 14,
|
||||
"hertz": 108900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield14_2": {
|
||||
"name": "ECA",
|
||||
"callsign": "ECA",
|
||||
"beacon_type": 4,
|
||||
"hertz": 114700000,
|
||||
"channel": 94
|
||||
},
|
||||
{
|
||||
"airfield2_0": {
|
||||
"name": "MTPLEASANT",
|
||||
"callsign": "imp",
|
||||
"beacon_type": 14,
|
||||
"hertz": 111900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield2_1": {
|
||||
"name": "MP",
|
||||
"callsign": "MP",
|
||||
"beacon_type": 10,
|
||||
"hertz": 380000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield2_2": {
|
||||
"name": "MPA",
|
||||
"callsign": "MPA",
|
||||
"beacon_type": 5,
|
||||
"hertz": 112200000,
|
||||
"channel": 59
|
||||
},
|
||||
{
|
||||
"airfield2_3": {
|
||||
"name": "MTP",
|
||||
"callsign": "MTP",
|
||||
"beacon_type": 2,
|
||||
"hertz": 114700000,
|
||||
"channel": 94
|
||||
},
|
||||
{
|
||||
"airfield2_4": {
|
||||
"name": "MTPLEASANT",
|
||||
"callsign": "IMP",
|
||||
"beacon_type": 15,
|
||||
"hertz": 111900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield1_0": {
|
||||
"name": "stanleyairport",
|
||||
"callsign": "SA",
|
||||
"beacon_type": 10,
|
||||
"hertz": 305000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield1_1": {
|
||||
"name": "DFO",
|
||||
"callsign": "DFO",
|
||||
"beacon_type": 2,
|
||||
"hertz": 113300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield13_0": {
|
||||
"name": "PUERTO NATALES",
|
||||
"callsign": "PNT",
|
||||
"beacon_type": 4,
|
||||
"hertz": 115900000,
|
||||
"channel": 106
|
||||
},
|
||||
{
|
||||
"airfield12_0": {
|
||||
"name": "Puerto Williams",
|
||||
"callsign": "PWL",
|
||||
"beacon_type": 4,
|
||||
"hertz": 114900000,
|
||||
"channel": 96
|
||||
},
|
||||
{
|
||||
"airfield9_0": {
|
||||
"name": "ptarenas",
|
||||
"callsign": "inas",
|
||||
"beacon_type": 15,
|
||||
"hertz": 109900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield9_1": {
|
||||
"name": "",
|
||||
"callsign": "INAS",
|
||||
"beacon_type": 14,
|
||||
"hertz": 109900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield9_2": {
|
||||
"name": "NAS",
|
||||
"callsign": "NAS",
|
||||
"beacon_type": 4,
|
||||
"hertz": 114100000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield9_3": {
|
||||
"name": "NAS",
|
||||
"callsign": "NAS",
|
||||
"beacon_type": 9,
|
||||
"hertz": 270000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield5_0": {
|
||||
"name": "GAL",
|
||||
"callsign": "GAL",
|
||||
"beacon_type": 4,
|
||||
"hertz": 116700000,
|
||||
"channel": 114
|
||||
},
|
||||
{
|
||||
"airfield5_1": {
|
||||
"name": "RIOGALLEGOS",
|
||||
"callsign": "gl",
|
||||
"beacon_type": 14,
|
||||
"hertz": 110300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield5_2": {
|
||||
"name": "RIOGALLEGOS",
|
||||
"callsign": "gl",
|
||||
"beacon_type": 15,
|
||||
"hertz": 110300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_0": {
|
||||
"name": "RIOGRANDE",
|
||||
"callsign": "gr",
|
||||
"beacon_type": 14,
|
||||
"hertz": 109500000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_1": {
|
||||
"name": "GRA",
|
||||
"callsign": "GRA",
|
||||
"beacon_type": 4,
|
||||
"hertz": 117300000,
|
||||
"channel": 120
|
||||
},
|
||||
{
|
||||
"airfield6_2": {
|
||||
"name": "RIOGRANDE",
|
||||
"callsign": "gr",
|
||||
"beacon_type": 15,
|
||||
"hertz": 109500000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_3": {
|
||||
"name": "riograndendb",
|
||||
"callsign": "P",
|
||||
"beacon_type": 10,
|
||||
"hertz": 265000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_4": {
|
||||
"name": "riogrande",
|
||||
"callsign": "gra",
|
||||
"beacon_type": 5,
|
||||
"hertz": 1000000,
|
||||
"channel": 31
|
||||
},
|
||||
{
|
||||
"airfield11_0": {
|
||||
"name": "San Julian",
|
||||
"callsign": "",
|
||||
"beacon_type": 4,
|
||||
"hertz": 117700000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield7_0": {
|
||||
"name": "RIOGRANDE",
|
||||
"callsign": "us",
|
||||
"beacon_type": 14,
|
||||
"hertz": 111300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield7_1": {
|
||||
"name": "Ushuaia",
|
||||
"callsign": "us",
|
||||
"beacon_type": 15,
|
||||
"hertz": 111300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield7_2": {
|
||||
"name": "USU",
|
||||
"callsign": "USU",
|
||||
"beacon_type": 2,
|
||||
"hertz": 113700000,
|
||||
"channel": 84
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1,135 +1,135 @@
|
||||
[
|
||||
{
|
||||
{
|
||||
"world_0": {
|
||||
"name": "MTMACAJNA",
|
||||
"callsign": "AJA",
|
||||
"beacon_type": 9,
|
||||
"hertz": 385000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"world_1": {
|
||||
"name": "Nimitz",
|
||||
"callsign": "UNZ",
|
||||
"beacon_type": 6,
|
||||
"hertz": 115800000,
|
||||
"channel": 105
|
||||
},
|
||||
{
|
||||
"world_2": {
|
||||
"name": "SAIPAN",
|
||||
"callsign": "SN",
|
||||
"beacon_type": 9,
|
||||
"hertz": 312000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_0": {
|
||||
"name": "ANDERSEN",
|
||||
"callsign": "UAM",
|
||||
"beacon_type": 5,
|
||||
"hertz": null,
|
||||
"channel": 54
|
||||
},
|
||||
{
|
||||
"airfield6_1": {
|
||||
"name": "",
|
||||
"callsign": "IPMY",
|
||||
"beacon_type": 15,
|
||||
"hertz": 110150000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_2": {
|
||||
"name": "",
|
||||
"callsign": "IUAM",
|
||||
"beacon_type": 15,
|
||||
"hertz": 110100000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_3": {
|
||||
"name": "",
|
||||
"callsign": "IYIG",
|
||||
"beacon_type": 15,
|
||||
"hertz": 109350000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_4": {
|
||||
"name": "",
|
||||
"callsign": "IAND",
|
||||
"beacon_type": 15,
|
||||
"hertz": 109300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_5": {
|
||||
"name": "",
|
||||
"callsign": "IUAM",
|
||||
"beacon_type": 14,
|
||||
"hertz": 110100000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_6": {
|
||||
"name": "",
|
||||
"callsign": "IAND",
|
||||
"beacon_type": 14,
|
||||
"hertz": 109300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_7": {
|
||||
"name": "",
|
||||
"callsign": "IYIG",
|
||||
"beacon_type": 14,
|
||||
"hertz": 109350000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_8": {
|
||||
"name": "",
|
||||
"callsign": "IPMY",
|
||||
"beacon_type": 14,
|
||||
"hertz": 110150000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield4_0": {
|
||||
"name": "",
|
||||
"callsign": "IGUM",
|
||||
"beacon_type": 14,
|
||||
"hertz": 110300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield4_1": {
|
||||
"name": "",
|
||||
"callsign": "PGUM",
|
||||
"beacon_type": 15,
|
||||
"hertz": 110300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield4_2": {
|
||||
"name": "",
|
||||
"callsign": "IAWD",
|
||||
"beacon_type": 14,
|
||||
"hertz": 110900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield4_3": {
|
||||
"name": "",
|
||||
"callsign": "PGUM",
|
||||
"beacon_type": 15,
|
||||
"hertz": 110900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield1_0": {
|
||||
"name": "ROTA",
|
||||
"callsign": "GRO",
|
||||
"beacon_type": 9,
|
||||
"hertz": 332000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield2_0": {
|
||||
"name": "",
|
||||
"callsign": "IGSN",
|
||||
"beacon_type": 14,
|
||||
"hertz": 109900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield2_1": {
|
||||
"name": "",
|
||||
"callsign": "PGSN",
|
||||
"beacon_type": 15,
|
||||
"hertz": 109900000,
|
||||
"channel": null
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1,317 +1,317 @@
|
||||
[
|
||||
{
|
||||
{
|
||||
"airfield1_0": {
|
||||
"name": "Creech",
|
||||
"callsign": "ICRR",
|
||||
"beacon_type": 15,
|
||||
"hertz": 108700000,
|
||||
"channel": 24
|
||||
},
|
||||
{
|
||||
"airfield1_1": {
|
||||
"name": "Creech",
|
||||
"callsign": "ICRR",
|
||||
"beacon_type": 14,
|
||||
"hertz": 108700000,
|
||||
"channel": 24
|
||||
},
|
||||
{
|
||||
"airfield1_2": {
|
||||
"name": "Creech",
|
||||
"callsign": "ICRS",
|
||||
"beacon_type": 14,
|
||||
"hertz": 108500000,
|
||||
"channel": 22
|
||||
},
|
||||
{
|
||||
"airfield1_3": {
|
||||
"name": "Creech",
|
||||
"callsign": "ICRS",
|
||||
"beacon_type": 15,
|
||||
"hertz": 108500000,
|
||||
"channel": 22
|
||||
},
|
||||
{
|
||||
"airfield1_4": {
|
||||
"name": "Creech",
|
||||
"callsign": "INS",
|
||||
"beacon_type": 5,
|
||||
"hertz": null,
|
||||
"channel": 87
|
||||
},
|
||||
{
|
||||
"airfield2_0": {
|
||||
"name": "Groom-Lake",
|
||||
"callsign": "GLRI",
|
||||
"beacon_type": 14,
|
||||
"hertz": 109300000,
|
||||
"channel": 30
|
||||
},
|
||||
{
|
||||
"airfield2_1": {
|
||||
"name": "Groom-Lake",
|
||||
"callsign": "GLRI",
|
||||
"beacon_type": 15,
|
||||
"hertz": 109300000,
|
||||
"channel": 30
|
||||
},
|
||||
{
|
||||
"airfield2_2": {
|
||||
"name": "Groom-Lake",
|
||||
"callsign": "GRL",
|
||||
"beacon_type": 5,
|
||||
"hertz": null,
|
||||
"channel": 18
|
||||
},
|
||||
{
|
||||
"airfield3_0": {
|
||||
"name": "McCarran-International",
|
||||
"callsign": "I-RLE",
|
||||
"beacon_type": 15,
|
||||
"hertz": 111750000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield3_1": {
|
||||
"name": "McCarran-International",
|
||||
"callsign": "I-LAS",
|
||||
"beacon_type": 15,
|
||||
"hertz": 110300000,
|
||||
"channel": 40
|
||||
},
|
||||
{
|
||||
"airfield3_2": {
|
||||
"name": "McCarran-International",
|
||||
"callsign": "I-RLE",
|
||||
"beacon_type": 14,
|
||||
"hertz": 111750000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield3_3": {
|
||||
"name": "McCarran-International",
|
||||
"callsign": "I-LAS",
|
||||
"beacon_type": 14,
|
||||
"hertz": 110300000,
|
||||
"channel": 40
|
||||
},
|
||||
{
|
||||
"airfield3_4": {
|
||||
"name": "McCarran-International",
|
||||
"callsign": "LAS",
|
||||
"beacon_type": 6,
|
||||
"hertz": 116900000,
|
||||
"channel": 116
|
||||
},
|
||||
{
|
||||
"airfield4_0": {
|
||||
"name": "Nellis",
|
||||
"callsign": "IDIQ",
|
||||
"beacon_type": 15,
|
||||
"hertz": 109100000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield4_1": {
|
||||
"name": "Nellis",
|
||||
"callsign": "LSV",
|
||||
"beacon_type": 5,
|
||||
"hertz": null,
|
||||
"channel": 12
|
||||
},
|
||||
{
|
||||
"airfield4_2": {
|
||||
"name": "Nellis",
|
||||
"callsign": "IDIQ",
|
||||
"beacon_type": 14,
|
||||
"hertz": 109100000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield15_0": {
|
||||
"name": "North-Las-Vegas",
|
||||
"callsign": "I-HWG",
|
||||
"beacon_type": 14,
|
||||
"hertz": 110700000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield15_1": {
|
||||
"name": "North-Las-Vegas",
|
||||
"callsign": "I-HWG",
|
||||
"beacon_type": 15,
|
||||
"hertz": 110700000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield18_0": {
|
||||
"name": "Tonopah-Test-Range",
|
||||
"callsign": "I-RVP",
|
||||
"beacon_type": 14,
|
||||
"hertz": 108300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield18_1": {
|
||||
"name": "Tonopah-Test-Range",
|
||||
"callsign": "I-UVV",
|
||||
"beacon_type": 14,
|
||||
"hertz": 111700000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield18_2": {
|
||||
"name": "Tonopah-Test-Range",
|
||||
"callsign": "I-UVV",
|
||||
"beacon_type": 15,
|
||||
"hertz": 111700000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield18_3": {
|
||||
"name": "Tonopah-Test-Range",
|
||||
"callsign": "I-RVP",
|
||||
"beacon_type": 15,
|
||||
"hertz": 108300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield18_4": {
|
||||
"name": "Silverbow",
|
||||
"callsign": "TQQ",
|
||||
"beacon_type": 6,
|
||||
"hertz": 113000000,
|
||||
"channel": 77
|
||||
},
|
||||
{
|
||||
"world_0": {
|
||||
"name": "St George",
|
||||
"callsign": "UTI",
|
||||
"beacon_type": 4,
|
||||
"hertz": 108600000,
|
||||
"channel": 23
|
||||
},
|
||||
{
|
||||
"world_1": {
|
||||
"name": "Grand Canyon",
|
||||
"callsign": "GCN",
|
||||
"beacon_type": 4,
|
||||
"hertz": 113100000,
|
||||
"channel": 78
|
||||
},
|
||||
{
|
||||
"world_2": {
|
||||
"name": "Kingman",
|
||||
"callsign": "IGM",
|
||||
"beacon_type": 4,
|
||||
"hertz": 108800000,
|
||||
"channel": 25
|
||||
},
|
||||
{
|
||||
"world_3": {
|
||||
"name": "Colorado City",
|
||||
"callsign": "AZC",
|
||||
"beacon_type": 10,
|
||||
"hertz": 403000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"world_4": {
|
||||
"name": "Meggi",
|
||||
"callsign": "EC",
|
||||
"beacon_type": 10,
|
||||
"hertz": 217000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"world_5": {
|
||||
"name": "Daggett",
|
||||
"callsign": "DAG",
|
||||
"beacon_type": 6,
|
||||
"hertz": 113200000,
|
||||
"channel": 79
|
||||
},
|
||||
{
|
||||
"world_6": {
|
||||
"name": "Hector",
|
||||
"callsign": "HEC",
|
||||
"beacon_type": 6,
|
||||
"hertz": 112700000,
|
||||
"channel": 74
|
||||
},
|
||||
{
|
||||
"world_7": {
|
||||
"name": "Needles",
|
||||
"callsign": "EED",
|
||||
"beacon_type": 6,
|
||||
"hertz": 115200000,
|
||||
"channel": 99
|
||||
},
|
||||
{
|
||||
"world_8": {
|
||||
"name": "Milford",
|
||||
"callsign": "MLF",
|
||||
"beacon_type": 6,
|
||||
"hertz": 112100000,
|
||||
"channel": 58
|
||||
},
|
||||
{
|
||||
"world_9": {
|
||||
"name": "GOFFS",
|
||||
"callsign": "GFS",
|
||||
"beacon_type": 6,
|
||||
"hertz": 114400000,
|
||||
"channel": 91
|
||||
},
|
||||
{
|
||||
"world_10": {
|
||||
"name": "Tonopah",
|
||||
"callsign": "TPH",
|
||||
"beacon_type": 6,
|
||||
"hertz": 117200000,
|
||||
"channel": 119
|
||||
},
|
||||
{
|
||||
"world_11": {
|
||||
"name": "Mina",
|
||||
"callsign": "MVA",
|
||||
"beacon_type": 6,
|
||||
"hertz": 115100000,
|
||||
"channel": 98
|
||||
},
|
||||
{
|
||||
"world_12": {
|
||||
"name": "Wilson Creek",
|
||||
"callsign": "ILC",
|
||||
"beacon_type": 6,
|
||||
"hertz": 116300000,
|
||||
"channel": 110
|
||||
},
|
||||
{
|
||||
"world_13": {
|
||||
"name": "Cedar City",
|
||||
"callsign": "CDC",
|
||||
"beacon_type": 6,
|
||||
"hertz": 117300000,
|
||||
"channel": 120
|
||||
},
|
||||
{
|
||||
"world_14": {
|
||||
"name": "Bryce Canyon",
|
||||
"callsign": "BCE",
|
||||
"beacon_type": 6,
|
||||
"hertz": 112800000,
|
||||
"channel": 75
|
||||
},
|
||||
{
|
||||
"world_15": {
|
||||
"name": "Mormon Mesa",
|
||||
"callsign": "MMM",
|
||||
"beacon_type": 6,
|
||||
"hertz": 114300000,
|
||||
"channel": 90
|
||||
},
|
||||
{
|
||||
"world_16": {
|
||||
"name": "Beatty",
|
||||
"callsign": "BTY",
|
||||
"beacon_type": 6,
|
||||
"hertz": 114700000,
|
||||
"channel": 94
|
||||
},
|
||||
{
|
||||
"world_17": {
|
||||
"name": "Bishop",
|
||||
"callsign": "BIH",
|
||||
"beacon_type": 6,
|
||||
"hertz": 109600000,
|
||||
"channel": 33
|
||||
},
|
||||
{
|
||||
"world_18": {
|
||||
"name": "Coaldale",
|
||||
"callsign": "OAL",
|
||||
"beacon_type": 6,
|
||||
"hertz": 117700000,
|
||||
"channel": 124
|
||||
},
|
||||
{
|
||||
"world_19": {
|
||||
"name": "Peach Springs",
|
||||
"callsign": "PGS",
|
||||
"beacon_type": 6,
|
||||
"hertz": 112000000,
|
||||
"channel": 57
|
||||
},
|
||||
{
|
||||
"world_20": {
|
||||
"name": "Boulder City",
|
||||
"callsign": "BLD",
|
||||
"beacon_type": 6,
|
||||
"hertz": 116700000,
|
||||
"channel": 114
|
||||
},
|
||||
{
|
||||
"world_21": {
|
||||
"name": "Mercury",
|
||||
"callsign": "MCY",
|
||||
"beacon_type": 10,
|
||||
"hertz": 326000,
|
||||
"channel": null
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1 +1 @@
|
||||
[]
|
||||
{}
|
||||
@ -1,709 +1,709 @@
|
||||
[
|
||||
{
|
||||
{
|
||||
"airfield22_0": {
|
||||
"name": "ABUDHABI",
|
||||
"callsign": "ADV",
|
||||
"beacon_type": 2,
|
||||
"hertz": 114250000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield22_1": {
|
||||
"name": "AbuDhabiInt",
|
||||
"callsign": "ADV",
|
||||
"beacon_type": 3,
|
||||
"hertz": 114250000,
|
||||
"channel": 119
|
||||
},
|
||||
{
|
||||
"airfield1_0": {
|
||||
"name": "Abumusa",
|
||||
"callsign": "ABM",
|
||||
"beacon_type": 3,
|
||||
"hertz": 285000,
|
||||
"channel": 101
|
||||
},
|
||||
{
|
||||
"airfield25_0": {
|
||||
"name": "AlAinInt",
|
||||
"callsign": "ALN",
|
||||
"beacon_type": 4,
|
||||
"hertz": 112600000,
|
||||
"channel": 119
|
||||
},
|
||||
{
|
||||
"airfield23_0": {
|
||||
"name": "AlBateenInt",
|
||||
"callsign": "ALB",
|
||||
"beacon_type": 2,
|
||||
"hertz": 114000000,
|
||||
"channel": 119
|
||||
},
|
||||
{
|
||||
"airfield2_0": {
|
||||
"name": "BandarAbbas",
|
||||
"callsign": "BND",
|
||||
"beacon_type": 4,
|
||||
"hertz": 117200000,
|
||||
"channel": 119
|
||||
},
|
||||
{
|
||||
"airfield2_1": {
|
||||
"name": "BandarAbbas",
|
||||
"callsign": "BND",
|
||||
"beacon_type": 9,
|
||||
"hertz": 250000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield2_2": {
|
||||
"name": "",
|
||||
"callsign": "IBND",
|
||||
"beacon_type": 14,
|
||||
"hertz": 109900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield2_3": {
|
||||
"name": "",
|
||||
"callsign": "IBND",
|
||||
"beacon_type": 15,
|
||||
"hertz": 109900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield2_4": {
|
||||
"name": "BandarAbbas",
|
||||
"callsign": "BND",
|
||||
"beacon_type": 5,
|
||||
"hertz": null,
|
||||
"channel": 78
|
||||
},
|
||||
{
|
||||
"airfield21_0": {
|
||||
"name": "BandarEJask",
|
||||
"callsign": "KHM",
|
||||
"beacon_type": 4,
|
||||
"hertz": 116300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield21_1": {
|
||||
"name": "JASK",
|
||||
"callsign": "JSK",
|
||||
"beacon_type": 9,
|
||||
"hertz": 349000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield21_2": {
|
||||
"name": "",
|
||||
"callsign": "JSK",
|
||||
"beacon_type": 5,
|
||||
"hertz": null,
|
||||
"channel": 110
|
||||
},
|
||||
{
|
||||
"airfield3_0": {
|
||||
"name": "BandarLengeh",
|
||||
"callsign": "LEN",
|
||||
"beacon_type": 9,
|
||||
"hertz": 408000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield3_1": {
|
||||
"name": "BandarLengeh",
|
||||
"callsign": "LEN",
|
||||
"beacon_type": 4,
|
||||
"hertz": 114800000,
|
||||
"channel": 95
|
||||
},
|
||||
{
|
||||
"airfield4_0": {
|
||||
"name": "",
|
||||
"callsign": "MMA",
|
||||
"beacon_type": 15,
|
||||
"hertz": 109100000,
|
||||
"channel": 28
|
||||
},
|
||||
{
|
||||
"airfield4_1": {
|
||||
"name": "",
|
||||
"callsign": "LMA",
|
||||
"beacon_type": 15,
|
||||
"hertz": 108700000,
|
||||
"channel": 24
|
||||
},
|
||||
{
|
||||
"airfield4_2": {
|
||||
"name": "",
|
||||
"callsign": "IMA",
|
||||
"beacon_type": 15,
|
||||
"hertz": 111100000,
|
||||
"channel": 48
|
||||
},
|
||||
{
|
||||
"airfield4_3": {
|
||||
"name": "",
|
||||
"callsign": "RMA",
|
||||
"beacon_type": 15,
|
||||
"hertz": 108700000,
|
||||
"channel": 24
|
||||
},
|
||||
{
|
||||
"airfield4_4": {
|
||||
"name": "",
|
||||
"callsign": "MMA",
|
||||
"beacon_type": 14,
|
||||
"hertz": 109100000,
|
||||
"channel": 28
|
||||
},
|
||||
{
|
||||
"airfield4_5": {
|
||||
"name": "",
|
||||
"callsign": "RMA",
|
||||
"beacon_type": 14,
|
||||
"hertz": 108700000,
|
||||
"channel": 24
|
||||
},
|
||||
{
|
||||
"airfield4_6": {
|
||||
"name": "",
|
||||
"callsign": "LMA",
|
||||
"beacon_type": 14,
|
||||
"hertz": 108700000,
|
||||
"channel": 24
|
||||
},
|
||||
{
|
||||
"airfield4_7": {
|
||||
"name": "",
|
||||
"callsign": "IMA",
|
||||
"beacon_type": 14,
|
||||
"hertz": 111100000,
|
||||
"channel": 48
|
||||
},
|
||||
{
|
||||
"airfield4_8": {
|
||||
"name": "AlDhafra",
|
||||
"callsign": "MA",
|
||||
"beacon_type": 6,
|
||||
"hertz": 114900000,
|
||||
"channel": 96
|
||||
},
|
||||
{
|
||||
"airfield5_0": {
|
||||
"name": "",
|
||||
"callsign": "IDBW",
|
||||
"beacon_type": 14,
|
||||
"hertz": 109500000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield5_1": {
|
||||
"name": "",
|
||||
"callsign": "IDBR",
|
||||
"beacon_type": 14,
|
||||
"hertz": 110100000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield5_2": {
|
||||
"name": "",
|
||||
"callsign": "IDBE",
|
||||
"beacon_type": 14,
|
||||
"hertz": 111300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield5_3": {
|
||||
"name": "",
|
||||
"callsign": "IDBL",
|
||||
"beacon_type": 14,
|
||||
"hertz": 110900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield5_4": {
|
||||
"name": "",
|
||||
"callsign": "IDBL",
|
||||
"beacon_type": 15,
|
||||
"hertz": 110900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield5_5": {
|
||||
"name": "",
|
||||
"callsign": "IDBR",
|
||||
"beacon_type": 15,
|
||||
"hertz": 110100000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield5_6": {
|
||||
"name": "",
|
||||
"callsign": "IDBE",
|
||||
"beacon_type": 15,
|
||||
"hertz": 111300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield5_7": {
|
||||
"name": "",
|
||||
"callsign": "IDBW",
|
||||
"beacon_type": 15,
|
||||
"hertz": 109500000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_0": {
|
||||
"name": "",
|
||||
"callsign": "IJEA",
|
||||
"beacon_type": 14,
|
||||
"hertz": 111750000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_1": {
|
||||
"name": "",
|
||||
"callsign": "IJWA",
|
||||
"beacon_type": 15,
|
||||
"hertz": 109750000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_2": {
|
||||
"name": "",
|
||||
"callsign": "IJEA",
|
||||
"beacon_type": 15,
|
||||
"hertz": 111750000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_3": {
|
||||
"name": "",
|
||||
"callsign": "IJWA",
|
||||
"beacon_type": 14,
|
||||
"hertz": 109750000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield7_0": {
|
||||
"name": "Fujairah",
|
||||
"callsign": "FJV",
|
||||
"beacon_type": 4,
|
||||
"hertz": 113800000,
|
||||
"channel": 85
|
||||
},
|
||||
{
|
||||
"airfield7_1": {
|
||||
"name": "",
|
||||
"callsign": "IFJR",
|
||||
"beacon_type": 15,
|
||||
"hertz": 111500000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield7_2": {
|
||||
"name": "",
|
||||
"callsign": "IFJR",
|
||||
"beacon_type": 14,
|
||||
"hertz": 111500000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield9_0": {
|
||||
"name": "Havadarya",
|
||||
"callsign": "HDR",
|
||||
"beacon_type": 5,
|
||||
"hertz": 111000000,
|
||||
"channel": 47
|
||||
},
|
||||
{
|
||||
"airfield9_1": {
|
||||
"name": "",
|
||||
"callsign": "IBHD",
|
||||
"beacon_type": 14,
|
||||
"hertz": 108900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield9_2": {
|
||||
"name": "",
|
||||
"callsign": "IBHD",
|
||||
"beacon_type": 15,
|
||||
"hertz": 108900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield27_0": {
|
||||
"name": "Jiroft",
|
||||
"callsign": "JIR",
|
||||
"beacon_type": 10,
|
||||
"hertz": 276000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield18_0": {
|
||||
"name": "KERMAN",
|
||||
"callsign": "KER",
|
||||
"beacon_type": 5,
|
||||
"hertz": 122500000,
|
||||
"channel": 97
|
||||
},
|
||||
{
|
||||
"airfield18_1": {
|
||||
"name": "KERMAN",
|
||||
"callsign": "KER",
|
||||
"beacon_type": 4,
|
||||
"hertz": 112000000,
|
||||
"channel": 57
|
||||
},
|
||||
{
|
||||
"airfield18_2": {
|
||||
"name": "KERMAN",
|
||||
"callsign": "KER",
|
||||
"beacon_type": 3,
|
||||
"hertz": 290000000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield10_0": {
|
||||
"name": "",
|
||||
"callsign": "IBKS",
|
||||
"beacon_type": 14,
|
||||
"hertz": 110300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield10_1": {
|
||||
"name": "",
|
||||
"callsign": "IBKS",
|
||||
"beacon_type": 15,
|
||||
"hertz": 110300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield24_0": {
|
||||
"name": "KishIsland",
|
||||
"callsign": "KIH",
|
||||
"beacon_type": 9,
|
||||
"hertz": 201000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield24_1": {
|
||||
"name": "KishIsland",
|
||||
"callsign": "KIH",
|
||||
"beacon_type": 5,
|
||||
"hertz": null,
|
||||
"channel": 112
|
||||
},
|
||||
{
|
||||
"airfield11_0": {
|
||||
"name": "LAR",
|
||||
"callsign": "LAR",
|
||||
"beacon_type": 4,
|
||||
"hertz": 117900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield11_1": {
|
||||
"name": "LAR",
|
||||
"callsign": "OISL",
|
||||
"beacon_type": 9,
|
||||
"hertz": 224000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield26_0": {
|
||||
"name": "LavanIsland",
|
||||
"callsign": "LVA",
|
||||
"beacon_type": 4,
|
||||
"hertz": 116850000,
|
||||
"channel": 115
|
||||
},
|
||||
{
|
||||
"airfield26_1": {
|
||||
"name": "LavanIsland",
|
||||
"callsign": "LVA",
|
||||
"beacon_type": 9,
|
||||
"hertz": 310000,
|
||||
"channel": 0
|
||||
},
|
||||
{
|
||||
"airfield29_0": {
|
||||
"name": "LiwaAirbase",
|
||||
"callsign": "OMLW",
|
||||
"beacon_type": 6,
|
||||
"hertz": 117400000,
|
||||
"channel": 121
|
||||
},
|
||||
{
|
||||
"airfield12_0": {
|
||||
"name": "Minhad",
|
||||
"callsign": "MIN",
|
||||
"beacon_type": 5,
|
||||
"hertz": 115200000,
|
||||
"channel": 99
|
||||
},
|
||||
{
|
||||
"airfield12_1": {
|
||||
"name": "",
|
||||
"callsign": "IMNW",
|
||||
"beacon_type": 14,
|
||||
"hertz": 110700000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield12_2": {
|
||||
"name": "",
|
||||
"callsign": "IMNW",
|
||||
"beacon_type": 15,
|
||||
"hertz": 110700000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield12_3": {
|
||||
"name": "",
|
||||
"callsign": "IMNR",
|
||||
"beacon_type": 14,
|
||||
"hertz": 110750000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield12_4": {
|
||||
"name": "",
|
||||
"callsign": "IMNR",
|
||||
"beacon_type": 15,
|
||||
"hertz": 110750000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield13_0": {
|
||||
"name": "GheshmIsland",
|
||||
"callsign": "KHM",
|
||||
"beacon_type": 9,
|
||||
"hertz": 233000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield13_1": {
|
||||
"name": "GheshmIsland",
|
||||
"callsign": "KHM",
|
||||
"beacon_type": 4,
|
||||
"hertz": 117100000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield28_0": {
|
||||
"name": "RasAlKhaimah",
|
||||
"callsign": "OMRK",
|
||||
"beacon_type": 4,
|
||||
"hertz": 113600000,
|
||||
"channel": 83
|
||||
},
|
||||
{
|
||||
"airfield20_0": {
|
||||
"name": "SasAlNakheel",
|
||||
"callsign": "SAS",
|
||||
"beacon_type": 4,
|
||||
"hertz": 128925000,
|
||||
"channel": 119
|
||||
},
|
||||
{
|
||||
"airfield14_0": {
|
||||
"name": "",
|
||||
"callsign": "ISRE",
|
||||
"beacon_type": 14,
|
||||
"hertz": 108550000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield14_1": {
|
||||
"name": "",
|
||||
"callsign": "ISHW",
|
||||
"beacon_type": 14,
|
||||
"hertz": 111950000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield14_2": {
|
||||
"name": "",
|
||||
"callsign": "ISHW",
|
||||
"beacon_type": 15,
|
||||
"hertz": 111950000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield14_3": {
|
||||
"name": "",
|
||||
"callsign": "ISRE",
|
||||
"beacon_type": 15,
|
||||
"hertz": 108550000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield19_0": {
|
||||
"name": "SHIRAZ",
|
||||
"callsign": "SYZ",
|
||||
"beacon_type": 4,
|
||||
"hertz": 117800000,
|
||||
"channel": 125
|
||||
},
|
||||
{
|
||||
"airfield19_1": {
|
||||
"name": "SHIRAZ",
|
||||
"callsign": "SYZ1",
|
||||
"beacon_type": 5,
|
||||
"hertz": 114700000,
|
||||
"channel": 94
|
||||
},
|
||||
{
|
||||
"airfield19_2": {
|
||||
"name": "SHIRAZ",
|
||||
"callsign": "SR",
|
||||
"beacon_type": 9,
|
||||
"hertz": 205000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield19_3": {
|
||||
"name": "",
|
||||
"callsign": "ISYZ",
|
||||
"beacon_type": 15,
|
||||
"hertz": 108500000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield19_4": {
|
||||
"name": "",
|
||||
"callsign": "ISYZ",
|
||||
"beacon_type": 14,
|
||||
"hertz": 108500000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield15_0": {
|
||||
"name": "SirriIsland",
|
||||
"callsign": "SIR",
|
||||
"beacon_type": 9,
|
||||
"hertz": 300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield15_1": {
|
||||
"name": "SirriIsland",
|
||||
"callsign": "SIR",
|
||||
"beacon_type": 4,
|
||||
"hertz": 113750000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield16_0": {
|
||||
"name": "Kochak",
|
||||
"callsign": "KCK",
|
||||
"beacon_type": 5,
|
||||
"hertz": 114200000,
|
||||
"channel": 89
|
||||
},
|
||||
{
|
||||
"world_0": {
|
||||
"name": "Kish",
|
||||
"callsign": "KIS",
|
||||
"beacon_type": 4,
|
||||
"hertz": 117400000,
|
||||
"channel": 121
|
||||
},
|
||||
{
|
||||
"world_1": {
|
||||
"name": "DohaAirport",
|
||||
"callsign": "DIA",
|
||||
"beacon_type": 4,
|
||||
"hertz": 112400000,
|
||||
"channel": 71
|
||||
},
|
||||
{
|
||||
"world_2": {
|
||||
"name": "HamadInternationalAirport",
|
||||
"callsign": "DOH",
|
||||
"beacon_type": 4,
|
||||
"hertz": 114400000,
|
||||
"channel": 91
|
||||
},
|
||||
{
|
||||
"world_3": {
|
||||
"name": "DezfulAirport",
|
||||
"callsign": "DZF",
|
||||
"beacon_type": 9,
|
||||
"hertz": 293000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"world_4": {
|
||||
"name": "AbadanIntAirport",
|
||||
"callsign": "ABD",
|
||||
"beacon_type": 4,
|
||||
"hertz": 115100000,
|
||||
"channel": 98
|
||||
},
|
||||
{
|
||||
"world_5": {
|
||||
"name": "AhvazIntAirport",
|
||||
"callsign": "AWZ",
|
||||
"beacon_type": 4,
|
||||
"hertz": 114000000,
|
||||
"channel": 87
|
||||
},
|
||||
{
|
||||
"world_6": {
|
||||
"name": "AghajariAirport",
|
||||
"callsign": "AJR",
|
||||
"beacon_type": 4,
|
||||
"hertz": 114900000,
|
||||
"channel": 96
|
||||
},
|
||||
{
|
||||
"world_7": {
|
||||
"name": "BirjandIntAirport",
|
||||
"callsign": "BJD",
|
||||
"beacon_type": 4,
|
||||
"hertz": 113500000,
|
||||
"channel": 82
|
||||
},
|
||||
{
|
||||
"world_8": {
|
||||
"name": "BushehrIntAirport",
|
||||
"callsign": "BUZ",
|
||||
"beacon_type": 4,
|
||||
"hertz": 117450000,
|
||||
"channel": 121
|
||||
},
|
||||
{
|
||||
"world_9": {
|
||||
"name": "KonarakAirport",
|
||||
"callsign": "CBH",
|
||||
"beacon_type": 4,
|
||||
"hertz": 115600000,
|
||||
"channel": 103
|
||||
},
|
||||
{
|
||||
"world_10": {
|
||||
"name": "IsfahanIntAirport",
|
||||
"callsign": "ISN",
|
||||
"beacon_type": 4,
|
||||
"hertz": 113200000,
|
||||
"channel": 79
|
||||
},
|
||||
{
|
||||
"world_11": {
|
||||
"name": "KhoramabadAirport",
|
||||
"callsign": "KRD",
|
||||
"beacon_type": 4,
|
||||
"hertz": 113750000,
|
||||
"channel": 84
|
||||
},
|
||||
{
|
||||
"world_12": {
|
||||
"name": "PersianGulfIntAirport",
|
||||
"callsign": "PRG",
|
||||
"beacon_type": 4,
|
||||
"hertz": 112100000,
|
||||
"channel": 58
|
||||
},
|
||||
{
|
||||
"world_13": {
|
||||
"name": "YasoujAirport",
|
||||
"callsign": "YSJ",
|
||||
"beacon_type": 4,
|
||||
"hertz": 116550000,
|
||||
"channel": 112
|
||||
},
|
||||
{
|
||||
"world_14": {
|
||||
"name": "BamAirport",
|
||||
"callsign": "BAM",
|
||||
"beacon_type": 4,
|
||||
"hertz": 114900000,
|
||||
"channel": 96
|
||||
},
|
||||
{
|
||||
"world_15": {
|
||||
"name": "MahshahrAirport",
|
||||
"callsign": "MAH",
|
||||
"beacon_type": 4,
|
||||
"hertz": 115800000,
|
||||
"channel": 105
|
||||
},
|
||||
{
|
||||
"world_16": {
|
||||
"name": "IranShahrAirport",
|
||||
"callsign": "ISR",
|
||||
"beacon_type": 4,
|
||||
"hertz": 117000000,
|
||||
"channel": 117
|
||||
},
|
||||
{
|
||||
"world_17": {
|
||||
"name": "LamerdAirport",
|
||||
"callsign": "LAM",
|
||||
"beacon_type": 4,
|
||||
"hertz": 117000000,
|
||||
"channel": 117
|
||||
},
|
||||
{
|
||||
"world_18": {
|
||||
"name": "SirjanAirport",
|
||||
"callsign": "SRJ",
|
||||
"beacon_type": 4,
|
||||
"hertz": 114600000,
|
||||
"channel": 93
|
||||
},
|
||||
{
|
||||
"world_19": {
|
||||
"name": "YazdIntAirport",
|
||||
"callsign": "YZD",
|
||||
"beacon_type": 4,
|
||||
"hertz": 117700000,
|
||||
"channel": 124
|
||||
},
|
||||
{
|
||||
"world_20": {
|
||||
"name": "ZabolAirport",
|
||||
"callsign": "ZAL",
|
||||
"beacon_type": 4,
|
||||
"hertz": 113100000,
|
||||
"channel": 78
|
||||
},
|
||||
{
|
||||
"world_21": {
|
||||
"name": "ZahedanIntAirport",
|
||||
"callsign": "ZDN",
|
||||
"beacon_type": 4,
|
||||
"hertz": 116000000,
|
||||
"channel": 107
|
||||
},
|
||||
{
|
||||
"world_22": {
|
||||
"name": "RafsanjanAirport",
|
||||
"callsign": "RAF",
|
||||
"beacon_type": 4,
|
||||
"hertz": 112300000,
|
||||
"channel": 70
|
||||
},
|
||||
{
|
||||
"world_23": {
|
||||
"name": "SaravanAirport",
|
||||
"callsign": "SRN",
|
||||
"beacon_type": 4,
|
||||
"hertz": 114100000,
|
||||
"channel": 88
|
||||
},
|
||||
{
|
||||
"world_24": {
|
||||
"name": "BuHasa",
|
||||
"callsign": "BH",
|
||||
"beacon_type": 3,
|
||||
"hertz": 309000000,
|
||||
"channel": null
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1,590 +1,590 @@
|
||||
[
|
||||
{
|
||||
{
|
||||
"world_0": {
|
||||
"name": "BANIAS",
|
||||
"callsign": "BAN",
|
||||
"beacon_type": 10,
|
||||
"hertz": 304000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"world_1": {
|
||||
"name": "KAHRAMANMARAS",
|
||||
"callsign": "KHM",
|
||||
"beacon_type": 10,
|
||||
"hertz": 374000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"world_2": {
|
||||
"name": "KLEYATE",
|
||||
"callsign": "RA",
|
||||
"beacon_type": 10,
|
||||
"hertz": 450000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"world_3": {
|
||||
"name": "KARIATAIN",
|
||||
"callsign": "KTN",
|
||||
"beacon_type": 10,
|
||||
"hertz": 372500,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"world_4": {
|
||||
"name": "TURAIF",
|
||||
"callsign": "TRF",
|
||||
"beacon_type": 4,
|
||||
"hertz": 116100000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"world_5": {
|
||||
"name": "BAYSUR",
|
||||
"callsign": "BAR",
|
||||
"beacon_type": 2,
|
||||
"hertz": 113900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"world_6": {
|
||||
"name": "MARKA",
|
||||
"callsign": "AMN",
|
||||
"beacon_type": 4,
|
||||
"hertz": 116300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"world_7": {
|
||||
"name": "TANF",
|
||||
"callsign": "TAN",
|
||||
"beacon_type": 4,
|
||||
"hertz": 114000000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"world_8": {
|
||||
"name": "NATANIA",
|
||||
"callsign": "NAT",
|
||||
"beacon_type": 4,
|
||||
"hertz": 112400000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"world_9": {
|
||||
"name": "KAHRAMANMARAS",
|
||||
"callsign": "KHM",
|
||||
"beacon_type": 4,
|
||||
"hertz": 113900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"world_10": {
|
||||
"name": "KARIATAIN",
|
||||
"callsign": "KTN",
|
||||
"beacon_type": 4,
|
||||
"hertz": 117700000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"world_11": {
|
||||
"name": "MUT",
|
||||
"callsign": "MUT",
|
||||
"beacon_type": 4,
|
||||
"hertz": 112300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"world_12": {
|
||||
"name": "DHEKELIA",
|
||||
"callsign": "DKA",
|
||||
"beacon_type": 10,
|
||||
"hertz": 343000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield2_0": {
|
||||
"name": "",
|
||||
"callsign": "IADA",
|
||||
"beacon_type": 14,
|
||||
"hertz": 108700000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield2_1": {
|
||||
"name": "",
|
||||
"callsign": "IADA",
|
||||
"beacon_type": 15,
|
||||
"hertz": 108700000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield2_2": {
|
||||
"name": "ADANA",
|
||||
"callsign": "ADN",
|
||||
"beacon_type": 11,
|
||||
"hertz": 395000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield2_3": {
|
||||
"name": "ADANA",
|
||||
"callsign": "ADA",
|
||||
"beacon_type": 4,
|
||||
"hertz": 112700000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield44_0": {
|
||||
"name": "",
|
||||
"callsign": "IAK",
|
||||
"beacon_type": 14,
|
||||
"hertz": 109700000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield44_1": {
|
||||
"name": "",
|
||||
"callsign": "IAK",
|
||||
"beacon_type": 15,
|
||||
"hertz": 109700000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield44_2": {
|
||||
"name": "Akrotiri",
|
||||
"callsign": "AKR",
|
||||
"beacon_type": 5,
|
||||
"hertz": 116000000,
|
||||
"channel": 107
|
||||
},
|
||||
{
|
||||
"airfield44_3": {
|
||||
"name": "AKROTIRI",
|
||||
"callsign": "AK",
|
||||
"beacon_type": 10,
|
||||
"hertz": 365000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_0": {
|
||||
"name": "KALDE",
|
||||
"callsign": "KAD",
|
||||
"beacon_type": 4,
|
||||
"hertz": 112600000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_1": {
|
||||
"name": "",
|
||||
"callsign": "IBB",
|
||||
"beacon_type": 15,
|
||||
"hertz": 110100000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_2": {
|
||||
"name": "",
|
||||
"callsign": "IKK",
|
||||
"beacon_type": 14,
|
||||
"hertz": 110700000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_3": {
|
||||
"name": "",
|
||||
"callsign": "BIL",
|
||||
"beacon_type": 14,
|
||||
"hertz": 109500000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_4": {
|
||||
"name": "",
|
||||
"callsign": "IBB",
|
||||
"beacon_type": 14,
|
||||
"hertz": 110100000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_5": {
|
||||
"name": "",
|
||||
"callsign": "BIL",
|
||||
"beacon_type": 15,
|
||||
"hertz": 109500000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_6": {
|
||||
"name": "",
|
||||
"callsign": "IKK",
|
||||
"beacon_type": 15,
|
||||
"hertz": 110700000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield6_7": {
|
||||
"name": "BEIRUT",
|
||||
"callsign": "BOD",
|
||||
"beacon_type": 11,
|
||||
"hertz": 351000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield7_0": {
|
||||
"name": "",
|
||||
"callsign": "IDA",
|
||||
"beacon_type": 15,
|
||||
"hertz": 109900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield7_1": {
|
||||
"name": "",
|
||||
"callsign": "IDA",
|
||||
"beacon_type": 14,
|
||||
"hertz": 109900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield7_2": {
|
||||
"name": "Damascus",
|
||||
"callsign": "DAM",
|
||||
"beacon_type": 4,
|
||||
"hertz": 116000000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield7_3": {
|
||||
"name": "",
|
||||
"callsign": "DAML",
|
||||
"beacon_type": 14,
|
||||
"hertz": 111100000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield7_4": {
|
||||
"name": "DAMASCUS",
|
||||
"callsign": "DAL",
|
||||
"beacon_type": 11,
|
||||
"hertz": 342000000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield7_5": {
|
||||
"name": "ABYAD",
|
||||
"callsign": "ABD",
|
||||
"beacon_type": 10,
|
||||
"hertz": 264000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield7_6": {
|
||||
"name": "",
|
||||
"callsign": "DAML",
|
||||
"beacon_type": 15,
|
||||
"hertz": 111100000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield42_0": {
|
||||
"name": "Deir ez-Zor",
|
||||
"callsign": "DRZ",
|
||||
"beacon_type": 10,
|
||||
"hertz": 295000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield42_1": {
|
||||
"name": "Deir ez-Zor",
|
||||
"callsign": "DRZ",
|
||||
"beacon_type": 4,
|
||||
"hertz": 117000000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield49_0": {
|
||||
"name": "ERCAN",
|
||||
"callsign": "ECN",
|
||||
"beacon_type": 4,
|
||||
"hertz": 117000000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield49_1": {
|
||||
"name": "",
|
||||
"callsign": "IECR",
|
||||
"beacon_type": 14,
|
||||
"hertz": 108300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield11_0": {
|
||||
"name": "",
|
||||
"callsign": "IGNP",
|
||||
"beacon_type": 14,
|
||||
"hertz": 109100000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield11_1": {
|
||||
"name": "",
|
||||
"callsign": "IGNP",
|
||||
"beacon_type": 15,
|
||||
"hertz": 109100000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield11_2": {
|
||||
"name": "GAZIANTEP",
|
||||
"callsign": "GAZ",
|
||||
"beacon_type": 10,
|
||||
"hertz": 432000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield11_3": {
|
||||
"name": "GAZIANTEP",
|
||||
"callsign": "GAZ",
|
||||
"beacon_type": 4,
|
||||
"hertz": 116700000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield41_0": {
|
||||
"name": "",
|
||||
"callsign": "IGZP",
|
||||
"beacon_type": 14,
|
||||
"hertz": 108500000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield41_1": {
|
||||
"name": "ALANYA/GAZIPASA",
|
||||
"callsign": "GZP",
|
||||
"beacon_type": 3,
|
||||
"hertz": 0,
|
||||
"channel": 89
|
||||
},
|
||||
{
|
||||
"airfield41_2": {
|
||||
"name": "GAZIPASA/ALANYA",
|
||||
"callsign": "GZP",
|
||||
"beacon_type": 10,
|
||||
"hertz": 316000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield50_0": {
|
||||
"name": "FAMAGUSTA_GECITKALE",
|
||||
"callsign": "GKE",
|
||||
"beacon_type": 4,
|
||||
"hertz": 114300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield50_1": {
|
||||
"name": "GECITKALE",
|
||||
"callsign": "GKE",
|
||||
"beacon_type": 10,
|
||||
"hertz": 435000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield15_0": {
|
||||
"name": "HATAY",
|
||||
"callsign": "HTY",
|
||||
"beacon_type": 4,
|
||||
"hertz": 112050000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield15_1": {
|
||||
"name": "",
|
||||
"callsign": "IHAT",
|
||||
"beacon_type": 14,
|
||||
"hertz": 108900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield15_2": {
|
||||
"name": "",
|
||||
"callsign": "IHAT",
|
||||
"beacon_type": 15,
|
||||
"hertz": 108900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield15_3": {
|
||||
"name": "HATAY",
|
||||
"callsign": "HTY",
|
||||
"beacon_type": 10,
|
||||
"hertz": 336000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield16_0": {
|
||||
"name": "INCIRLIC",
|
||||
"callsign": "DAN",
|
||||
"beacon_type": 5,
|
||||
"hertz": null,
|
||||
"channel": 21
|
||||
},
|
||||
{
|
||||
"airfield16_1": {
|
||||
"name": "",
|
||||
"callsign": "IDAN",
|
||||
"beacon_type": 14,
|
||||
"hertz": 109300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield16_2": {
|
||||
"name": "",
|
||||
"callsign": "IDAN",
|
||||
"beacon_type": 15,
|
||||
"hertz": 109300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield16_3": {
|
||||
"name": "",
|
||||
"callsign": "IDNA",
|
||||
"beacon_type": 15,
|
||||
"hertz": 111700000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield16_4": {
|
||||
"name": "",
|
||||
"callsign": "IDNA",
|
||||
"beacon_type": 14,
|
||||
"hertz": 111700000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield47_0": {
|
||||
"name": "",
|
||||
"callsign": "ILC",
|
||||
"beacon_type": 14,
|
||||
"hertz": 110300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield47_1": {
|
||||
"name": "Larnaca",
|
||||
"callsign": "LCA",
|
||||
"beacon_type": 4,
|
||||
"hertz": 112800000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield47_2": {
|
||||
"name": "",
|
||||
"callsign": "ILC",
|
||||
"beacon_type": 15,
|
||||
"hertz": 110300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield47_3": {
|
||||
"name": "Larnaca",
|
||||
"callsign": "LCA",
|
||||
"beacon_type": 9,
|
||||
"hertz": 432000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield21_0": {
|
||||
"name": "",
|
||||
"callsign": "IBA",
|
||||
"beacon_type": 15,
|
||||
"hertz": 109100000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield21_1": {
|
||||
"name": "",
|
||||
"callsign": "IBA",
|
||||
"beacon_type": 14,
|
||||
"hertz": 109100000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield21_2": {
|
||||
"name": "LATAKIA",
|
||||
"callsign": "LTK",
|
||||
"beacon_type": 4,
|
||||
"hertz": 114800000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield21_3": {
|
||||
"name": "LATAKIA",
|
||||
"callsign": "LTK",
|
||||
"beacon_type": 9,
|
||||
"hertz": 414000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield25_0": {
|
||||
"name": "MEZZEH",
|
||||
"callsign": "MEZ",
|
||||
"beacon_type": 10,
|
||||
"hertz": 358000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield27_0": {
|
||||
"name": "ALEPPO",
|
||||
"callsign": "ALE",
|
||||
"beacon_type": 10,
|
||||
"hertz": 396000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield27_1": {
|
||||
"name": "ALEPPO",
|
||||
"callsign": "MER",
|
||||
"beacon_type": 10,
|
||||
"hertz": 365000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield27_2": {
|
||||
"name": "ALEPPO",
|
||||
"callsign": "ALE",
|
||||
"beacon_type": 4,
|
||||
"hertz": 114500000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield28_0": {
|
||||
"name": "PALMYRA",
|
||||
"callsign": "PLR",
|
||||
"beacon_type": 10,
|
||||
"hertz": 363000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield28_1": {
|
||||
"name": "PALMYRA",
|
||||
"callsign": "PAL",
|
||||
"beacon_type": 10,
|
||||
"hertz": 337000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield46_0": {
|
||||
"name": "Pafos",
|
||||
"callsign": "PHA",
|
||||
"beacon_type": 10,
|
||||
"hertz": 328000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield46_1": {
|
||||
"name": "",
|
||||
"callsign": "IPA",
|
||||
"beacon_type": 15,
|
||||
"hertz": 108900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield46_2": {
|
||||
"name": "",
|
||||
"callsign": "IPA",
|
||||
"beacon_type": 14,
|
||||
"hertz": 108900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield46_3": {
|
||||
"name": "Pafos",
|
||||
"callsign": "IPA",
|
||||
"beacon_type": 3,
|
||||
"hertz": 108900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield46_4": {
|
||||
"name": "Pafos",
|
||||
"callsign": "PHA",
|
||||
"beacon_type": 4,
|
||||
"hertz": 117900000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield46_5": {
|
||||
"name": "Pafos",
|
||||
"callsign": "PHA",
|
||||
"beacon_type": 5,
|
||||
"hertz": null,
|
||||
"channel": 79
|
||||
},
|
||||
{
|
||||
"airfield30_0": {
|
||||
"name": "RAMATDAVID",
|
||||
"callsign": "RMD",
|
||||
"beacon_type": 10,
|
||||
"hertz": 368000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield30_1": {
|
||||
"name": "RAMATDAVID",
|
||||
"callsign": "RMD",
|
||||
"beacon_type": 6,
|
||||
"hertz": 113700000,
|
||||
"channel": 84
|
||||
},
|
||||
{
|
||||
"airfield30_2": {
|
||||
"name": "",
|
||||
"callsign": "RMD",
|
||||
"beacon_type": 14,
|
||||
"hertz": 111100000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield30_3": {
|
||||
"name": "",
|
||||
"callsign": "RMD",
|
||||
"beacon_type": 15,
|
||||
"hertz": 111100000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield34_0": {
|
||||
"name": "ROSH-PINA",
|
||||
"callsign": "ROP",
|
||||
"beacon_type": 4,
|
||||
"hertz": 115300000,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"airfield40_0": {
|
||||
"name": "Cheka",
|
||||
"callsign": "CAK",
|
||||
"beacon_type": 4,
|
||||
"hertz": 116200000,
|
||||
"channel": null
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1 +1 @@
|
||||
[]
|
||||
{}
|
||||
@ -21,18 +21,19 @@ beacons = {
|
||||
|
||||
"""
|
||||
import argparse
|
||||
from contextlib import contextmanager
|
||||
import dataclasses
|
||||
import gettext
|
||||
import json
|
||||
import logging
|
||||
import os
|
||||
from pathlib import Path
|
||||
import textwrap
|
||||
from contextlib import contextmanager
|
||||
from pathlib import Path
|
||||
from typing import Dict, Iterable, Union
|
||||
|
||||
import lupa
|
||||
|
||||
from game.missiongenerator.beacons import Beacon, BeaconType, BEACONS_RESOURCE_PATH
|
||||
from game.missiongenerator.beacons import BEACONS_RESOURCE_PATH, Beacon, BeaconType
|
||||
|
||||
THIS_DIR = Path(__file__).parent.resolve()
|
||||
SRC_DIR = THIS_DIR.parents[1]
|
||||
@ -59,7 +60,7 @@ def convert_lua_frequency(raw: Union[float, int]) -> int:
|
||||
return raw
|
||||
|
||||
|
||||
def beacons_from_terrain(dcs_path: Path, path: Path) -> Iterable[Beacon]:
|
||||
def beacons_from_terrain(dcs_path: Path, path: Path) -> Iterable[tuple[str, Beacon]]:
|
||||
logging.info(f"Loading terrain data from {path}")
|
||||
# TODO: Fix case-sensitive issues.
|
||||
# The beacons.lua file differs by case in some terrains. Will need to be
|
||||
@ -133,7 +134,7 @@ def beacons_from_terrain(dcs_path: Path, path: Path) -> Iterable[Beacon]:
|
||||
)
|
||||
beacon_type = beacon_types_map[beacon_type_lua]
|
||||
|
||||
yield Beacon(
|
||||
yield beacon["beaconId"], Beacon(
|
||||
beacon["display_name"],
|
||||
beacon["callsign"],
|
||||
beacon_type,
|
||||
@ -161,12 +162,13 @@ class Importer:
|
||||
beacons = beacons_from_terrain(self.dcs_path, terrain)
|
||||
self.export_beacons(terrain.name, beacons)
|
||||
|
||||
def export_beacons(self, terrain: str, beacons: Iterable[Beacon]) -> None:
|
||||
def export_beacons(
|
||||
self, terrain: str, beacons: Iterable[tuple[str, Beacon]]
|
||||
) -> None:
|
||||
terrain_py_path = self.export_dir / f"{terrain.lower()}.json"
|
||||
import json
|
||||
|
||||
terrain_py_path.write_text(
|
||||
json.dumps([dataclasses.asdict(b) for b in beacons], indent=True)
|
||||
json.dumps({bid: dataclasses.asdict(b) for bid, b in beacons}, indent=True)
|
||||
)
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user