Skip to content

Commit

Permalink
Fix photo size, owner override/fix
Browse files Browse the repository at this point in the history
  • Loading branch information
Jxck-S committed May 20, 2022
1 parent cc7a584 commit 823d280
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 27 deletions.
1 change: 1 addition & 0 deletions configs/plane1.ini
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ ICAO = icaohere
; OVERRIDE_REG=
; OVERRIDE_ICAO_TYPE=
; OVERRIDE_TYPELONG =
; OVERRIDE_OWNER =
; DATA_LOSS_MINS = 20

[MAP]
Expand Down
27 changes: 14 additions & 13 deletions defSS.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import time
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.common.exceptions import NoSuchElementException

def get_adsbx_screenshot(file_path, url_params, enable_labels=False, enable_track_labels=False, overrides={}):
chrome_options = webdriver.ChromeOptions()
Expand Down Expand Up @@ -67,30 +68,28 @@ def get_adsbx_screenshot(file_path, url_params, enable_labels=False, enable_trac
else:
try:
reg = browser.find_element_by_id("selected_registration").get_attribute("innerHTML")
print(reg)
print("Reg from tar1090 is", reg)
except Exception as e:
print("Couldn't find reg in tar1090", e)
reg = None
if reg is not None:
try:
try:
myElem = WebDriverWait(browser, 150).until(EC.presence_of_element_located((By.ID, 'silhouette')))
photo_box = browser.find_element_by_id("silhouette")
except:
except NoSuchElementException:
photo_box = browser.find_element_by_id("airplanePhoto")
finally:
import requests, json
photo_list = json.loads(requests.get("https://raw.githubusercontent.com/Jxck-S/aircraft-photos/main/photo-list.json").text)
if reg in photo_list.keys():
browser.execute_script("arguments[0].id = 'airplanePhoto';", photo_box)
browser.execute_script(f"arguments[0].src = 'https://raw.githubusercontent.com/Jxck-S/aircraft-photos/main/images/{reg}.jpg';", photo_box)
copyright = browser.find_element_by_id("copyrightInfo")
browser.execute_script("arguments[0].id = 'copyrightInfoFreeze';", copyright)
browser.execute_script("$('#copyrightInfoFreeze').css('font-size', '12px');")
#browser.execute_script("""var element = arguments[0];
#element.parentNode.removeChild(element.firstChild);""", copyright)
browser.execute_script(f"arguments[0].appendChild(document.createTextNode('Image © {photo_list[reg]['photographer']}'))", copyright)

browser.execute_script("arguments[0].id = 'airplanePhoto';", photo_box)
browser.execute_script("arguments[0].removeAttribute('width')", photo_box)
browser.execute_script("arguments[0].style.width = 'inherit';", photo_box)
browser.execute_script("arguments[0].style.float = 'left';", photo_box)
browser.execute_script(f"arguments[0].src = 'https://raw.githubusercontent.com/Jxck-S/aircraft-photos/main/images/{reg}.jpg';", photo_box)
image_copy_right = browser.find_element_by_id("copyrightInfo")
browser.execute_cdp_cmd('Emulation.setScriptExecutionDisabled', {'value': True})
browser.execute_script(f"arguments[0].appendChild(document.createTextNode('Image © {photo_list[reg]['photographer']}'))", image_copy_right)
except Exception as e:
print("Error on changing photo", e)
if 'type' in overrides.keys():
Expand All @@ -99,9 +98,11 @@ def get_adsbx_screenshot(file_path, url_params, enable_labels=False, enable_trac
if 'typelong' in overrides.keys():
element = browser.find_element_by_id("selected_typelong")
browser.execute_script(f"arguments[0].innerText = '* {overrides['typelong']}'", element)
if 'ownop' in overrides.keys():
element = browser.find_element_by_id("selected_ownop")
browser.execute_script(f"arguments[0].innerText = '* {overrides['ownop']}'", element)
time.sleep(5)
browser.save_screenshot(file_path)
browser.quit()
def generate_adsbx_screenshot_time_params(timestamp):
from datetime import datetime
from datetime import timedelta
Expand Down
42 changes: 28 additions & 14 deletions planeClass.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,22 @@ def __init__(self, icao, config_path, config):
"""Initializes a plane object from its config file and given icao."""
self.icao = icao.upper()
self.callsign = None
self.reg = None
self.config = config
self.overrides = {}
if self.config.has_option('DATA', 'OVERRIDE_REG'):
self.reg = self.config.get('DATA', 'OVERRIDE_REG')
self.overrides['reg'] = self.reg
else:
self.reg = None
if self.config.has_option('DATA', 'OVERRIDE_ICAO_TYPE'):
self.type = self.config.get('DATA', 'OVERRIDE_ICAO_TYPE')
self.overrides['type'] = self.type
else:
self.type = None
if self.config.has_option('DATA', 'OVERRIDE_ICAO_TYPE'):
self.overrides['typelong'] = self.config.get('DATA', 'OVERRIDE_TYPELONG')
if self.config.has_option('DATA', 'OVERRIDE_OWNER'):
self.overrides['ownop'] = self.config.get('DATA', 'OVERRIDE_OWNER')
self.conf_file_path = config_path
self.alt_ft = None
self.below_desired_ft = None
Expand Down Expand Up @@ -41,7 +55,6 @@ def __init__(self, icao, config_path, config):
self.track = None
self.last_track = None
self.circle_history = None
self.type = None
if self.config.has_option('DATA', 'DATA_LOSS_MINS'):
self.data_loss_mins = self.config.getint('DATA', 'DATA_LOSS_MINS')
else:
Expand All @@ -67,7 +80,7 @@ def run_opens(self, ac_dict):
self.print_header("BEGIN")
#print (Fore.YELLOW + "OpenSky Sourced Data: ", ac_dict)
try:
self.__dict__.update({'icao' : ac_dict.icao24.upper(), 'callsign' : ac_dict.callsign, 'latitude' : ac_dict.latitude, 'longitude' : ac_dict.longitude, 'on_ground' : bool(ac_dict.on_ground), 'squawk' : ac_dict.squawk, 'track' : float(ac_dict.true_track)})
self.__dict__.update({'icao' : ac_dict.icao24.upper(), 'callsign' : ac_dict.callsign, 'latitude' : ac_dict.latitude, 'longitude' : ac_dict.longitude, 'on_ground' : bool(ac_dict.on_ground), 'squawk' : ac_dict.squawk, 'track' : float(ac_dict.heading)})
if ac_dict.baro_altitude != None:
self.alt_ft = round(float(ac_dict.baro_altitude) * 3.281)
elif self.on_ground:
Expand All @@ -76,7 +89,7 @@ def run_opens(self, ac_dict):
self.reg = get_aircraft_reg_by_icao(self.icao)
self.type = get_type_code_by_icao(self.icao)
self.last_pos_datetime = datetime.fromtimestamp(ac_dict.time_position)
except Exception as e:
except ValueError as e:
print("Got data but some data is invalid!")
print(e)
self.print_header("END")
Expand Down Expand Up @@ -423,8 +436,8 @@ def run_check(self):
getMap((municipality + ", " + state + ", " + country_code), self.map_file_name)
elif Plane.main_config.get('MAP', 'OPTION') == "ADSBX":
from defSS import get_adsbx_screenshot
url_params = f"icao={self.icao}&zoom=9&largeMode=2&hideButtons&hideSidebar&mapDim=0&overlays=" + self.get_adsbx_map_overlays()
get_adsbx_screenshot(self.map_file_name, url_params)
url_params = f"largeMode=2&hideButtons&hideSidebar&mapDim=0&zoom=10&icao={self.icao}&overlays={self.get_adsbx_map_overlays()}"
get_adsbx_screenshot(self.map_file_name, url_params, overrides=self.overrides)
from modify_image import append_airport
text_credit = self.config.get('MAP', 'TEXT_CREDIT') if self.config.has_option('MAP', 'TEXT_CREDIT') else None
append_airport(self.map_file_name, nearest_airport_dict, text_credit)
Expand Down Expand Up @@ -545,8 +558,8 @@ def run_check(self):
getMap((municipality + ", " + state + ", " + country_code), self.map_file_name)
if Plane.main_config.get('MAP', 'OPTION') == "ADSBX":
from defSS import get_adsbx_screenshot
url_params = f"icao={self.icao}&zoom=9&largeMode=2&hideButtons&hideSidebar&mapDim=0&overlays=" + self.get_adsbx_map_overlays()
get_adsbx_screenshot(self.map_file_name, url_params)
url_params = f"largeMode=2&hideButtons&hideSidebar&mapDim=0&zoom=10&icao={self.icao}&overlays={self.get_adsbx_map_overlays()}"
get_adsbx_screenshot(self.map_file_name, url_params, overrides=self.overrides)
if self.config.getboolean('DISCORD', 'ENABLE'):
dis_message = (self.dis_title + " " + squawk_message)
sendDis(dis_message, self.config, None, self.map_file_name)
Expand All @@ -568,8 +581,8 @@ def run_check(self):
dis_message = (self.dis_title + " " + mode + " mode enabled.")
if mode == "Approach":
from defSS import get_adsbx_screenshot
url_params = f"icao={self.icao}&zoom=9&largeMode=2&hideButtons&hideSidebar&mapDim=0&overlays={self.get_adsbx_map_overlays()}"
get_adsbx_screenshot(self.map_file_name, url_params)
url_params = f"largeMode=2&hideButtons&hideSidebar&mapDim=0&zoom=10&icao={self.icao}&overlays={self.get_adsbx_map_overlays()}"
get_adsbx_screenshot(self.map_file_name, url_params, overrides=self.overrides)
sendDis(dis_message, self.config, None, self.map_file_name)
#elif mode in ["Althold", "VNAV", "LNAV"] and self.sel_nav_alt != None:
# sendDis((dis_message + ", Sel Alt. " + str(self.sel_nav_alt) + ", Current Alt. " + str(self.alt_ft)), self.config)
Expand Down Expand Up @@ -748,8 +761,9 @@ def tfr_image(context, aircraft_coords):
return tfr_map_filename

from defSS import get_adsbx_screenshot
url_params = f"icao={self.icao}&zoom=10&largeMode=2&hideButtons&hideSidebar&mapDim=0&overlays={self.get_adsbx_map_overlays()}"
get_adsbx_screenshot(self.map_file_name, url_params)

url_params = f"largeMode=2&hideButtons&hideSidebar&mapDim=0&zoom=10&icao={self.icao}&overlays={self.get_adsbx_map_overlays()}"
get_adsbx_screenshot(self.map_file_name, url_params, overrides=self.overrides)
if nearest_airport_dict['distance_mi'] < 3:
if "touchngo" in self.circle_history.keys():
message = f"Doing touch and goes at {nearest_airport_dict['icao']}"
Expand Down Expand Up @@ -842,7 +856,7 @@ def check_new_ras(self, ras):
else:
url_params += f"&icao={self.icao.lower()}&noIsolation"
print(url_params)
get_adsbx_screenshot(self.map_file_name, url_params, True, True)
get_adsbx_screenshot(self.map_file_name, url_params, True, True, overrides=self.overrides)

if self.config.getboolean('DISCORD', 'ENABLE'):
from defDiscord import sendDis
Expand All @@ -858,4 +872,4 @@ def expire_ra_types(self):
print(time_since_ra)
if time_since_ra.seconds >= 600:
print(ra_type)
self.recent_ra_types.pop(ra_type)
self.recent_ra_types.pop(ra_type)

0 comments on commit 823d280

Please sign in to comment.