def __loadModule(self, modules):
        if modules is None:
            logger.Info('No module list found')
            return None

        loaded_modules = []
        for name in modules:
            loaded_module = importlib.import_module('modules.' + name.lower())
            module = getattr(loaded_module, name)
            loaded_modules.append(module(self.__cmd.working_dir))
            logger.Info('module : ' + name + ' loaded')
        return loaded_modules
    def loadWaterfallModules(self):
        logger.Info('Waterfall module(s) loading :')
        self.__cmd.waterfall_modules = self.__getModulesFromConfig(
            self.__cmd.waterfall_modules, 'WATERFALL')
        self.__cmd.waterfall_modules = self.__getModulesFromConfig(
            self.__cmd.waterfall_modules, 'FORALL')

        return self.__loadModule(self.__cmd.waterfall_modules)
    def loadPayloadModules(self):
        logger.Info('Payload module(s) loading :')
        self.__cmd.payload_modules = self.__getModulesFromConfig(
            self.__cmd.payload_modules, 'PAYLOAD')
        self.__cmd.payload_modules = self.__getModulesFromConfig(
            self.__cmd.payload_modules, 'FORALL')

        return self.__loadModule(self.__cmd.payload_modules)
    def loadDemoddataModules(self):
        logger.Info('Demoddata module(s) loading :')
        self.__cmd.demoddata_modules = self.__getModulesFromConfig(
            self.__cmd.demoddata_modules, 'DEMODDATA')
        self.__cmd.demoddata_modules = self.__getModulesFromConfig(
            self.__cmd.demoddata_modules, 'FORALL')

        return self.__loadModule(self.__cmd.demoddata_modules)
コード例 #5
0
    def download(self):
        demoddata = self.observation[self.__json_id]
        if not any(demoddata):
            logger.Info('no demoddata found for the observation ' + str(self.observation['id']) + ' of ' + self.observation['start'])
            return

        fileHelper.create_dir_if_not_exist(self.full_path)
        for demod in demoddata:
            file_name = ntpath.basename(demod['payload_demod'])
            full_path_file = self.full_path + os.path.sep + file_name
            if os.path.exists(full_path_file):
                logger.Warning('pass ' + file_name + '... file already exist')
                return

            r = self.client.get(demod['payload_demod'])
            if r.status_code == 200:
                logger.Info('downloading...' + file_name)
                with open(full_path_file, "wb") as file:
                    file.write(r.content)
                self.runModulesAfterDownload(file_name)
    def extract(self):
        params = self.__create_request_params()
        page = 1
        while True:
            r = self.__client.get_from_base(self.OBSERVATION_URL, params)
            if r.status_code != 200:
                break

            logger.Info('scanning page...' + params['page'])
            self.__read_page(r.json(), self.__cmd.start_date,
                             self.__cmd.end_date)
            page += 1
            params['page'] = str(page)

        print('\ndownloading started (Ctrl + C to stop)...\t~(  ^o^)~')
        self.__create_workers_and_wait()
コード例 #7
0
            payload_modules = None
            demoddata_modules = None
            waterfall_modules = None
            if args.payload_modules is not None:
                payload_modules = args.payload_modules.split(',')
            if args.demoddata_modules is not None:
                demoddata_modules = args.demoddata_modules.split(',')
            if args.waterfall_modules is not None:
                waterfall_modules = args.waterfall_modules.split(',')
            cmd = ProgramCmd(args.norad_id, args.ground_station_id, start_date,
                             end_date, args.status, args.working_dir,
                             args.download_payload, args.download_waterfall,
                             args.download_demoddata, payload_modules,
                             demoddata_modules, waterfall_modules)
            session.save_program_parameters(cmd)

        obs = ObservationsService(cmd)
        obs.extract()
        logger.Info("\n\nall jobs are finished\t(   ^ o^)\m/")
    except KeyboardInterrupt:
        print("Exit...")
        sys.exit()
    except ValueError as e:
        logger.Error(e)
    except Exception as ex:
        logger.Error(ex)

# -s 2017-05-20T00:51:54 -e 2017-09-20T00:51:54 -n 25338
# -s 2018-01-20T00:51:54 -e 2018-01-21T00:51:54 -n 28654
# -s 2017-05-20T00:51:54 -e 2017-09-20T00:51:54 -n 25338 --waterfallmf TestModule