mirror of
https://codeberg.org/mclemens/colorspot.git
synced 2024-09-30 04:16:04 -04:00
added download of missing files
switched to cty.csv as data source
This commit is contained in:
parent
6b4672bd32
commit
de323722f4
778
colorspot.py
778
colorspot.py
@ -16,25 +16,85 @@ from colored import fg, bg, attr
|
|||||||
import configparser
|
import configparser
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
import random
|
import random
|
||||||
|
import requests
|
||||||
|
from os.path import exists
|
||||||
|
import zipfile
|
||||||
|
|
||||||
class ColorSpot():
|
class ColorSpot():
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.version = "0.1.0"
|
self.version = "0.1.0"
|
||||||
|
|
||||||
|
self.print_banner()
|
||||||
|
|
||||||
self.config = configparser.ConfigParser()
|
self.config = configparser.ConfigParser()
|
||||||
self.config_file = os.path.expanduser('~/.colorspot.ini')
|
self.config_file = os.path.expanduser('~/.colorspot.ini')
|
||||||
self.read_config(self.config, self.config_file)
|
self.read_config(self.config, self.config_file)
|
||||||
|
|
||||||
self.qsl_countries = self.get_confirmed_countries()
|
self.check_files()
|
||||||
|
if self.check_lotw_confirmed:
|
||||||
|
self.confirmed_entities = self.get_confirmed_entities()
|
||||||
|
|
||||||
self.print_banner()
|
|
||||||
|
if self.check_cty:
|
||||||
|
self.cty = list(csv.reader(open(self.config['files']['cty'], "r"), delimiter=","))
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def rnd_col():
|
def rnd_col():
|
||||||
r = lambda: random.randint(0,255)
|
r = lambda: random.randint(0,255)
|
||||||
return'#%02X%02X%02X' % (r(),r(),r())
|
return'#%02X%02X%02X' % (r(),r(),r())
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def download_file(url, local_filename):
|
||||||
|
#local_filename = url.split('/')[-1]
|
||||||
|
# NOTE the stream=True parameter below
|
||||||
|
with requests.get(url, stream=True) as r:
|
||||||
|
r.raise_for_status()
|
||||||
|
with open(local_filename, 'wb') as f:
|
||||||
|
for chunk in r.iter_content(chunk_size=8192):
|
||||||
|
# If you have chunk encoded response uncomment if
|
||||||
|
# and set chunk_size parameter to None.
|
||||||
|
#if chunk:
|
||||||
|
f.write(chunk)
|
||||||
|
return local_filename
|
||||||
|
|
||||||
|
def check_files(self):
|
||||||
|
# check for lotw qsl information file
|
||||||
|
self.check_lotw_confirmed = exists(self.config['files']['lotw_confirmed'])
|
||||||
|
if not self.check_lotw_confirmed:
|
||||||
|
print("The file " + self.config['files']['lotw_confirmed'] + " is missing.")
|
||||||
|
|
||||||
|
|
||||||
|
# check for cty.csv file
|
||||||
|
self.check_cty = exists(self.config['files']['cty'])
|
||||||
|
if not self.check_cty:
|
||||||
|
url = "https://www.country-files.com/bigcty/download/bigcty.zip"
|
||||||
|
print("The file " + self.config['files']['cty'] + " is missing.")
|
||||||
|
print("Trying to download " + url)
|
||||||
|
zip_name = self.download_file(url, "bigcty.zip" )
|
||||||
|
with zipfile.ZipFile(zip_name, 'r') as zip_ref:
|
||||||
|
zip_ref.extract("cty.csv")
|
||||||
|
os.remove(zip_name)
|
||||||
|
self.check_cty = exists(self.config['files']['cty'])
|
||||||
|
if self.check_cty:
|
||||||
|
print("File successfully downloaded and extracted.")
|
||||||
|
else:
|
||||||
|
print("something went wrong while downloading " + url)
|
||||||
|
|
||||||
|
# check for lotw user activity file
|
||||||
|
self.check_lotw_activity = exists(self.config['files']['lotw_activity'])
|
||||||
|
if not self.check_lotw_activity:
|
||||||
|
url = "https://lotw.arrl.org/lotw-user-activity.csv"
|
||||||
|
print("The file " + self.config['files']['lotw_activity'] + " is missing.")
|
||||||
|
print("Trying to download " + url)
|
||||||
|
file_name = self.download_file(url, self.config['files']['lotw_activity'])
|
||||||
|
self.check_lotw_activity = exists(self.config['files']['lotw_activity'])
|
||||||
|
if self.check_lotw_activity:
|
||||||
|
print("File successfully downloaded")
|
||||||
|
else:
|
||||||
|
print("something went wrong while downloading " + url)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def print_banner(self):
|
def print_banner(self):
|
||||||
"""print an awesome banner"""
|
"""print an awesome banner"""
|
||||||
@ -45,6 +105,7 @@ class ColorSpot():
|
|||||||
print(fg(self.rnd_col())+" | (__/ _ \ / _ \ '_\__ \ '_ \/ _ \ _|")
|
print(fg(self.rnd_col())+" | (__/ _ \ / _ \ '_\__ \ '_ \/ _ \ _|")
|
||||||
print(fg(self.rnd_col())+" \___\___/_\___/_| |___/ .__/\___/\__|")
|
print(fg(self.rnd_col())+" \___\___/_\___/_| |___/ .__/\___/\__|")
|
||||||
print(fg(self.rnd_col())+" -= DK1MI =- |_| ")
|
print(fg(self.rnd_col())+" -= DK1MI =- |_| ")
|
||||||
|
print("")
|
||||||
print(attr('reset'))
|
print(attr('reset'))
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@ -60,6 +121,10 @@ class ColorSpot():
|
|||||||
'port': '7373',
|
'port': '7373',
|
||||||
'user': 'N0CALL',
|
'user': 'N0CALL',
|
||||||
'timeout': '100'}
|
'timeout': '100'}
|
||||||
|
config['files'] = {
|
||||||
|
'cty': 'cty.csv',
|
||||||
|
'lotw_confirmed': 'lotw.adi',
|
||||||
|
'lotw_activity': 'lotw-user-activity.csv'}
|
||||||
config['lotw'] = {
|
config['lotw'] = {
|
||||||
'user': 'N0CALL',
|
'user': 'N0CALL',
|
||||||
'password': 'XXXXXXXXX',
|
'password': 'XXXXXXXXX',
|
||||||
@ -96,653 +161,6 @@ class ColorSpot():
|
|||||||
'alert_bg': 'indian_red_1a',
|
'alert_bg': 'indian_red_1a',
|
||||||
'alert_fg': 'white',
|
'alert_fg': 'white',
|
||||||
'default_bg': 'black'}
|
'default_bg': 'black'}
|
||||||
config['dxcc'] = {
|
|
||||||
"1A": "Sov. Mil. Order of Malta,EU",
|
|
||||||
"3A": "Monaco,EU",
|
|
||||||
"3B6": "Agalega & St. Brandon Is.,AF",
|
|
||||||
"3B7": "Agalega & St. Brandon Is.,AF",
|
|
||||||
"3B8": "Mauritius,AF",
|
|
||||||
"3B9": "Rodriguez I.,AF",
|
|
||||||
"3C": "Equatorial Guinea,AF",
|
|
||||||
"3C0": "Annobon I.,AF",
|
|
||||||
"3D2": "Fiji,OC",
|
|
||||||
"3D2": "Conway Reef,OC",
|
|
||||||
"3D2": "Rotuma I.,OC",
|
|
||||||
"3DA": "Swaziland,AF",
|
|
||||||
"3V": "Tunisia,AF",
|
|
||||||
"3W": "Viet Nam,AS",
|
|
||||||
"XV": "Viet Nam,AS",
|
|
||||||
"3X": "Guinea,AF",
|
|
||||||
"3Y": "Bouvet,AF",
|
|
||||||
"3Y": "Peter I I.,AN",
|
|
||||||
"4J": "Azerbaijan,AS",
|
|
||||||
"4K": "Azerbaijan,AS",
|
|
||||||
"4L": "Georgia,AS",
|
|
||||||
"4O": "Montenegro,EU",
|
|
||||||
"4S": "Sri Lanka,AS",
|
|
||||||
"4U_ITU": "ITU HQ,EU",
|
|
||||||
"4U_UN": "United Nations HQ,NA",
|
|
||||||
"4W": "Timor - Leste,OC",
|
|
||||||
"4X": "Israel,AS",
|
|
||||||
"4Z": "Israel,AS",
|
|
||||||
"5A": "Libya,AF",
|
|
||||||
"5B": "Cyprus,AS",
|
|
||||||
"C4": "Cyprus,AS",
|
|
||||||
"P3": "Cyprus,AS",
|
|
||||||
"5H": "Tanzania,AF",
|
|
||||||
"5I": "Tanzania,AF",
|
|
||||||
"5N": "Nigeria,AF",
|
|
||||||
"5R": "Madagascar,AF",
|
|
||||||
"5T": "Mauritania,AF",
|
|
||||||
"5U": "Niger,AF",
|
|
||||||
"5V": "Togo,AF",
|
|
||||||
"5W": "Samoa,OC",
|
|
||||||
"5X": "Uganda,AF",
|
|
||||||
"5Y": "Kenya,AF",
|
|
||||||
"5Z": "Kenya,AF",
|
|
||||||
"6V": "Senegal,AF",
|
|
||||||
"6W": "Senegal,AF",
|
|
||||||
"6Y": "Jamaica,NA",
|
|
||||||
"7O": "Yemen,AS",
|
|
||||||
"7P": "Lesotho,AF",
|
|
||||||
"7Q": "Malawi,AF",
|
|
||||||
"7T": "Algeria,AF",
|
|
||||||
"7U": "Algeria,AF",
|
|
||||||
"7V": "Algeria,AF",
|
|
||||||
"7W": "Algeria,AF",
|
|
||||||
"7X": "Algeria,AF",
|
|
||||||
"7Y": "Algeria,AF",
|
|
||||||
"8P": "Barbados,NA",
|
|
||||||
"8Q": "Maldives,AF",
|
|
||||||
"8R": "Guyana,SA",
|
|
||||||
"9A": "Croatia,EU",
|
|
||||||
"9G": "Ghana,AF",
|
|
||||||
"9H": "Malta,EU",
|
|
||||||
"9I": "Zambia,AF",
|
|
||||||
"9J": "Zambia,AF",
|
|
||||||
"9K": "Kuwait,AS",
|
|
||||||
"9L": "Sierra Leone,AF",
|
|
||||||
"9M2": "West Malaysia,AS",
|
|
||||||
"9M4": "West Malaysia,AS",
|
|
||||||
"9M6": "East Malaysia,OC",
|
|
||||||
"9M8": "East Malaysia,OC",
|
|
||||||
"9N": "Nepal,AS",
|
|
||||||
"9Q": "Dem. Rep. of Congo,AF",
|
|
||||||
"9R": "Dem. Rep. of Congo,AF",
|
|
||||||
"9S": "Dem. Rep. of Congo,AF",
|
|
||||||
"9T": "Dem. Rep. of Congo,AF",
|
|
||||||
"9U": "Burundi,AF",
|
|
||||||
"9V": "Singapore,AS",
|
|
||||||
"9X": "Rwanda,AF",
|
|
||||||
"9Y": "Trinidad & Tobago,SA",
|
|
||||||
"9Z": "Trinidad & Tobago,SA",
|
|
||||||
"A2": "Botswana,AF",
|
|
||||||
"A3": "Tonga,OC",
|
|
||||||
"A4": "Oman,AS",
|
|
||||||
"A5": "Bhutan,AS",
|
|
||||||
"A6": "United Arab Emirates,AS",
|
|
||||||
"A7": "Qatar,AS",
|
|
||||||
"A9": "Bahrain,AS",
|
|
||||||
"AP": "Pakistan,AS",
|
|
||||||
"B": "China,AS",
|
|
||||||
"BS7": "Scarborough Reef,AS",
|
|
||||||
"BV": "Taiwan,AS",
|
|
||||||
"BV9P": "Pratas I.,AS",
|
|
||||||
"C2": "Nauru,OC",
|
|
||||||
"C3": "Andorra,EU",
|
|
||||||
"C5": "The Gambia,AF",
|
|
||||||
"C6": "Bahamas,NA",
|
|
||||||
"C8": "Mozambique,AF",
|
|
||||||
"C9": "Mozambique,AF",
|
|
||||||
"CA": "Chile,SA",
|
|
||||||
"CB": "Chile,SA",
|
|
||||||
"CC": "Chile,SA",
|
|
||||||
"CD": "Chile,SA",
|
|
||||||
"CE": "Chile,SA",
|
|
||||||
"CE0": "Easter I.,SA",
|
|
||||||
"CE0": "Juan Fernandez Is.,SA",
|
|
||||||
"CE0": "San Felix & San Ambrosio,SA",
|
|
||||||
"CE9": "Antarctica,AN",
|
|
||||||
"KC4": "Antarctica,AN",
|
|
||||||
"3Y": "Antarctica,AN",
|
|
||||||
"8j1": "Antarctica,AN",
|
|
||||||
"AT0": "Antarctica,AN",
|
|
||||||
"DP0": "Antarctica,AN",
|
|
||||||
"VK0": "Antarctica,AN",
|
|
||||||
"VP8": "Antarctica,AN",
|
|
||||||
"R1AW": "Antarctica,AN",
|
|
||||||
"CM": "Cuba,NA",
|
|
||||||
"CO": "Cuba,NA",
|
|
||||||
"CN": "Morocco,AF",
|
|
||||||
"CP": "Bolivia,SA",
|
|
||||||
"CT": "Portugal,EU",
|
|
||||||
"CT3": "Madeira Is.,AF",
|
|
||||||
"CU": "Azores,EU",
|
|
||||||
"CV": "Uruguay,SA",
|
|
||||||
"CW": "Uruguay,SA",
|
|
||||||
"CX": "Uruguay,SA",
|
|
||||||
"CY0": "Sable I.,NA",
|
|
||||||
"CY9": "St. Paul I.,NA",
|
|
||||||
"D2": "Angola,AF",
|
|
||||||
"D3": "Angola,AF",
|
|
||||||
"D4": "Cape Verde,AF",
|
|
||||||
"D6": "Comoros,AF",
|
|
||||||
"DA": "Federal Republic of Germany,EU",
|
|
||||||
"DB": "Federal Republic of Germany,EU",
|
|
||||||
"DC": "Federal Republic of Germany,EU",
|
|
||||||
"DD": "Federal Republic of Germany,EU",
|
|
||||||
"DE": "Federal Republic of Germany,EU",
|
|
||||||
"DF": "Federal Republic of Germany,EU",
|
|
||||||
"DG": "Federal Republic of Germany,EU",
|
|
||||||
"DH": "Federal Republic of Germany,EU",
|
|
||||||
"DI": "Federal Republic of Germany,EU",
|
|
||||||
"DJ": "Federal Republic of Germany,EU",
|
|
||||||
"DK": "Federal Republic of Germany,EU",
|
|
||||||
"DL": "Federal Republic of Germany,EU",
|
|
||||||
"DM": "Federal Republic of Germany,EU",
|
|
||||||
"DN": "Federal Republic of Germany,EU",
|
|
||||||
"DO": "Federal Republic of Germany,EU",
|
|
||||||
"DP": "Federal Republic of Germany,EU",
|
|
||||||
"DQ": "Federal Republic of Germany,EU",
|
|
||||||
"DR": "Federal Republic of Germany,EU",
|
|
||||||
"DU": "Philippines,OC",
|
|
||||||
"DV": "Philippines,OC",
|
|
||||||
"DW": "Philippines,OC",
|
|
||||||
"DX": "Philippines,OC",
|
|
||||||
"DY": "Philippines,OC",
|
|
||||||
"DZ": "Philippines,OC",
|
|
||||||
"E3": "Eritrea,AF",
|
|
||||||
"E4": "Palestine,AS",
|
|
||||||
"E5": "N. Cook Is.,OC",
|
|
||||||
"E5": "S. Cook Is.,OC",
|
|
||||||
"E7": "Bosnia-Herzegovina,EU",
|
|
||||||
"EA": "Spain,EU",
|
|
||||||
"EB": "Spain,EU",
|
|
||||||
"EC": "Spain,EU",
|
|
||||||
"ED": "Spain,EU",
|
|
||||||
"EE": "Spain,EU",
|
|
||||||
"EF": "Spain,EU",
|
|
||||||
"EG": "Spain,EU",
|
|
||||||
"EH": "Spain,EU",
|
|
||||||
"EA6": "Balearic Is.,EU",
|
|
||||||
"EB6": "Balearic Is.,EU",
|
|
||||||
"EC6": "Balearic Is.,EU",
|
|
||||||
"ED6": "Balearic Is.,EU",
|
|
||||||
"EE6": "Balearic Is.,EU",
|
|
||||||
"EF6": "Balearic Is.,EU",
|
|
||||||
"EG6": "Balearic Is.,EU",
|
|
||||||
"EH6": "Balearic Is.,EU",
|
|
||||||
"EA8": "Canary Is.,AF",
|
|
||||||
"EB8": "Canary Is.,AF",
|
|
||||||
"EC8": "Canary Is.,AF",
|
|
||||||
"ED8": "Canary Is.,AF",
|
|
||||||
"EE8": "Canary Is.,AF",
|
|
||||||
"EF8": "Canary Is.,AF",
|
|
||||||
"EG8": "Canary Is.,AF",
|
|
||||||
"EH8": "Canary Is.,AF",
|
|
||||||
"EA9": "Ceuta & Melilla,AF",
|
|
||||||
"EB9": "Ceuta & Melilla,AF",
|
|
||||||
"EC9": "Ceuta & Melilla,AF",
|
|
||||||
"ED9": "Ceuta & Melilla,AF",
|
|
||||||
"EE9": "Ceuta & Melilla,AF",
|
|
||||||
"EF9": "Ceuta & Melilla,AF",
|
|
||||||
"EG9": "Ceuta & Melilla,AF",
|
|
||||||
"EH9": "Ceuta & Melilla,AF",
|
|
||||||
"EI": "Ireland,EU",
|
|
||||||
"EJ": "Ireland,EU",
|
|
||||||
"EK": "Armenia,AS",
|
|
||||||
"EL": "Liberia,AF",
|
|
||||||
"EP": "Iran,AS",
|
|
||||||
"EQ": "Iran,AS",
|
|
||||||
"ER": "Moldova,EU",
|
|
||||||
"ES": "Estonia,EU",
|
|
||||||
"ET": "Ethiopia,AF",
|
|
||||||
"EU": "Belarus,EU",
|
|
||||||
"EV": "Belarus,EU",
|
|
||||||
"EW": "Belarus,EU",
|
|
||||||
"EX": "Kyrgyzstan,AS",
|
|
||||||
"EY": "Tajikistan,AS",
|
|
||||||
"EZ": "Turkmenistan,AS",
|
|
||||||
"F": "France,EU",
|
|
||||||
"FG": "Guadeloupe,NA",
|
|
||||||
"FH": "Mayotte,AF",
|
|
||||||
"FJ": "Saint Barthelemy,NA",
|
|
||||||
"FK": "New Caledonia,OC",
|
|
||||||
"FK": "Chesterfield Is.,OC",
|
|
||||||
"FM": "Martinique,NA",
|
|
||||||
"FO": "Austral I.,OC",
|
|
||||||
"FO": "Clipperton I.,NA",
|
|
||||||
"FO": "French Polynesia,OC",
|
|
||||||
"FO": "Marquesas Is.,OC",
|
|
||||||
"FP": "St. Pierre & Miquelon,NA",
|
|
||||||
"FR/G": "Glorioso Is.,AF",
|
|
||||||
"FR/J": "Juan de Nova, Europa,AF",
|
|
||||||
"FR/E": "Juan de Nova, Europa,AF",
|
|
||||||
"FR": "Reunion I.,AF",
|
|
||||||
"FR/T": "Tromelin I.,AF",
|
|
||||||
"FS": "Saint Martin,NA",
|
|
||||||
"FT/W": "Crozet I.,AF",
|
|
||||||
"FT/X": "Kerguelen Is.,AF",
|
|
||||||
"FT/Z": "Amsterdam & St. Paul Is.,AF",
|
|
||||||
"FW": "Wallis & Futuna Is.,OC",
|
|
||||||
"FY": "French Guiana,SA",
|
|
||||||
"G": "England,EU",
|
|
||||||
"GX": "England,EU",
|
|
||||||
"M": "England,EU",
|
|
||||||
"GD": "Isle of Man,EU",
|
|
||||||
"GT": "Isle of Man,EU",
|
|
||||||
"GI": "Northern Ireland,EU",
|
|
||||||
"GN": "Northern Ireland,EU",
|
|
||||||
"GJ": "Jersey,EU",
|
|
||||||
"GH": "Jersey,EU",
|
|
||||||
"GM": "Scotland,EU",
|
|
||||||
"GS": "Scotland,EU",
|
|
||||||
"GU": "Guernsey,EU",
|
|
||||||
"GP": "Guernsey,EU",
|
|
||||||
"GW": "Wales,EU",
|
|
||||||
"GC": "Wales,EU",
|
|
||||||
"H4": "Solomon Is.,OC",
|
|
||||||
"H40": "Temotu Province,OC",
|
|
||||||
"HA": "Hungary,EU",
|
|
||||||
"HG": "Hungary,EU",
|
|
||||||
"HB": "Switzerland,EU",
|
|
||||||
"HB0": "Liechtenstein,EU",
|
|
||||||
"HC": "Ecuador,SA",
|
|
||||||
"HD": "Ecuador,SA",
|
|
||||||
"HC8": "Galapagos Is.,SA",
|
|
||||||
"HD8": "Galapagos Is.,SA",
|
|
||||||
"HH": "Haiti,NA",
|
|
||||||
"HI": "Dominican Republic,NA",
|
|
||||||
"HJ": "Colombia,SA",
|
|
||||||
"HK": "Colombia,SA",
|
|
||||||
"5J": "Colombia,SA",
|
|
||||||
"5K": "Colombia,SA",
|
|
||||||
"HK0": "Malpelo I.,SA",
|
|
||||||
"HK0": "San Andres & Providencia,NA",
|
|
||||||
"HL": "Republic of Korea,AS",
|
|
||||||
"6K": "Republic of Korea,AS",
|
|
||||||
"6N": "Republic of Korea,AS",
|
|
||||||
"HO": "Panama,NA",
|
|
||||||
"HP": "Panama,NA",
|
|
||||||
"HQ": "Honduras,NA",
|
|
||||||
"HR": "Honduras,NA",
|
|
||||||
"HS": "Thailand,AS",
|
|
||||||
"E2": "Thailand,AS",
|
|
||||||
"HV": "Vatican,EU",
|
|
||||||
"HZ": "Saudi Arabia,AS",
|
|
||||||
"I": "Italy,EU",
|
|
||||||
"IS0": "Sardinia,EU",
|
|
||||||
"IM0": "Sardinia,EU",
|
|
||||||
"J2": "Djibouti,AF",
|
|
||||||
"J3": "Grenada,NA",
|
|
||||||
"J5": "Guinea-Bissau,AF",
|
|
||||||
"J6": "St. Lucia,NA",
|
|
||||||
"J7": "Dominica,NA",
|
|
||||||
"J8": "St. Vincent,NA",
|
|
||||||
"JA": "Japan,AS",
|
|
||||||
"JB": "Japan,AS",
|
|
||||||
"JC": "Japan,AS",
|
|
||||||
"JD": "Japan,AS",
|
|
||||||
"JE": "Japan,AS",
|
|
||||||
"JF": "Japan,AS",
|
|
||||||
"JG": "Japan,AS",
|
|
||||||
"JH": "Japan,AS",
|
|
||||||
"JI": "Japan,AS",
|
|
||||||
"JJ": "Japan,AS",
|
|
||||||
"JK": "Japan,AS",
|
|
||||||
"JL": "Japan,AS",
|
|
||||||
"JM": "Japan,AS",
|
|
||||||
"JN": "Japan,AS",
|
|
||||||
"JO": "Japan,AS",
|
|
||||||
"JP": "Japan,AS",
|
|
||||||
"JQ": "Japan,AS",
|
|
||||||
"JR": "Japan,AS",
|
|
||||||
"JS": "Japan,AS",
|
|
||||||
"7J": "Japan,AS",
|
|
||||||
"7K": "Japan,AS",
|
|
||||||
"7L": "Japan,AS",
|
|
||||||
"7M": "Japan,AS",
|
|
||||||
"7N": "Japan,AS",
|
|
||||||
"JD1": "Minami Torishima,OC",
|
|
||||||
"JD1": "Ogasawara,AS",
|
|
||||||
"JT": "Mongolia,AS",
|
|
||||||
"JU": "Mongolia,AS",
|
|
||||||
"JV": "Mongolia,AS",
|
|
||||||
"JW": "Svalbard,EU",
|
|
||||||
"JX": "Jan Mayen,EU",
|
|
||||||
"JY": "Jordan,AS",
|
|
||||||
"K": "United States of America,NA",
|
|
||||||
"W": "United States of America,NA",
|
|
||||||
"N": "United States of America,NA",
|
|
||||||
"AA": "United States of America,NA",
|
|
||||||
"AB": "United States of America,NA",
|
|
||||||
"AC": "United States of America,NA",
|
|
||||||
"AD": "United States of America,NA",
|
|
||||||
"AE": "United States of America,NA",
|
|
||||||
"AF": "United States of America,NA",
|
|
||||||
"AG": "United States of America,NA",
|
|
||||||
"AH": "United States of America,NA",
|
|
||||||
"AI": "United States of America,NA",
|
|
||||||
"AJ": "United States of America,NA",
|
|
||||||
"AK": "United States of America,NA",
|
|
||||||
"KG4": "Guantanamo Bay,NA",
|
|
||||||
"KH0": "Mariana Is.,OC",
|
|
||||||
"KH1": "Baker & Howland Is.,OC",
|
|
||||||
"KH2": "Guam,OC",
|
|
||||||
"KH3": "Johnston I.,OC",
|
|
||||||
"KH4": "Midway I.,OC",
|
|
||||||
"KH5": "Palmyra & Jarvis Is.,OC",
|
|
||||||
"KH5K": "Kingman Reef,OC",
|
|
||||||
"KH6": "Hawaii,OC",
|
|
||||||
"KH7": "Hawaii,OC",
|
|
||||||
"KH7K": "Kure I.,OC",
|
|
||||||
"KH8": "American Samoa,OC",
|
|
||||||
"KH8": "Swains I.,OC",
|
|
||||||
"KH9": "Wake I.,OC",
|
|
||||||
"KL": "Alaska,NA",
|
|
||||||
"AL": "Alaska,NA",
|
|
||||||
"NL": "Alaska,NA",
|
|
||||||
"WL": "Alaska,NA",
|
|
||||||
"KP1": "Navassa I.,NA",
|
|
||||||
"KP2": "Virgin Is.,NA",
|
|
||||||
"KP3": "Puerto Rico,NA",
|
|
||||||
"KP4": "Puerto Rico,NA",
|
|
||||||
"KP5": "Desecheo I.,NA",
|
|
||||||
"LA": "Norway,EU",
|
|
||||||
"LB": "Norway,EU",
|
|
||||||
"LC": "Norway,EU",
|
|
||||||
"LD": "Norway,EU",
|
|
||||||
"LE": "Norway,EU",
|
|
||||||
"LF": "Norway,EU",
|
|
||||||
"LG": "Norway,EU",
|
|
||||||
"LH": "Norway,EU",
|
|
||||||
"LI": "Norway,EU",
|
|
||||||
"LJ": "Norway,EU",
|
|
||||||
"LK": "Norway,EU",
|
|
||||||
"LL": "Norway,EU",
|
|
||||||
"LM": "Norway,EU",
|
|
||||||
"LN": "Norway,EU",
|
|
||||||
"LO": "Argentina,SA",
|
|
||||||
"LP": "Argentina,SA",
|
|
||||||
"LQ": "Argentina,SA",
|
|
||||||
"LR": "Argentina,SA",
|
|
||||||
"LS": "Argentina,SA",
|
|
||||||
"LT": "Argentina,SA",
|
|
||||||
"LU": "Argentina,SA",
|
|
||||||
"LV": "Argentina,SA",
|
|
||||||
"LW": "Argentina,SA",
|
|
||||||
"LX": "Luxembourg,EU",
|
|
||||||
"LY": "Lithuania,EU",
|
|
||||||
"LZ": "Bulgaria,EU",
|
|
||||||
"OA": "Peru,SA",
|
|
||||||
"OB": "Peru,SA",
|
|
||||||
"OC": "Peru,SA",
|
|
||||||
"OD": "Lebanon,AS",
|
|
||||||
"OE": "Austria,EU",
|
|
||||||
"OF": "Finland,EU",
|
|
||||||
"OG": "Finland,EU",
|
|
||||||
"OH": "Finland,EU",
|
|
||||||
"OI": "Finland,EU",
|
|
||||||
"OH0": "Aland Is.,EU",
|
|
||||||
"OJ0": "Market Reef,EU",
|
|
||||||
"OK": "Czech Republic,EU",
|
|
||||||
"OL": "Czech Republic,EU",
|
|
||||||
"OM": "Slovak Republic,EU",
|
|
||||||
"ON": "Belgium,EU",
|
|
||||||
"OO": "Belgium,EU",
|
|
||||||
"OP": "Belgium,EU",
|
|
||||||
"OQ": "Belgium,EU",
|
|
||||||
"OR": "Belgium,EU",
|
|
||||||
"OS": "Belgium,EU",
|
|
||||||
"OT": "Belgium,EU",
|
|
||||||
"OU": "Denmark,EU",
|
|
||||||
"OV": "Denmark,EU",
|
|
||||||
"OW": "Denmark,EU",
|
|
||||||
"OZ": "Denmark,EU",
|
|
||||||
"OX": "Greenland,NA",
|
|
||||||
"OY": "Faroe Is.,EU",
|
|
||||||
"P2": "Papua New Guinea,OC",
|
|
||||||
"P4": "Aruba,SA",
|
|
||||||
"P5": "DPR of Korea,AS",
|
|
||||||
"PA": "Netherlands,EU",
|
|
||||||
"PB": "Netherlands,EU",
|
|
||||||
"PC": "Netherlands,EU",
|
|
||||||
"PD": "Netherlands,EU",
|
|
||||||
"PE": "Netherlands,EU",
|
|
||||||
"PF": "Netherlands,EU",
|
|
||||||
"PG": "Netherlands,EU",
|
|
||||||
"PH": "Netherlands,EU",
|
|
||||||
"PI": "Netherlands,EU",
|
|
||||||
"PJ2": "Bonaire, Curacao,SA",
|
|
||||||
"PJ4": "Bonaire, Curacao,SA",
|
|
||||||
"PJ9": "Bonaire, Curacao,SA",
|
|
||||||
"PJ5": "St. Maarten, Saba, St.Eustatius,NA",
|
|
||||||
"PJ6": "St. Maarten, Saba, St.Eustatius,NA",
|
|
||||||
"PJ7": "St. Maarten, Saba, St.Eustatius,NA",
|
|
||||||
"PJ8": "St. Maarten, Saba, St.Eustatius,NA",
|
|
||||||
"PP": "Brazil,SA",
|
|
||||||
"PQ": "Brazil,SA",
|
|
||||||
"PR": "Brazil,SA",
|
|
||||||
"PS": "Brazil,SA",
|
|
||||||
"PT": "Brazil,SA",
|
|
||||||
"PU": "Brazil,SA",
|
|
||||||
"PV": "Brazil,SA",
|
|
||||||
"PW": "Brazil,SA",
|
|
||||||
"PX": "Brazil,SA",
|
|
||||||
"PY": "Brazil,SA",
|
|
||||||
"PP0-PY0F": "Fernando de Noronha,SA",
|
|
||||||
"PP0-PY0S": "St. Peter & St. Paul Rocks,SA",
|
|
||||||
"PP0-PY0T": "Trindade & Martim Vaz Is.,SA",
|
|
||||||
"PZ": "Suriname,SA",
|
|
||||||
"R1FJ": "Franz Josef Land,EU",
|
|
||||||
"R1MV": "Malyj Vysotskij I.,EU",
|
|
||||||
"S0": "Western Sahara,AF",
|
|
||||||
"S2": "Bangladesh,AS",
|
|
||||||
"S5": "Slovenia,EU",
|
|
||||||
"S7": "Seychelles,AF",
|
|
||||||
"S9": "Sao Tome & Principe,AF",
|
|
||||||
"SA": "Sweden,EU",
|
|
||||||
"SB": "Sweden,EU",
|
|
||||||
"SC": "Sweden,EU",
|
|
||||||
"SD": "Sweden,EU",
|
|
||||||
"SE": "Sweden,EU",
|
|
||||||
"SF": "Sweden,EU",
|
|
||||||
"SG": "Sweden,EU",
|
|
||||||
"SH": "Sweden,EU",
|
|
||||||
"SI": "Sweden,EU",
|
|
||||||
"SJ": "Sweden,EU",
|
|
||||||
"SK": "Sweden,EU",
|
|
||||||
"SL": "Sweden,EU",
|
|
||||||
"SM": "Sweden,EU",
|
|
||||||
"SN": "Poland,EU",
|
|
||||||
"SO": "Poland,EU",
|
|
||||||
"SP": "Poland,EU",
|
|
||||||
"SQ": "Poland,EU",
|
|
||||||
"SR": "Poland,EU",
|
|
||||||
"ST": "Sudan,AF",
|
|
||||||
"SU": "Egypt,AF",
|
|
||||||
"SV": "Greece,EU",
|
|
||||||
"SW": "Greece,EU",
|
|
||||||
"SX": "Greece,EU",
|
|
||||||
"SY": "Greece,EU",
|
|
||||||
"SZ": "Greece,EU",
|
|
||||||
"J4": "Greece,EU",
|
|
||||||
"SV/A": "Mount Athos,EU",
|
|
||||||
"SV5": "Dodecanese,EU",
|
|
||||||
"J45": "Dodecanese,EU",
|
|
||||||
"SV9": "Crete,EU",
|
|
||||||
"J49": "Crete,EU",
|
|
||||||
"T2": "Tuvalu,OC",
|
|
||||||
"T30": "W. Kiribati,OC",
|
|
||||||
"T31": "C. Kiribati (British Phoenix Is.),OC",
|
|
||||||
"T32": "E. Kiribati,OC",
|
|
||||||
"T33": "Banaba I.,OC",
|
|
||||||
"T5": "Somalia,AF",
|
|
||||||
"6O": "Somalia,AF",
|
|
||||||
"T7": "San Marino,EU",
|
|
||||||
"T8": "Palau,OC",
|
|
||||||
"TA": "Turkey,EU",
|
|
||||||
"TB": "Turkey,EU",
|
|
||||||
"TC": "Turkey,EU",
|
|
||||||
"TF": "Iceland,EU",
|
|
||||||
"TG": "Guatemala,NA",
|
|
||||||
"TD": "Guatemala,NA",
|
|
||||||
"TI": "Costa Rica,NA",
|
|
||||||
"TE": "Costa Rica,NA",
|
|
||||||
"TI9": "Cocos I.,NA",
|
|
||||||
"TJ": "Cameroon,AF",
|
|
||||||
"TK": "Corsica,EU",
|
|
||||||
"TL": "Central Africa,AF",
|
|
||||||
"TN": "???,AF",
|
|
||||||
"TR": "Gabon,AF",
|
|
||||||
"TT": "Chad,AF",
|
|
||||||
"TU": "Cote d Ivoire,AF",
|
|
||||||
"TY": "Benin,AF",
|
|
||||||
"TZ": "Mali,AF",
|
|
||||||
"UA": "Russia,EU",
|
|
||||||
"UB": "Russia,EU",
|
|
||||||
"UC": "Russia,EU",
|
|
||||||
"UD": "Russia,EU",
|
|
||||||
"UE": "Russia,EU",
|
|
||||||
"UF": "Russia,EU",
|
|
||||||
"UG": "Russia,EU",
|
|
||||||
"UH": "Russia,EU",
|
|
||||||
"UI": "Russia,EU",
|
|
||||||
"R": "Russia,EU",
|
|
||||||
"UA2": "Kaliningrad,EU",
|
|
||||||
"UJ": "Uzbekistan,AS",
|
|
||||||
"UK": "Uzbekistan,AS",
|
|
||||||
"UL": "Uzbekistan,AS",
|
|
||||||
"UM": "Uzbekistan,AS",
|
|
||||||
"UN": "Kazakhstan,AS",
|
|
||||||
"UO": "Kazakhstan,AS",
|
|
||||||
"UP": "Kazakhstan,AS",
|
|
||||||
"UQ": "Kazakhstan,AS",
|
|
||||||
"UR": "Ukraine,EU",
|
|
||||||
"US": "Ukraine,EU",
|
|
||||||
"UT": "Ukraine,EU",
|
|
||||||
"UU": "Ukraine,EU",
|
|
||||||
"UV": "Ukraine,EU",
|
|
||||||
"UW": "Ukraine,EU",
|
|
||||||
"UX": "Ukraine,EU",
|
|
||||||
"UY": "Ukraine,EU",
|
|
||||||
"UZ": "Ukraine,EU",
|
|
||||||
"EM": "Ukraine,EU",
|
|
||||||
"EN": "Ukraine,EU",
|
|
||||||
"EO": "Ukraine,EU",
|
|
||||||
"V2": "Antigua & Barbuda,NA",
|
|
||||||
"V3": "Belize,NA",
|
|
||||||
"V4": "St. Kitts & Nevis,NA",
|
|
||||||
"V5": "Namibia,AF",
|
|
||||||
"V6": "Micronesia,OC",
|
|
||||||
"V7": "Marshall Is.,OC",
|
|
||||||
"V8": "Brunei Darussalam,OC",
|
|
||||||
"VE": "Canada,NA",
|
|
||||||
"VO": "Canada,NA",
|
|
||||||
"VY": "Canada,NA",
|
|
||||||
"VK": "Australia,OC",
|
|
||||||
"VK0": "Heard I.,AF",
|
|
||||||
"VK0": "Macquarie I.,OC",
|
|
||||||
"VK9C": "Cocos Is.,OC",
|
|
||||||
"VK9L": "Lord Howe I.,OC",
|
|
||||||
"VK9M": "Mellish Reef,OC",
|
|
||||||
"VK9N": "Norfolk I.,OC",
|
|
||||||
"VK9W": "Willis I.,OC",
|
|
||||||
"VK9X": "Christmas I.,OC",
|
|
||||||
"VP2E": "Anguilla,NA",
|
|
||||||
"VP2M": "Montserrat,NA",
|
|
||||||
"VP2V": "British Virgin Is.,NA",
|
|
||||||
"VP5": "Turks & Caicos Is.,NA",
|
|
||||||
"VP6": "Pitcairn I.,OC",
|
|
||||||
"VP6": "Ducie I.,OC",
|
|
||||||
"VP8": "Falkland Is.,SA",
|
|
||||||
"VP8": "South Shetland Is.,SA",
|
|
||||||
"CE9": "South Shetland Is.,SA",
|
|
||||||
"HF0": "South Shetland Is.,SA",
|
|
||||||
"4K1": "South Shetland Is.,SA",
|
|
||||||
"VP9": "Bermuda,NA",
|
|
||||||
"VQ9": "Chagos Is.,AF",
|
|
||||||
"VR": "Hong Kong,AS",
|
|
||||||
"VU": "India,AS",
|
|
||||||
"VU4": "Andaman & Nicobar Is.,AS",
|
|
||||||
"VU7": "Lakshadweep Is.,AS",
|
|
||||||
"XA": "Mexico,NA",
|
|
||||||
"XB": "Mexico,NA",
|
|
||||||
"XC": "Mexico,NA",
|
|
||||||
"XD": "Mexico,NA",
|
|
||||||
"XE": "Mexico,NA",
|
|
||||||
"XF": "Mexico,NA",
|
|
||||||
"XG": "Mexico,NA",
|
|
||||||
"XH": "Mexico,NA",
|
|
||||||
"XI": "Mexico,NA",
|
|
||||||
"XA4": "Revillagigedo,NA",
|
|
||||||
"XB4": "Revillagigedo,NA",
|
|
||||||
"XC4": "Revillagigedo,NA",
|
|
||||||
"XD4": "Revillagigedo,NA",
|
|
||||||
"XE4": "Revillagigedo,NA",
|
|
||||||
"XF4": "Revillagigedo,NA",
|
|
||||||
"XG4": "Revillagigedo,NA",
|
|
||||||
"XH4": "Revillagigedo,NA",
|
|
||||||
"XI4": "Revillagigedo,NA",
|
|
||||||
"XT": "Burkina Faso,AF",
|
|
||||||
"XU": "Cambodia,AS",
|
|
||||||
"XW": "Laos,AS",
|
|
||||||
"XX9": "Macao,AS",
|
|
||||||
"XY": "Myanmar,AS",
|
|
||||||
"XZ": "Myanmar,AS",
|
|
||||||
"YA": "Afghanistan,AS",
|
|
||||||
"YB": "Indonesia,OC",
|
|
||||||
"YC": "Indonesia,OC",
|
|
||||||
"YD": "Indonesia,OC",
|
|
||||||
"YE": "Indonesia,OC",
|
|
||||||
"YF": "Indonesia,OC",
|
|
||||||
"YG": "Indonesia,OC",
|
|
||||||
"YH": "Indonesia,OC",
|
|
||||||
"YI": "Iraq,AS",
|
|
||||||
"YJ": "Vanuatu,OC",
|
|
||||||
"YK": "Syria,AS",
|
|
||||||
"YL": "Latvia,EU",
|
|
||||||
"YN": "Nicaragua,NA",
|
|
||||||
"H6": "Nicaragua,NA",
|
|
||||||
"H7": "Nicaragua,NA",
|
|
||||||
"HT": "Nicaragua,NA",
|
|
||||||
"YO": "Romania,EU",
|
|
||||||
"YP": "Romania,EU",
|
|
||||||
"YQ": "Romania,EU",
|
|
||||||
"YR": "Romania,EU",
|
|
||||||
"YS": "El Salvador,NA",
|
|
||||||
"HU": "El Salvador,NA",
|
|
||||||
"YT": "Serbia,EU",
|
|
||||||
"YU": "Serbia,EU",
|
|
||||||
"YV": "Venezuela,SA",
|
|
||||||
"YW": "Venezuela,SA",
|
|
||||||
"YX": "Venezuela,SA",
|
|
||||||
"YY": "Venezuela,SA",
|
|
||||||
"4M": "Venezuela,SA",
|
|
||||||
"YV0": "Aves I.,NA",
|
|
||||||
"Z2": "Zimbabwe,AF",
|
|
||||||
"Z3": "Macedonia,EU",
|
|
||||||
"ZA": "Albania,EU",
|
|
||||||
"ZB2": "Gibraltar,EU",
|
|
||||||
"ZC4": "UK Sov. Base Areas on Cyprus,AS",
|
|
||||||
"ZD7": "St. Helena,AF",
|
|
||||||
"ZD8": "Ascension I.,AF",
|
|
||||||
"ZD9": "Tristan da Cunha & Gough I.,AF",
|
|
||||||
"ZF": "Cayman Is.,NA",
|
|
||||||
"ZK2": "Niue,OC",
|
|
||||||
"ZK3": "Tokelau Is.,OC",
|
|
||||||
"ZL": "New Zealand,OC",
|
|
||||||
"ZM": "New Zealand,OC",
|
|
||||||
"ZL7": "Chatham Is.,OC",
|
|
||||||
"ZL8": "Kermadec Is.,OC",
|
|
||||||
"ZL9": "Auckland & Campbell Is.,OC",
|
|
||||||
"ZP": "Paraguay,SA",
|
|
||||||
"ZR": "South Africa,AF",
|
|
||||||
"ZS": "South Africa,AF",
|
|
||||||
"ZT": "South Africa,AF",
|
|
||||||
"ZU": "South Africa,AF",
|
|
||||||
"ZS8": "Prince Edward & Marion Is.,AF"
|
|
||||||
}
|
|
||||||
|
|
||||||
with open(file_name, 'w') as configfile:
|
with open(file_name, 'w') as configfile:
|
||||||
config.write(configfile)
|
config.write(configfile)
|
||||||
@ -751,24 +169,21 @@ class ColorSpot():
|
|||||||
sys.exit()
|
sys.exit()
|
||||||
return config
|
return config
|
||||||
|
|
||||||
def get_confirmed_countries(self):
|
def get_confirmed_entities(self):
|
||||||
ret = []
|
ret = []
|
||||||
#TODO: download file and/or tell user what to do
|
#TODO: download file and/or tell user what to do
|
||||||
file = open("lotw.adi", "r")
|
file = open(self.config['files']['lotw_confirmed'], "r")
|
||||||
for row in file:
|
for row in file:
|
||||||
if re.search("COUNTRY", row):
|
if re.search("<DXCC:", row):
|
||||||
country = row.partition(">")[2].lower().rstrip()
|
dxcc = row.partition(">")[2].lower().rstrip()
|
||||||
country = re.sub('European ', '', country, flags=re.IGNORECASE)
|
if dxcc not in ret:
|
||||||
country = re.sub('Asiatic ', '', country, flags=re.IGNORECASE)
|
ret.append(dxcc)
|
||||||
if country not in ret:
|
|
||||||
ret.append(country)
|
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
@staticmethod
|
def check_lotw(self, call):
|
||||||
def check_lotw(call):
|
|
||||||
ret = ""
|
ret = ""
|
||||||
#TODO: download file and/or tell user what to do
|
#TODO: download file and/or tell user what to do
|
||||||
csv_file = csv.reader(open('lotw-user-activity.csv', "r"), delimiter=",")
|
csv_file = csv.reader(open(self.config['files']['lotw_activity'], "r"), delimiter=",")
|
||||||
#loop through the csv file
|
#loop through the csv file
|
||||||
for row in csv_file:
|
for row in csv_file:
|
||||||
if call == row[0]:
|
if call == row[0]:
|
||||||
@ -776,17 +191,21 @@ class ColorSpot():
|
|||||||
return ret
|
return ret
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
@staticmethod
|
def get_cty_row(self, call):
|
||||||
def get_call_details(call, data):
|
|
||||||
done = False
|
done = False
|
||||||
while not done:
|
while not done:
|
||||||
if call in data:
|
for row in self.cty:
|
||||||
return data[call].split(',')
|
entities = row[9].replace(";", "").replace("=", "").split(" ")
|
||||||
|
# TODO: schauen ob = davor und match -> als special call anzeigen
|
||||||
|
for prefix in entities:
|
||||||
|
if call == prefix:
|
||||||
|
return row
|
||||||
call = call[:-1]
|
call = call[:-1]
|
||||||
if call == "":
|
if call == "":
|
||||||
return ["-", "-"]
|
return ["-", "-", "-", "-", "-", "-", "-"]
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
def get_spots(self):
|
def get_spots(self):
|
||||||
with Telnet(self.config['cluster']['host'], int(self.config['cluster']['port']), \
|
with Telnet(self.config['cluster']['host'], int(self.config['cluster']['port']), \
|
||||||
int(self.config['cluster']['timeout'])) as telnet:
|
int(self.config['cluster']['timeout'])) as telnet:
|
||||||
@ -816,15 +235,20 @@ class ColorSpot():
|
|||||||
call_dx = re.search(freq + ' +(.+?) ', line).group(1)
|
call_dx = re.search(freq + ' +(.+?) ', line).group(1)
|
||||||
time = re.search('[^ ]*$', line).group(0)[0:4]
|
time = re.search('[^ ]*$', line).group(0)[0:4]
|
||||||
comment = re.search(call_dx + ' +(.+?) +' + time, line).group(1)
|
comment = re.search(call_dx + ' +(.+?) +' + time, line).group(1)
|
||||||
#areaname = self.get_country(call_dx, self.dxcc)
|
|
||||||
call_details = self.get_call_details(call_dx, self.config['dxcc'])
|
|
||||||
areaname = call_details[0]
|
|
||||||
continent = call_details[1]
|
|
||||||
lotw_date = self.check_lotw(call_dx)
|
|
||||||
|
|
||||||
lotw = ""
|
if self.check_cty:
|
||||||
if lotw_date:
|
cty_details = self.get_cty_row(call_dx)
|
||||||
|
else:
|
||||||
|
cty_details = ["-","-","-","-","-","-","-","-","-","-"]
|
||||||
|
|
||||||
|
areaname = cty_details[1]
|
||||||
|
continent = cty_details[3]
|
||||||
|
|
||||||
|
if self.check_lotw_activity and self.check_lotw(call_dx):
|
||||||
lotw = "✓"
|
lotw = "✓"
|
||||||
|
else:
|
||||||
|
lotw = ""
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if self.config['colors']['color_by'] == "band":
|
if self.config['colors']['color_by'] == "band":
|
||||||
foreground = self.config['band_colors'][freq[:-5]]
|
foreground = self.config['band_colors'][freq[:-5]]
|
||||||
@ -837,7 +261,7 @@ class ColorSpot():
|
|||||||
|
|
||||||
freq = freq.replace('.0', '')
|
freq = freq.replace('.0', '')
|
||||||
|
|
||||||
if areaname.lower() not in self.qsl_countries:
|
if self.check_lotw_confirmed and cty_details[2] not in self.confirmed_entities:
|
||||||
background = self.config['colors']['alert_bg']
|
background = self.config['colors']['alert_bg']
|
||||||
foreground = self.config['colors']['alert_fg']
|
foreground = self.config['colors']['alert_fg']
|
||||||
else:
|
else:
|
||||||
@ -858,9 +282,11 @@ class ColorSpot():
|
|||||||
# Main Routine #
|
# Main Routine #
|
||||||
#####################################################
|
#####################################################
|
||||||
def main():
|
def main():
|
||||||
"""the main routine"""
|
try:
|
||||||
color_spot = ColorSpot()
|
color_spot = ColorSpot()
|
||||||
color_spot.get_spots()
|
color_spot.get_spots()
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
sys.exit(0) # or 1, or whatever
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
try:
|
try:
|
||||||
|
Loading…
Reference in New Issue
Block a user