def _makeArgumentParser(cls): """Create an argument parser """ return pipeBase.InputOnlyArgumentParser( name=cls._DefaultName, datasetType=pipeBase.DatasetArgument( help="dataset type for task metadata"))
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", ], )
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)
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
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
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