-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathupdate_transmitters.py
71 lines (50 loc) · 2.1 KB
/
update_transmitters.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
from app.models import SatelliteTransmitter
from app import db
import requests
from datetime import datetime
url = "https://db.satnogs.org/api/transmitters/?alive=true&format=json"
transmitters = requests.get(url)
if transmitters.status_code == 200:
# easier to just refresh table
SatelliteTransmitter.query.delete()
db.session.commit()
data = transmitters.json()
for transmitter in data:
if transmitter['norad_cat_id'] == None:
continue
newTransmitter = SatelliteTransmitter(
satellite_norad_id = transmitter['norad_cat_id'],
transmitter_description = transmitter['description'],
transmitter_alive = transmitter['alive'],
transmitter_type = transmitter['type'],
transmitter_uplink_low = transmitter['uplink_low'],
transmitter_uplink_high = transmitter['uplink_high'],
transmitter_uplink_mode = transmitter['uplink_mode'],
transmitter_downlink_low = transmitter['downlink_low'],
transmitter_downlink_high = transmitter['downlink_high'],
transmitter_downlink_mode = transmitter['mode'],
transmitter_invert = transmitter['invert'],
transmitter_baud = transmitter['baud'],
transmitter_citation = transmitter['citation'],
transmitter_coordination = transmitter['coordination'],
transmitter_coordination_url = transmitter['coordination_url'],
)
db.session.add(newTransmitter)
db.session.commit()
'''
for sat in satellites:
norad_id = sat.satellite_norad_id
if len(str(norad_id)) > 0:
req = requests.get(url + str(norad_id))
if req.status_code == 200:
data = req.json()
if len(data) > 0:
data = data[0]
print(data)
sat.satellite_tle0 = data['tle0']
sat.satellite_tle1 = data['tle1']
sat.satellite_tle2 = data['tle2']
tle_updated = datetime.now()
db.session.add(sat)
db.session.commit()
'''