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
|
#!/usr/bin/python
#
# Add satellites from AMSAT website that were not in the Celestrak database
#
import os
import string
import urllib.request
webfile = 'https://www.amsat.org/amsat/ftp/keps/current/nasabare.txt'
localfile = './in/amsat.txt'
print('Fetching ' + webfile + ' => ' + localfile)
urllib.request.urlretrieve (webfile, localfile)
tlefile = open(localfile, 'r')
catfile = open('./out/amateur.cat', 'a')
datfile = open('./out/satellites.dat', 'a')
while 1:
# read three lines at a time; strip trailing whitespaces
line1 = tlefile.readline().strip()
if not line1: break
line2 = tlefile.readline().strip()
line3 = tlefile.readline().strip()
# catalog number; strip leading zeroes
catnum = line2[2:7].lstrip('0')
satfilename = './tmp/' + catnum + '.sat'
if os.path.isfile(satfilename): continue
print(" Adding " + catnum + " ...")
catfile.write(catnum+'\n')
datfile.write("\n["+catnum+"]\n")
datfile.write('VERSION=1.1\n')
datfile.write('NAME='+line1+'\n')
datfile.write('NICKNAME='+line1+'\n')
datfile.write('TLE1='+line2+'\n')
datfile.write('TLE2='+line3+'\n')
tlefile.close()
catfile.close()
datfile.close()
|