def handle(self, *args, **options): for item in args: if options['delete']: try: Satellite.objects.get(norad_cat_id=item).delete() self.stdout.write('Satellite {}: deleted'.format(item)) continue except Satellite.DoesNotExist: raise CommandError( 'Satellite with Identifier {} does not exist'.format( item)) try: sat = satellite(item) except IndexError: raise CommandError( 'Satellite with Identifier {} does not exist'.format(item)) try: obj = Satellite.objects.get(norad_cat_id=item) except Satellite.DoesNotExist: obj = Satellite(norad_cat_id=item) obj.name = sat.name() tle = sat.tle() obj.tle0 = tle[0] obj.tle1 = tle[1] obj.tle2 = tle[2] obj.save() self.stdout.write('fetched data for {}: {}'.format( obj.norad_cat_id, obj.name))
def handle(self, *args, **options): for item in args: if options['delete']: try: Satellite.objects.get(norad_cat_id=item).delete() self.stdout.write('Satellite {}: deleted'.format(item)) continue except: raise CommandError('Satellite with Identifier {} does not exist'.format(item)) try: sat = satellite(item) except: raise CommandError('Satellite with Identifier {} does not exist'.format(item)) try: obj = Satellite.objects.get(norad_cat_id=item) except: obj = Satellite(norad_cat_id=item) obj.name = sat.name() tle = sat.tle() obj.tle0 = tle[0] obj.tle1 = tle[1] obj.tle2 = tle[2] obj.save() self.stdout.write('fetched data for {}: {}'.format(obj.norad_cat_id, obj.name))
def handle(self, *args, **options): apiurl = settings.DB_API_ENDPOINT satellites_url = "{0}satellites".format(apiurl) transmitters_url = "{0}transmitters".format(apiurl) self.stdout.write("Fetching from: {0}".format(satellites_url)) try: satellites = urllib2.urlopen(satellites_url).read() transmitters = urllib2.urlopen(transmitters_url).read() except: raise CommandError('API is unreachable') for satellite in json.loads(satellites): norad_cat_id = satellite['norad_cat_id'] name = satellite['name'] try: sat = Satellite.objects.get(norad_cat_id=norad_cat_id) self.stdout.write('Satellite {0}-{1} already exists'.format(norad_cat_id, name)) except: sat = Satellite(norad_cat_id=norad_cat_id, name=name) sat.save() self.stdout.write('Satellite {0}-{1} added'.format(norad_cat_id, name)) for transmitter in json.loads(transmitters): norad_cat_id = transmitter['norad_cat_id'] uuid = transmitter['uuid'] description = transmitter['description'] try: sat = Satellite.objects.get(norad_cat_id=norad_cat_id) except: self.stdout.write('Satellite {0} not present'.format(norad_cat_id)) transmitter.pop('norad_cat_id') try: existing_transmitter = Transmitter.objects.get(uuid=uuid) existing_transmitter.__dict__.update(transmitter) existing_transmitter.satellite = sat self.stdout.write('Transmitter {0}-{1} updated'.format(uuid, description)) except Transmitter.DoesNotExist: new_transmitter = Transmitter.objects.create(**transmitter) new_transmitter.satellite = sat new_transmitter.save() self.stdout.write('Transmitter {0}-{1} created'.format(uuid, description))