Esempio n. 1
0
    def __repr__(self):
        msg = "<%s>\n" % self.__class__.__name__

        msg += "    <type: %s>\n" % Helper.first_match(submission_algos, self.type)
        msg += "    <version: %s>\n" % Helper.first_match(specs_vers, self.version)
        msg += "    <root: %s>\n" % self.root
        msg += "    <name: %s>\n" % self.project
        msg += "    <errors: %d>\n" % len(self.errors)
        msg += "    <warnings: %d>\n" % len(self.warnings)

        return msg
Esempio n. 2
0
    def test_first_match(self):
        # fake dict
        a_dict = {
            "a": 1,
            "b": 99,
            "c": 1,
        }

        # test if it gives back the first matching key
        self.assertTrue(Helper.first_match(a_dict, 1) in ["a", "c"])

        # test if it raises with a not-existing value
        with self.assertRaises(RuntimeError):
            Helper.first_match(a_dict, 2)
Esempio n. 3
0
    def __repr__(self):
        msg = "  <BaseGridQA>\n"

        msg += "    <type: %s>\n" % Helper.first_match(qa_algos, self.type)
        msg += "    <grids: %s>\n" % bool(self.grids)

        return msg
Esempio n. 4
0
    def __repr__(self):
        msg = "  <BaseScan>\n"

        msg += "    <type: %s>\n" % Helper.first_match(scan_algos, self.type)
        msg += "    <s57: %s>\n" % bool(self.s57)
        msg += "    <flagged features: %s>\n" % len(self.flagged_features)

        return msg
Esempio n. 5
0
    def __repr__(self):
        msg = "  <FlierDetector>\n"

        msg += "    <type: %s>\n" % Helper.first_match(fliers_algos, self.type)
        msg += "    <grids: %s>\n" % bool(self.grids)
        msg += "    <possible fliers: %s>\n" % len(self.flagged_fliers)

        return msg
Esempio n. 6
0
    def __repr__(self):
        msg = "  <BaseValsou>\n"

        msg += "    <type: %s>\n" % Helper.first_match(valsou_algos, self.type)
        msg += "    <s57: %s>\n" % bool(self.s57)
        msg += "    <grids: %s>\n" % bool(self.grids)
        msg += "    <flagged features: %s>\n" % len(self.flagged_features)

        return msg
Esempio n. 7
0
    def __repr__(self):
        msg = "<%s>\n" % self.__class__.__name__

        msg += "    <type: %s>\n" % Helper.first_match(designated_algos,
                                                       self.type)
        msg += "    <grids: %s>\n" % bool(self.grids)
        msg += "    <flagged designated: %s>\n" % len(self.flagged_designated)

        return msg
Esempio n. 8
0
    def __repr__(self):
        msg = "  <ChartBaseTriangle>\n"

        msg += "    <type: %s>\n" % Helper.first_match(triangle_algos,
                                                       self.type)
        msg += "    <ss: %s>\n" % bool(self.ss)
        msg += "    <s57: %s>\n" % bool(self.s57)
        msg += "    <cs: %s>\n" % bool(self.cs)
        msg += "    <flagged features: %s>\n" % len(self.flagged_features)

        return msg
Esempio n. 9
0
 def info_settings(self) -> None:
     msg = "Feature Scan settings:\n"
     msg += "- HSSD version: %s\n" % self.checks.version
     msg += "- nr. on features in the S57 file: %d\n" % len(
         self.checks.all_fts)
     msg += "- profile: %s\n" % ("field" if
                                 (self.checks.profile == 1) else "office")
     msg += "- survey area: %s\n" % Helper.first_match(
         Checks.survey_areas, self.checks.survey_area)
     msg += "- use MHW: %s [%s]\n" % (self.checks.use_mhw,
                                      self.checks.mhw_value)
     msg += "- check SORIND: %s\n" % (self.checks.sorind, )
     msg += "- check SORDAT: %s\n" % (self.checks.sordat, )
     msg += "- use HTD: %s \n" % (self.checks.check_image_names, )
     logger.info(msg)
