Fix login logic
Fix login logic to only commence if there is a need to schedule.merge-requests/1/head
parent
7ea518d3cc
commit
f14bd43087
|
@ -1,4 +1,4 @@
|
|||
ephem
|
||||
satellitetle
|
||||
satellitetle>=0.5.0
|
||||
requests
|
||||
lxml
|
||||
|
|
|
@ -52,7 +52,9 @@ class satellite:
|
|||
self.data_count = data_count
|
||||
|
||||
def __repr__(self):
|
||||
return "%s %s %d %d %d %s" % (self.id, self.transmitter, self.success_rate, self.good_count, self.data_count, self.name)
|
||||
return "%s %s %d %d %d %s" % (self.id, self.transmitter, self.success_rate,
|
||||
self.good_count, self.data_count, self.name)
|
||||
|
||||
|
||||
def _log_level_string_to_int(log_level_string):
|
||||
if log_level_string not in _LOG_LEVEL_STRINGS:
|
||||
|
@ -236,7 +238,7 @@ if __name__ == "__main__":
|
|||
success_rate,
|
||||
good_count,
|
||||
data_count))
|
||||
|
||||
|
||||
# Find passes
|
||||
passes = find_passes(satellites, observer, tmin, tmax, minimum_altitude)
|
||||
|
||||
|
@ -285,8 +287,11 @@ if __name__ == "__main__":
|
|||
# Find unique objects
|
||||
satids = sorted(set([satpass['id'] for satpass in passes]))
|
||||
|
||||
schedule_needed = False
|
||||
|
||||
for satpass in sorted(scheduledpasses, key=lambda satpass: satpass['tr']):
|
||||
if not satpass['scheduled']:
|
||||
schedule_needed = True
|
||||
logging.info(
|
||||
"%05d %s %s %3.0f %4.3f %s %s" %
|
||||
(int(
|
||||
|
@ -299,22 +304,21 @@ if __name__ == "__main__":
|
|||
satpass['uuid'],
|
||||
satpass['name'].rstrip()))
|
||||
|
||||
# Login
|
||||
loginUrl = '{}/accounts/login/'.format(settings.NETWORK_BASE_URL) # login URL
|
||||
session = requests.session()
|
||||
login = session.get(loginUrl) # Get login page for CSFR token
|
||||
login_html = lxml.html.fromstring(login.text)
|
||||
login_hidden_inputs = login_html.xpath(
|
||||
r'//form//input[@type="hidden"]') # Get CSFR token
|
||||
form = {x.attrib["name"]: x.attrib["value"] for x in login_hidden_inputs}
|
||||
form["login"] = username
|
||||
form["password"] = password
|
||||
session.post(loginUrl, data=form, headers={'referer': loginUrl}) # Login
|
||||
# Login and schedule passes
|
||||
if schedule and schedule_needed:
|
||||
loginUrl = '{}/accounts/login/'.format(settings.NETWORK_BASE_URL) # login URL
|
||||
session = requests.session()
|
||||
login = session.get(loginUrl) # Get login page for CSFR token
|
||||
login_html = lxml.html.fromstring(login.text)
|
||||
login_hidden_inputs = login_html.xpath(
|
||||
r'//form//input[@type="hidden"]') # Get CSFR token
|
||||
form = {x.attrib["name"]: x.attrib["value"] for x in login_hidden_inputs}
|
||||
form["login"] = username
|
||||
form["password"] = password
|
||||
session.post(loginUrl, data=form, headers={'referer': loginUrl}) # Login
|
||||
|
||||
# Schedule passes
|
||||
for satpass in sorted(scheduledpasses, key=lambda satpass: satpass['tr']):
|
||||
if not satpass['scheduled']:
|
||||
if schedule:
|
||||
for satpass in sorted(scheduledpasses, key=lambda satpass: satpass['tr']):
|
||||
if not satpass['scheduled']:
|
||||
schedule_observation(session,
|
||||
int(satpass['id']),
|
||||
satpass['uuid'],
|
||||
|
|
Loading…
Reference in New Issue