from dataclasses import dataclass @dataclass class Callsign: """Data class that defines a callsign and the data associated with it. This will have been retrieved by a callsign lookup provider using data files or online lookup. This can be used to infer missing data for a spot, though if the spot has a SIG (e.g. POTA) reference this data for their home location (or even just their country) will be less accurate and should not be used in preference to that.""" # Callsign as spotted call: str # "Home" call, i.e. with any prefixes and suffixes stripped off home_call: str # Operator name name : str | None = None # QTH (location), free text qth : str | None = None # Maidenhead grid locator. Depending on the source of lookup this could be a home location from QRZ/HamQTH or just # the centre of the country they're operating in if no other data is available. grid : str | None = None # Latitude. Depending on the source of lookup this could be a home location from QRZ/HamQTH or just # the centre of the country they're operating in if no other data is available. latitude : float | None = None # Longitude. Depending on the source of lookup this could be a home location from QRZ/HamQTH or just # the centre of the country they're operating in if no other data is available. longitude : float | None = None # Country in which the callsign indicates they are operating country: str | None = None # Continent in which the callsign indicates they are operating continent: str | None = None # DXCC ID in which the callsign indicates they are operating dxcc_id: int | None = None # CQ zone in which the callsign indicates they are operating cq_zone: int | None = None # ITU zone in which the callsign indicates they are operating itu_zone: int | None = None