Display all passes and mark the scheduled ones

merge-requests/1/head
Pierros Papadeas 2018-12-19 13:39:29 +02:00
parent c2bdfe7c68
commit f28a258c78
No known key found for this signature in database
GPG Key ID: 8DB97129D9982991
2 changed files with 27 additions and 20 deletions

View File

@ -169,7 +169,7 @@ if __name__ == "__main__":
# Get NORAD IDs
norad_cat_ids = sorted(
set([transmitter["norad_cat_id"] for transmitter in transmitters.values()
if transmitter["norad_cat_id"] < settings.MAX_NORAD_CAT_ID ]))
if transmitter["norad_cat_id"] < settings.MAX_NORAD_CAT_ID]))
# Store transmitters
fp = open(
@ -264,9 +264,11 @@ if __name__ == "__main__":
else:
# Find satellite transmitter with highest number of good observations
max_good_count = max([s['good_count'] for s in passes if s["id"] == satpass["id"]])
if max_good_count>0:
satpass['priority'] = (
float(satpass['altt']) / 90.0) * satpass['success_rate']*float(satpass['good_count'])/max_good_count
if max_good_count > 0:
satpass['priority'] = \
(float(satpass['altt']) / 90.0) \
* satpass['success_rate'] \
* float(satpass['good_count']) / max_good_count
else:
satpass['priority'] = (
float(satpass['altt']) / 90.0) * satpass['success_rate']
@ -298,22 +300,21 @@ if __name__ == "__main__":
schedule_needed = False
logging.info("NORAD | Start time | End time | El | Priority | " +
"Transmitter UUID | Satellite name ")
logging.info("Sch | NORAD | Start time | End time | El | " +
"Priority | Transmitter UUID | Satellite name ")
for satpass in sorted(scheduledpasses, key=lambda satpass: satpass['tr']):
logging.info(
"%3.d | %05d | %s | %s | %3.0f | %4.6f | %s | %s" %
(satpass['scheduled'],
int(satpass['id']),
satpass['tr'].strftime("%Y-%m-%dT%H:%M:%S"),
satpass['ts'].strftime("%Y-%m-%dT%H:%M:%S"),
float(satpass['altt']) if satpass['altt'] else '',
satpass['priority'],
satpass['uuid'],
satpass['name'].rstrip()))
if not satpass['scheduled']:
schedule_needed = True
logging.info(
"%05d | %s | %s | %3.0f | %4.6f | %s | %s" %
(int(
satpass['id']),
satpass['tr'].strftime("%Y-%m-%dT%H:%M:%S"),
satpass['ts'].strftime("%Y-%m-%dT%H:%M:%S"),
float(
satpass['altt']),
satpass['priority'],
satpass['uuid'],
satpass['name'].rstrip()))
# Login and schedule passes
if schedule and schedule_needed:
@ -328,8 +329,10 @@ if __name__ == "__main__":
form["password"] = password
session.post(loginUrl, data=form, headers={'referer': loginUrl}) # Login
scheduledpasses_sorted = sorted(scheduledpasses, key=lambda satpass: satpass['tr'])
logging.info('Checking and scheduling passes as needed.')
for satpass in tqdm(sorted(scheduledpasses, key=lambda satpass: satpass['tr'])):
for satpass in tqdm(scheduledpasses_sorted):
if not satpass['scheduled']:
logging.debug(
"Scheduling %05d %s %s %3.0f %4.3f %s %s" %
@ -349,4 +352,4 @@ if __name__ == "__main__":
satpass['tr'].strftime("%Y-%m-%d %H:%M:%S") + ".000",
satpass['ts'].strftime("%Y-%m-%d %H:%M:%S") + ".000")
logging.info("Scheduled all passes. Exiting!")
logging.info("All passes are scheduled. Exiting!")

View File

@ -83,7 +83,11 @@ def get_scheduled_passes_from_network(ground_station, tmin, tmax):
"Z",
""),
"%Y-%m-%dT%H:%M:%S"),
"scheduled": True}
"scheduled": True,
"altt": o['max_altitude'],
"priority": 1,
"uuid": o['transmitter'],
"name": ''}
if satpass['ts'] > tmin and satpass['tr'] < tmax:
scheduledpasses.append(satpass)