Ejemplo n.º 1
0
 def _makeArgumentParser(cls):
     """Create an argument parser
     """
     return pipeBase.InputOnlyArgumentParser(
         name=cls._DefaultName,
         datasetType=pipeBase.DatasetArgument(
             help="dataset type for task metadata"))
Ejemplo n.º 2
0
    def testDatasetArgumentPositional(self):
        """Test DatasetArgument with a positional argument"""
        name = "foo"
        defaultDsTypeHelp = "dataset type to process from input data repository"
        ap = pipeBase.InputOnlyArgumentParser(name="argumentParser")
        dsType = pipeBase.DatasetArgument(name=name)
        self.assertEqual(dsType.help, defaultDsTypeHelp)

        ap.add_id_argument("--id", dsType, "help text")
        namespace = ap.parse_args(
            config=self.config,
            args=[DataPath,
                  "calexp",
                  "--id", "visit=2",
                  ],
        )
        self.assertEqual(namespace.id.datasetType, "calexp")
        self.assertEqual(len(namespace.id.idList), 1)

        # make sure dataset type argument is required
        with self.assertRaises(SystemExit):
            ap.parse_args(
                config=self.config,
                args=[DataPath,
                      "--id", "visit=2",
                      ],
            )
Ejemplo n.º 3
0
    def _makeArgumentParser(cls):
        """Create an argument parser

        We specify a dynamic id argument through the use of DatasetArgument.
        """
        parser = pipeBase.InputOnlyArgumentParser(name=cls._DefaultName)
        parser.add_id_argument("--id", pipeBase.DatasetArgument(help="dataset type for task metadata"),
                               help="data ID, e.g. --id visit=12345 ccd=1,2")
        return parser
    def testDatasetArgumentBasics(self):
        """Test DatasetArgument basics"""
        dsTypeHelp = "help text for dataset argument"
        for name in (None, "--foo"):
            for default in (None, "raw"):
                argName = name if name is not None else "--id_dstype"
                ap = pipeBase.InputOnlyArgumentParser(name="argumentParser")
                dsType = pipeBase.DatasetArgument(name=name,
                                                  help=dsTypeHelp,
                                                  default=default)
                self.assertEqual(dsType.help, dsTypeHelp)

                ap.add_id_argument("--id", dsType, "help text")
                namespace = ap.parse_args(
                    config=self.config,
                    args=[
                        DataPath,
                        argName,
                        "calexp",
                        "--id",
                        "visit=2",
                    ],
                )
                self.assertEqual(namespace.id.datasetType, "calexp")
                self.assertEqual(len(namespace.id.idList), 1)

                del namespace

                if default is None:
                    # make sure dataset type argument is required
                    with self.assertRaises(SystemExit):
                        ap.parse_args(
                            config=self.config,
                            args=[
                                DataPath,
                                "--id",
                                "visit=2",
                            ],
                        )
                else:
                    namespace = ap.parse_args(
                        config=self.config,
                        args=[
                            DataPath,
                            "--id",
                            "visit=2",
                        ],
                    )
                    self.assertEqual(namespace.id.datasetType, default)
                    self.assertEqual(len(namespace.id.idList), 1)
Ejemplo n.º 5
0
    def _makeArgumentParser(cls):
        """Extend the default argument parser.

        Arguments specifying the output SQLite database and exposure dataset
        type are added in.
        """
        parser = pipe_base.ArgumentParser(name=cls._DefaultName)
        parser.add_argument(
            '--database', dest='database', required=True,
            help='SQLite 3 database file name')
        # Use DatasetArgument to require dataset type be specified on
        # the command line
        parser.add_id_argument(
            '--id', pipe_base.DatasetArgument('dstype'),
            help='Dataset data id to index')
        return parser
Ejemplo n.º 6
0
    def _makeArgumentParser(cls, *args, **kwargs):
        # Pop doBatch keyword before passing it along to the argument parser
        kwargs.pop("doBatch", False)

        dstype = pipeBase.DatasetArgument(
            '--dstype',
            default='calexp',
            help="dataset type to process from input data repository"
            "(e.g. eimage, postISRCCD, or calexp)")

        parser = pipeBase.ArgumentParser(name="focalplaneSummary",
                                         *args,
                                         **kwargs)
        parser.add_id_argument("--id",
                               datasetType=dstype,
                               help="data ID, e.g. --id visit=12345")
        return parser
Ejemplo n.º 7
0
    def _makeArgumentParser(cls):
        """Extend the default argument parser.

        Database-specific arguments and the dataset type of the catalogs to
        read are added in.
        """
        parser = pipe_base.ArgumentParser(name=cls._DefaultName)
        parser.add_argument("--host",
                            dest="host",
                            required=True,
                            help="Database hostname")
        parser.add_argument("--database",
                            dest="db",
                            required=True,
                            help="Database name")
        parser.add_argument("--user",
                            dest="user",
                            help="Database username (optional)",
                            default=None)
        parser.add_argument("--port",
                            dest="port",
                            type=int,
                            help="Database port number (optional)",
                            default=3306)
        parser.add_argument("--table",
                            dest="table_name",
                            required=True,
                            help="Table to ingest into")
        parser.add_argument("--view",
                            dest="view_name",
                            help="View to create containing column aliases")
        # Use DatasetArgument to require dataset type be specified on
        # the command line
        parser.add_id_argument("--id",
                               pipe_base.DatasetArgument("dstype"),
                               help="Dataset data id to ingest")
        return parser