01234567890123456789012345678901234567890123456789012345678901234567890123456789
368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408 417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458 464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509 523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563 28242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864 | <----SKIPPED LINES----> #https://github.com/SDRplay/dump1090/blob/master/track.c SPEED_UNITS = 'kn' DISTANCE_UNITS = 'ft' # altitude # For displaying histograms # If a key is not present, how should it be displayed in histograms? KEY_NOT_PRESENT_STRING = 'Unknown' OTHER_STRING = 'Other' # What key strings should be listed last in sequence? # What key strings should be listed last in sequence? SORT_AT_END_STRINGS = [OTHER_STRING, KEY_NOT_PRESENT_STRING] # What is the sorted sequence of keys for days of week? DAYS_OF_WEEK = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] # AIRCRAFT_LENGTH[''] = AIRCRAFT_LENGTH = {} # in meters AIRCRAFT_LENGTH['Airbus A220-100'] = 35 AIRCRAFT_LENGTH['Airbus A220-300'] = 38.71 AIRCRAFT_LENGTH['Airbus A300F4-600'] = 54.08 AIRCRAFT_LENGTH['Airbus A319'] = 33.84 AIRCRAFT_LENGTH['Airbus A320'] = 37.57 AIRCRAFT_LENGTH['Airbus A320'] = 37.57 AIRCRAFT_LENGTH['Airbus A320neo'] = 37.57 AIRCRAFT_LENGTH['Airbus A321'] = 44.51 AIRCRAFT_LENGTH['Airbus A321neo'] = 44.51 AIRCRAFT_LENGTH['Airbus A330'] = 58.82 # assumed -200 or -300 AIRCRAFT_LENGTH['Airbus A330-200'] = 58.82 AIRCRAFT_LENGTH['Airbus A330-300'] = 63.67 AIRCRAFT_LENGTH['AIRBUS A-330-900'] = 63.66 AIRCRAFT_LENGTH['Airbus A330-900'] = 63.66 AIRCRAFT_LENGTH['Airbus A340-300'] = 63.69 AIRCRAFT_LENGTH['Airbus A350-1000'] = 73.79 AIRCRAFT_LENGTH['Airbus A350-900'] = 66.8 AIRCRAFT_LENGTH['Airbus A380-800'] = 72.72 AIRCRAFT_LENGTH['Antonov An-124 Ruslan'] = 69.1 AIRCRAFT_LENGTH['Beechcraft Beechjet'] = 14.76 AIRCRAFT_LENGTH['Beechcraft Bonanza (33)'] = 7.65 AIRCRAFT_LENGTH['Beechcraft Bonanza (36)'] = 8.38 AIRCRAFT_LENGTH['Beechcraft King Air 90'] = 10.82 AIRCRAFT_LENGTH['Beechcraft King Air F90'] = 12.14 AIRCRAFT_LENGTH['Beechcraft Premier 1'] = 14.02 <----SKIPPED LINES----> AIRCRAFT_LENGTH['Boeing 737-900'] = 42.11 AIRCRAFT_LENGTH['Boeing 737-900'] = 42.11 AIRCRAFT_LENGTH['Boeing 737 MAX 8'] = 39.47 AIRCRAFT_LENGTH['Boeing 737 MAX 9'] = 42.1 AIRCRAFT_LENGTH['Boeing 737 MAX 9'] = 42.1 AIRCRAFT_LENGTH['Boeing 747-100'] = 70.66 AIRCRAFT_LENGTH['Boeing 747-400'] = 70.66 AIRCRAFT_LENGTH['Boeing 747-8'] = 76.25 AIRCRAFT_LENGTH['Boeing 757-200'] = 47.3 AIRCRAFT_LENGTH['Boeing 757-300'] = 54.4 AIRCRAFT_LENGTH['Boeing 767-200'] = 48.51 AIRCRAFT_LENGTH['BOEING 767-300'] = 54.94 AIRCRAFT_LENGTH['Boeing 767-300'] = 54.94 AIRCRAFT_LENGTH['BOEING 767-400'] = 61.37 AIRCRAFT_LENGTH['Boeing 777'] = (63.73 + 73.86) / 2 AIRCRAFT_LENGTH['Boeing 777-200'] = 63.73 AIRCRAFT_LENGTH['BOEING 777-200ER'] = 63.73 AIRCRAFT_LENGTH['BOEING 777-200LR'] = 63.73 AIRCRAFT_LENGTH['Boeing 777-200LR/F'] = 63.73 AIRCRAFT_LENGTH['Boeing 777-300'] = 33.4 AIRCRAFT_LENGTH['BOEING 777-300ER'] = 73.86 AIRCRAFT_LENGTH['BOEING 777-300ER'] = 73.86 AIRCRAFT_LENGTH['Boeing 777-300ER'] = 73.86 AIRCRAFT_LENGTH['Boeing 787-10'] = 68.28 AIRCRAFT_LENGTH['Boeing 787-8'] = 56.72 AIRCRAFT_LENGTH['Boeing 787-9'] = 62.81 AIRCRAFT_LENGTH['Boeing 787-9 Dreamliner'] = 62.81 AIRCRAFT_LENGTH['BOEING 787-10 Dreamliner'] = 68.28 AIRCRAFT_LENGTH['BOEING BBJ (747-8)'] = 76.25 AIRCRAFT_LENGTH['BOEING BBJ (777-200LR)'] = 63.73 AIRCRAFT_LENGTH['BOEING BBJ (777-300ER)'] = 73.86 AIRCRAFT_LENGTH['BOEING BBJ3'] = 42.11 AIRCRAFT_LENGTH['Boeing Dreamliner (Srs.8)'] = 56.72 AIRCRAFT_LENGTH['BOEING Dreamliner (Srs.9)'] = 62.81 AIRCRAFT_LENGTH['Boeing MD-11'] = (61.2 + 61.6) / 2 AIRCRAFT_LENGTH['BOMBARDIER BD-700 Global 7500'] = 33.88 AIRCRAFT_LENGTH['Bombardier Challenger 300'] = 20.92 AIRCRAFT_LENGTH['Bombardier Global 5000'] = 29.5 AIRCRAFT_LENGTH['Bombardier Global Express'] = (29.5 + 30.3) / 2 AIRCRAFT_LENGTH['Bombardier Learjet 75'] = 17.7 AIRCRAFT_LENGTH['Canadair Challenger'] = 20.9 AIRCRAFT_LENGTH['Canadair Challenger 350'] = 20.9 <----SKIPPED LINES----> AIRCRAFT_LENGTH['Cessna Citation 1SP'] = 13.26 AIRCRAFT_LENGTH['Cessna Citation Bravo'] = 14.54 AIRCRAFT_LENGTH['Cessna Citation CJ1'] = 12.98 AIRCRAFT_LENGTH['Cessna Citation CJ2+'] = 14.53 AIRCRAFT_LENGTH['Cessna Citation CJ3'] = 15.59 AIRCRAFT_LENGTH['Cessna Citation CJ4'] = 16.26 AIRCRAFT_LENGTH['Cessna Citation M2'] = 12.98 AIRCRAFT_LENGTH['Cessna Citation Excel/XLS'] = 16.0 AIRCRAFT_LENGTH['Cessna Citation II'] = 14.54 AIRCRAFT_LENGTH['Cessna Citation Latitude'] = 18.97 AIRCRAFT_LENGTH['Cessna Citation Longitude'] = 22.3 AIRCRAFT_LENGTH['Cessna Citation Mustang'] = 12.37 AIRCRAFT_LENGTH['Cessna Citation Sovereign'] = 19.35 AIRCRAFT_LENGTH['Cessna Citation V'] = 14.91 AIRCRAFT_LENGTH['Cessna Citation X'] = 22.04 AIRCRAFT_LENGTH['Cessna Conquest 2'] = 11.89 AIRCRAFT_LENGTH['Cessna Skyhawk'] = 8.28 AIRCRAFT_LENGTH['Cessna Skylane'] = 8.84 AIRCRAFT_LENGTH['CESSNA T182 Turbo Skylane'] = 8.84 AIRCRAFT_LENGTH['Cessna T206 Turbo Stationair'] = 8.61 AIRCRAFT_LENGTH['Cessna 310 (twin-piston)'] = 8.23 AIRCRAFT_LENGTH['Cessna 421 (twin-piston)'] = 11.09 AIRCRAFT_LENGTH['Cirrus SR-20'] = 7.92 AIRCRAFT_LENGTH['Cirrus SR-22'] = 7.92 AIRCRAFT_LENGTH['Cirrus SR22 Turbo'] = 7.92 AIRCRAFT_LENGTH['Cirrus Vision SF50 (single-jet)'] = 9.42 AIRCRAFT_LENGTH['Daher-Socata TBM-900'] = 10.72 AIRCRAFT_LENGTH['Dassault Falcon 50'] = 18.52 AIRCRAFT_LENGTH['Dassault Falcon 7X'] = 23.38 AIRCRAFT_LENGTH['Dassault Falcon 2000'] = 20.23 AIRCRAFT_LENGTH['Dassault Falcon 900'] = 20.21 AIRCRAFT_LENGTH['de Havilland Dash 8-400'] = 32.8 AIRCRAFT_LENGTH['Diamond Star'] = 8.1 AIRCRAFT_LENGTH['Embraer 170/175'] = (29.90 + 31.68) / 2 AIRCRAFT_LENGTH['EMBRAER 175 (long wing)'] = 31.68 AIRCRAFT_LENGTH['EMBRAER 195'] = 38.66 AIRCRAFT_LENGTH['Embraer ERJ-135'] = 26.33 AIRCRAFT_LENGTH['Embraer ERJ-145'] = 29.87 AIRCRAFT_LENGTH['Embraer ERJ 175'] = 31.68 AIRCRAFT_LENGTH['Embraer ERJ 190'] = 36.25 AIRCRAFT_LENGTH['Embraer ERJ-190'] = 36.25 AIRCRAFT_LENGTH['Embraer Legacy 450'] = 19.69 AIRCRAFT_LENGTH['Embraer Legacy 550'] = 20.74 AIRCRAFT_LENGTH['Embraer Legacy 600/650'] = 26.33 AIRCRAFT_LENGTH['Embraer Phenom 100'] = 12.82 AIRCRAFT_LENGTH['Embraer Phenom 300'] = 15.9 <----SKIPPED LINES----> AIRCRAFT_LENGTH['IAI Gulfstream G100'] = 16.94 AIRCRAFT_LENGTH['IAI Gulfstream G150'] = 16.94 AIRCRAFT_LENGTH['IAI Gulfstream G200'] = 18.97 AIRCRAFT_LENGTH['IAI Gulfstream G280'] = 20.3 AIRCRAFT_LENGTH['Learjet 31'] = 14.83 AIRCRAFT_LENGTH['Learjet 35'] = 14.83 AIRCRAFT_LENGTH['Learjet 40'] = 16.92 AIRCRAFT_LENGTH['Learjet 45'] = 17.68 AIRCRAFT_LENGTH['Learjet 55'] = 16.79 AIRCRAFT_LENGTH['Learjet 60'] = 17.88 AIRCRAFT_LENGTH['McDonnell Douglas MD-11'] = 61.6 AIRCRAFT_LENGTH['McDonnell Douglas MD-83'] = 45.06 AIRCRAFT_LENGTH['Mooney M-20'] = 8.13 AIRCRAFT_LENGTH['North American Navion'] = 8.38 AIRCRAFT_LENGTH['North American Sabreliner'] = 13.41 AIRCRAFT_LENGTH['Piaggio P.180 Avanti'] = 47.3 AIRCRAFT_LENGTH['Pilatus PC-12'] = 14.4 AIRCRAFT_LENGTH['Pilatus PC-24'] = 16.85 AIRCRAFT_LENGTH['Piper Cherokee'] = 7.10 AIRCRAFT_LENGTH['Piper Malibu Meridian'] = 9.02 AIRCRAFT_LENGTH['Piper Navajo (twin-piston)'] = 9.94 AIRCRAFT_LENGTH['Raytheon Hawker 800'] = 15.60 AIRCRAFT_LENGTH['Raytheon Hawker 800XP'] = 15.60 AIRCRAFT_LENGTH['Raytheon Hawker 850XP'] = 15.60 AIRCRAFT_LENGTH['Raytheon Hawker 900XP'] = 15.60 AIRCRAFT_LENGTH['Raytheon Hawker 1000'] = 16.08 AIRCRAFT_LENGTH['Rockwell Turbo Commander 690'] = 11.22 for mixed_case_plane in list(AIRCRAFT_LENGTH.keys()): # pylint: disable=C0201 AIRCRAFT_LENGTH[mixed_case_plane.upper()] = AIRCRAFT_LENGTH[mixed_case_plane] AIRCRAFT_LENGTH.pop(mixed_case_plane) # pylint: disable=line-too-long SHORTER_AIRCRAFT_NAME = {} SHORTER_AIRCRAFT_NAME['Boeing 787-9 Dreamliner (twin-jet)'] = 'Boeing 787-9 (twin-jet)' SHORTER_AIRCRAFT_NAME['BOEING 787-10 Dreamliner (twin-jet)'] = 'Boeing 787-10 (twin-jet)' SHORTER_AIRCRAFT_NAME['Canadair Regional Jet CRJ-200 (twin-jet)'] = 'Canadair CRJ-200 (twin-jet)' SHORTER_AIRCRAFT_NAME['Canadair Regional Jet CRJ-700 (twin-jet)'] = 'Canadair CRJ-700 (twin-jet)' SHORTER_AIRCRAFT_NAME['Canadair Regional Jet CRJ-900 (twin-jet)'] = 'Canadair CRJ-900 (twin-jet)' SHORTER_AIRCRAFT_NAME['Gulfstream Aerospace Gulfstream 3 (twin-jet)'] = 'Gulfstream 3 (twin-jet)' SHORTER_AIRCRAFT_NAME['Gulfstream Aerospace Gulfstream G450 (twin-jet)'] = 'Gulfstream G450 (twin-jet)' SHORTER_AIRCRAFT_NAME['Gulfstream Aerospace Gulfstream G550 (twin-jet)'] = 'Gulfstream G550 (twin-jet)' <----SKIPPED LINES----> if vert_rate: line_elements.append('%+d%s' % (vert_rate, CLIMB_RATE_UNITS)) if line_elements: lines.append(EvenlySpace(line_elements)) return lines def EvenlySpace(l): """Converts list to string with equal space between each element in list.""" if not l: return '' if len(l) == 1: return l[0] extra_space = SPLITFLAP_CHARS_PER_LINE - sum([len(str(s)) for s in l]) last_gap = round(extra_space / (len(l) - 1)) return EvenlySpace([*l[:-2], str(l[-2]) + ' '*last_gap + str(l[-1])]) def RemoveLastParenthetical(s): """Removes last instance of () and text contained within - from string.""" # Find the index of the last opening parenthesis last_open_index = s.rfind('(') if last_open_index == -1: return s # No parentheses found # Find the index of the closing parenthesis that matches the last opening one last_close_index = s.find(')', last_open_index) if last_close_index == -1: return s # Unmatched parenthesis # Remove the parentheses and their contents return s[:last_open_index] + s[last_close_index + 1:] def ShorterPlaneName(s): """Replaces full plane name with a shorter name, if it exists.""" return SHORTER_AIRCRAFT_NAME.get(s, s) <----SKIPPED LINES----> |
01234567890123456789012345678901234567890123456789012345678901234567890123456789
368369370371372373374375376377378379380381382383384385386387 388389390391392393394395396397398399400401402403404405406407 416417418419420421422423424425426427428429430431432433434435 436437438439440441442443444445446447448449450451452453454455 461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506 520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560 28212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861 | <----SKIPPED LINES----> #https://github.com/SDRplay/dump1090/blob/master/track.c SPEED_UNITS = 'kn' DISTANCE_UNITS = 'ft' # altitude # For displaying histograms # If a key is not present, how should it be displayed in histograms? KEY_NOT_PRESENT_STRING = 'Unknown' OTHER_STRING = 'Other' # What key strings should be listed last in sequence? # What key strings should be listed last in sequence? SORT_AT_END_STRINGS = [OTHER_STRING, KEY_NOT_PRESENT_STRING] # What is the sorted sequence of keys for days of week? DAYS_OF_WEEK = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] # AIRCRAFT_LENGTH[''] = AIRCRAFT_LENGTH = {} # in meters AIRCRAFT_LENGTH['Airbus A220-100'] = 35 AIRCRAFT_LENGTH['Airbus A220-300'] = 38.71 AIRCRAFT_LENGTH['Airbus A300F4-600'] = 54.08 AIRCRAFT_LENGTH['Airbus A319'] = 33.84 AIRCRAFT_LENGTH['Airbus A320'] = 37.57 AIRCRAFT_LENGTH['Airbus A320neo'] = 37.57 AIRCRAFT_LENGTH['Airbus A321'] = 44.51 AIRCRAFT_LENGTH['Airbus A321neo'] = 44.51 AIRCRAFT_LENGTH['Airbus A330'] = 58.82 # assumed -200 or -300 AIRCRAFT_LENGTH['Airbus A330-200'] = 58.82 AIRCRAFT_LENGTH['Airbus A330-300'] = 63.67 AIRCRAFT_LENGTH['AIRBUS A-330-900'] = 63.66 AIRCRAFT_LENGTH['Airbus A330-900'] = 63.66 AIRCRAFT_LENGTH['Airbus A340-300'] = 63.69 AIRCRAFT_LENGTH['Airbus A350-1000'] = 73.79 AIRCRAFT_LENGTH['Airbus A350-900'] = 66.8 AIRCRAFT_LENGTH['Airbus A380-800'] = 72.72 AIRCRAFT_LENGTH['Antonov An-124 Ruslan'] = 69.1 AIRCRAFT_LENGTH['Beechcraft Beechjet'] = 14.76 AIRCRAFT_LENGTH['Beechcraft Bonanza (33)'] = 7.65 AIRCRAFT_LENGTH['Beechcraft Bonanza (36)'] = 8.38 AIRCRAFT_LENGTH['Beechcraft King Air 90'] = 10.82 AIRCRAFT_LENGTH['Beechcraft King Air F90'] = 12.14 AIRCRAFT_LENGTH['Beechcraft Premier 1'] = 14.02 <----SKIPPED LINES----> AIRCRAFT_LENGTH['Boeing 737-900'] = 42.11 AIRCRAFT_LENGTH['Boeing 737-900'] = 42.11 AIRCRAFT_LENGTH['Boeing 737 MAX 8'] = 39.47 AIRCRAFT_LENGTH['Boeing 737 MAX 9'] = 42.1 AIRCRAFT_LENGTH['Boeing 737 MAX 9'] = 42.1 AIRCRAFT_LENGTH['Boeing 747-100'] = 70.66 AIRCRAFT_LENGTH['Boeing 747-400'] = 70.66 AIRCRAFT_LENGTH['Boeing 747-8'] = 76.25 AIRCRAFT_LENGTH['Boeing 757-200'] = 47.3 AIRCRAFT_LENGTH['Boeing 757-300'] = 54.4 AIRCRAFT_LENGTH['Boeing 767-200'] = 48.51 AIRCRAFT_LENGTH['BOEING 767-300'] = 54.94 AIRCRAFT_LENGTH['Boeing 767-300'] = 54.94 AIRCRAFT_LENGTH['BOEING 767-400'] = 61.37 AIRCRAFT_LENGTH['Boeing 777'] = (63.73 + 73.86) / 2 AIRCRAFT_LENGTH['Boeing 777-200'] = 63.73 AIRCRAFT_LENGTH['BOEING 777-200ER'] = 63.73 AIRCRAFT_LENGTH['BOEING 777-200LR'] = 63.73 AIRCRAFT_LENGTH['Boeing 777-200LR/F'] = 63.73 AIRCRAFT_LENGTH['Boeing 777-300'] = 33.4 AIRCRAFT_LENGTH['Boeing 777-300ER'] = 73.86 AIRCRAFT_LENGTH['Boeing 787-10'] = 68.28 AIRCRAFT_LENGTH['Boeing 787-8'] = 56.72 AIRCRAFT_LENGTH['Boeing 787-9'] = 62.81 AIRCRAFT_LENGTH['Boeing 787-9 Dreamliner'] = 62.81 AIRCRAFT_LENGTH['BOEING 787-10 Dreamliner'] = 68.28 AIRCRAFT_LENGTH['BOEING BBJ (747-8)'] = 76.25 AIRCRAFT_LENGTH['BOEING BBJ (777-200LR)'] = 63.73 AIRCRAFT_LENGTH['BOEING BBJ (777-300ER)'] = 73.86 AIRCRAFT_LENGTH['BOEING BBJ3'] = 42.11 AIRCRAFT_LENGTH['Boeing Dreamliner (Srs.8)'] = 56.72 AIRCRAFT_LENGTH['BOEING Dreamliner (Srs.9)'] = 62.81 AIRCRAFT_LENGTH['Boeing MD-11'] = (61.2 + 61.6) / 2 AIRCRAFT_LENGTH['BOMBARDIER BD-700 Global 7500'] = 33.88 AIRCRAFT_LENGTH['Bombardier Challenger 300'] = 20.92 AIRCRAFT_LENGTH['Bombardier Global 5000'] = 29.5 AIRCRAFT_LENGTH['Bombardier Global Express'] = (29.5 + 30.3) / 2 AIRCRAFT_LENGTH['Bombardier Learjet 75'] = 17.7 AIRCRAFT_LENGTH['Canadair Challenger'] = 20.9 AIRCRAFT_LENGTH['Canadair Challenger 350'] = 20.9 <----SKIPPED LINES----> AIRCRAFT_LENGTH['Cessna Citation 1SP'] = 13.26 AIRCRAFT_LENGTH['Cessna Citation Bravo'] = 14.54 AIRCRAFT_LENGTH['Cessna Citation CJ1'] = 12.98 AIRCRAFT_LENGTH['Cessna Citation CJ2+'] = 14.53 AIRCRAFT_LENGTH['Cessna Citation CJ3'] = 15.59 AIRCRAFT_LENGTH['Cessna Citation CJ4'] = 16.26 AIRCRAFT_LENGTH['Cessna Citation M2'] = 12.98 AIRCRAFT_LENGTH['Cessna Citation Excel/XLS'] = 16.0 AIRCRAFT_LENGTH['Cessna Citation II'] = 14.54 AIRCRAFT_LENGTH['Cessna Citation Latitude'] = 18.97 AIRCRAFT_LENGTH['Cessna Citation Longitude'] = 22.3 AIRCRAFT_LENGTH['Cessna Citation Mustang'] = 12.37 AIRCRAFT_LENGTH['Cessna Citation Sovereign'] = 19.35 AIRCRAFT_LENGTH['Cessna Citation V'] = 14.91 AIRCRAFT_LENGTH['Cessna Citation X'] = 22.04 AIRCRAFT_LENGTH['Cessna Conquest 2'] = 11.89 AIRCRAFT_LENGTH['Cessna Skyhawk'] = 8.28 AIRCRAFT_LENGTH['Cessna Skylane'] = 8.84 AIRCRAFT_LENGTH['CESSNA T182 Turbo Skylane'] = 8.84 AIRCRAFT_LENGTH['Cessna T206 Turbo Stationair'] = 8.61 AIRCRAFT_LENGTH['Cessna 310'] = 8.23 AIRCRAFT_LENGTH['Cessna 421'] = 11.09 AIRCRAFT_LENGTH['Cirrus SR-20'] = 7.92 AIRCRAFT_LENGTH['Cirrus SR-22'] = 7.92 AIRCRAFT_LENGTH['Cirrus SR22 Turbo'] = 7.92 AIRCRAFT_LENGTH['Cirrus Vision SF50'] = 9.42 AIRCRAFT_LENGTH['Daher-Socata TBM-900'] = 10.72 AIRCRAFT_LENGTH['Dassault Falcon 50'] = 18.52 AIRCRAFT_LENGTH['Dassault Falcon 7X'] = 23.38 AIRCRAFT_LENGTH['Dassault Falcon 2000'] = 20.23 AIRCRAFT_LENGTH['Dassault Falcon 900'] = 20.21 AIRCRAFT_LENGTH['de Havilland Dash 8-400'] = 32.8 AIRCRAFT_LENGTH['Diamond Star'] = 8.1 AIRCRAFT_LENGTH['Embraer 170/175'] = (29.90 + 31.68) / 2 AIRCRAFT_LENGTH['EMBRAER 175 (long wing)'] = 31.68 AIRCRAFT_LENGTH['EMBRAER 195'] = 38.66 AIRCRAFT_LENGTH['Embraer ERJ-135'] = 26.33 AIRCRAFT_LENGTH['Embraer ERJ-145'] = 29.87 AIRCRAFT_LENGTH['Embraer ERJ 175'] = 31.68 AIRCRAFT_LENGTH['Embraer ERJ 190'] = 36.25 AIRCRAFT_LENGTH['Embraer ERJ-190'] = 36.25 AIRCRAFT_LENGTH['Embraer Legacy 450'] = 19.69 AIRCRAFT_LENGTH['Embraer Legacy 550'] = 20.74 AIRCRAFT_LENGTH['Embraer Legacy 600/650'] = 26.33 AIRCRAFT_LENGTH['Embraer Phenom 100'] = 12.82 AIRCRAFT_LENGTH['Embraer Phenom 300'] = 15.9 <----SKIPPED LINES----> AIRCRAFT_LENGTH['IAI Gulfstream G100'] = 16.94 AIRCRAFT_LENGTH['IAI Gulfstream G150'] = 16.94 AIRCRAFT_LENGTH['IAI Gulfstream G200'] = 18.97 AIRCRAFT_LENGTH['IAI Gulfstream G280'] = 20.3 AIRCRAFT_LENGTH['Learjet 31'] = 14.83 AIRCRAFT_LENGTH['Learjet 35'] = 14.83 AIRCRAFT_LENGTH['Learjet 40'] = 16.92 AIRCRAFT_LENGTH['Learjet 45'] = 17.68 AIRCRAFT_LENGTH['Learjet 55'] = 16.79 AIRCRAFT_LENGTH['Learjet 60'] = 17.88 AIRCRAFT_LENGTH['McDonnell Douglas MD-11'] = 61.6 AIRCRAFT_LENGTH['McDonnell Douglas MD-83'] = 45.06 AIRCRAFT_LENGTH['Mooney M-20'] = 8.13 AIRCRAFT_LENGTH['North American Navion'] = 8.38 AIRCRAFT_LENGTH['North American Sabreliner'] = 13.41 AIRCRAFT_LENGTH['Piaggio P.180 Avanti'] = 47.3 AIRCRAFT_LENGTH['Pilatus PC-12'] = 14.4 AIRCRAFT_LENGTH['Pilatus PC-24'] = 16.85 AIRCRAFT_LENGTH['Piper Cherokee'] = 7.10 AIRCRAFT_LENGTH['Piper Malibu Meridian'] = 9.02 AIRCRAFT_LENGTH['Piper Navajo'] = 9.94 AIRCRAFT_LENGTH['Raytheon Hawker 800'] = 15.60 AIRCRAFT_LENGTH['Raytheon Hawker 800XP'] = 15.60 AIRCRAFT_LENGTH['Raytheon Hawker 850XP'] = 15.60 AIRCRAFT_LENGTH['Raytheon Hawker 900XP'] = 15.60 AIRCRAFT_LENGTH['Raytheon Hawker 1000'] = 16.08 AIRCRAFT_LENGTH['Rockwell Turbo Commander 690'] = 11.22 for mixed_case_plane in list(AIRCRAFT_LENGTH.keys()): # pylint: disable=C0201 AIRCRAFT_LENGTH[mixed_case_plane.upper()] = AIRCRAFT_LENGTH[mixed_case_plane] AIRCRAFT_LENGTH.pop(mixed_case_plane) # pylint: disable=line-too-long SHORTER_AIRCRAFT_NAME = {} SHORTER_AIRCRAFT_NAME['Boeing 787-9 Dreamliner (twin-jet)'] = 'Boeing 787-9 (twin-jet)' SHORTER_AIRCRAFT_NAME['BOEING 787-10 Dreamliner (twin-jet)'] = 'Boeing 787-10 (twin-jet)' SHORTER_AIRCRAFT_NAME['Canadair Regional Jet CRJ-200 (twin-jet)'] = 'Canadair CRJ-200 (twin-jet)' SHORTER_AIRCRAFT_NAME['Canadair Regional Jet CRJ-700 (twin-jet)'] = 'Canadair CRJ-700 (twin-jet)' SHORTER_AIRCRAFT_NAME['Canadair Regional Jet CRJ-900 (twin-jet)'] = 'Canadair CRJ-900 (twin-jet)' SHORTER_AIRCRAFT_NAME['Gulfstream Aerospace Gulfstream 3 (twin-jet)'] = 'Gulfstream 3 (twin-jet)' SHORTER_AIRCRAFT_NAME['Gulfstream Aerospace Gulfstream G450 (twin-jet)'] = 'Gulfstream G450 (twin-jet)' SHORTER_AIRCRAFT_NAME['Gulfstream Aerospace Gulfstream G550 (twin-jet)'] = 'Gulfstream G550 (twin-jet)' <----SKIPPED LINES----> if vert_rate: line_elements.append('%+d%s' % (vert_rate, CLIMB_RATE_UNITS)) if line_elements: lines.append(EvenlySpace(line_elements)) return lines def EvenlySpace(l): """Converts list to string with equal space between each element in list.""" if not l: return '' if len(l) == 1: return l[0] extra_space = SPLITFLAP_CHARS_PER_LINE - sum([len(str(s)) for s in l]) last_gap = round(extra_space / (len(l) - 1)) return EvenlySpace([*l[:-2], str(l[-2]) + ' '*last_gap + str(l[-1])]) def RemoveLastParenthetical(s): """Removes last instance of () and text contained within from string.""" # Find the index of the last opening parenthesis last_open_index = s.rfind('(') if last_open_index == -1: return s # No parentheses found # Find the index of the closing parenthesis that matches the last opening one last_close_index = s.find(')', last_open_index) if last_close_index == -1: return s # Unmatched parenthesis # Remove the parentheses and their contents return s[:last_open_index] + s[last_close_index + 1:] def ShorterPlaneName(s): """Replaces full plane name with a shorter name, if it exists.""" return SHORTER_AIRCRAFT_NAME.get(s, s) <----SKIPPED LINES----> |