Esempio n. 10
0
    def save_to_db(self):
        """Save setup to db"""
        logger.info("*** > SETUP: saving ...")

        try:
            db = self.db
            # db.setup_version = self.setup_version  # not overwrite the version since it implies different tables
            # db.active_setup_id = self.setup_id  # obviously, unactivated to avoid db logic corruption
            # db.setup_status  # only the current setup is visualized
            # db.setup_name = self.setup_name

            # input
            db.use_woa09 = self.use_woa09
            db.use_woa13 = self.use_woa13
            if db.setup_version > 1:
                db.use_woa18 = self.use_woa18
            db.use_rtofs = self.use_rtofs
            if db.setup_version > 1:
                db.use_gomofs = self.use_gomofs
            db.ssp_extension_source = Helper.first_match(Dicts.atlases, self.ssp_extension_source)
            db.ssp_salinity_source = Helper.first_match(Dicts.atlases, self.ssp_salinity_source)
            db.ssp_temp_sal_source = Helper.first_match(Dicts.atlases, self.ssp_temp_sal_source)
            db.ssp_up_or_down = Helper.first_match(Dicts.ssp_directions, self.ssp_up_or_down)

            db.rx_max_wait_time = self.rx_max_wait_time
            db.use_sis4 = self.use_sis4
            if db.setup_version > 1:
                db.use_sis5 = self.use_sis5
            db.use_sippican = self.use_sippican
            db.use_mvp = self.use_mvp

            # client list
            db.delete_clients()
            for client in self.client_list.clients:
                logger.debug('- save: %s' % client.name)
                db.add_client(client_name=client.name,
                              client_ip=client.ip, client_port=client.port,
                              client_protocol=client.protocol)

            # listeners - sis4
            db.sis_listen_port = self.sis_listen_port
            db.sis_listen_timeout = self.sis_listen_timeout

            # output - sis 4 and 5
            db.sis_auto_apply_manual_casts = self.sis_auto_apply_manual_casts

            # listeners - sippican
            db.sippican_listen_port = self.sippican_listen_port
            db.sippican_listen_timeout = self.sippican_listen_timeout

            # listeners - mvp
            db.mvp_ip_address = self.mvp_ip_address
            db.mvp_listen_port = self.mvp_listen_port
            db.mvp_listen_timeout = self.mvp_listen_timeout
            db.mvp_transmission_protocol = self.mvp_transmission_protocol
            db.mvp_format = self.mvp_format
            db.mvp_winch_port = self.mvp_winch_port
            db.mvp_fish_port = self.mvp_fish_port
            db.mvp_nav_port = self.mvp_nav_port
            db.mvp_system_port = self.mvp_system_port
            db.mvp_sw_version = self.mvp_sw_version
            db.mvp_instrument_id = self.mvp_instrument_id
            db.mvp_instrument = self.mvp_instrument

            # server
            db.server_source = self.server_source
            db.server_apply_surface_sound_speed = self.server_apply_surface_sound_speed

            # current settings
            db.current_project = self.current_project
            db.custom_projects_folder = self.custom_projects_folder
            db.custom_outputs_folder = self.custom_outputs_folder
            db.custom_woa09_folder = self.custom_woa09_folder
            db.custom_woa13_folder = self.custom_woa13_folder
            if db.setup_version > 1:
                db.custom_woa18_folder = self.custom_woa18_folder
            db.noaa_tools = self.noaa_tools
            db.default_institution = self.default_institution
            db.default_survey = self.default_survey
            db.default_vessel = self.default_vessel
            db.auto_apply_default_metadata = self.auto_apply_default_metadata

            db.close()

        except Exception as e:
            raise RuntimeError("while saving setup to db, %s" % e)

        logger.info("*** > SETUP: saved!")
Esempio n. 11
0
 def algo(self) -> str:
     return Helper.first_match(anomaly_algos, self.type)