1 from .ingestCalibs
import IngestCalibsTask, IngestCalibsConfig
2 from .read_curated_calibs
import read_all
11 """Argument parser to support ingesting human curated calibration
12 products in a standardized text file format into the repository"""
15 InputOnlyArgumentParser.__init__(self, *args, **kwargs)
16 self.add_argument(
"-n",
"--dry-run", dest=
"dryrun", action=
"store_true",
17 default=
False, help=
"Don't perform any action?")
18 self.add_argument(
"--create", action=
"store_true", help=
"Create new registry?")
19 self.add_argument(
"--ignore-ingested", dest=
"ignoreIngested", action=
"store_true",
20 help=
"Don't register files that have already been registered")
21 self.add_argument(
"root", help=
"Root directory to scan for calibs.")
26 if "filter" in self.
register.columns:
27 self.
parse.defaults[
"filter"] =
"NONE"
31 """Task that generates registry for human curated calibration products
32 in a standardized text file format"""
33 ArgumentParser = IngestCuratedCalibsArgumentParser
34 _DefaultName =
"ingestCuratedCalibs"
35 ConfigClass = IngestCuratedCalibsConfig
38 """Ingest all defect files and add them to the registry"""
41 camera = args.butler.get(
'camera')
42 temp_dir = tempfile.mkdtemp()
43 calibs, calib_type =
read_all(args.root, camera)
47 file_name = f
'{calib_type}_{d}_{s.isoformat()}.fits'
48 full_file_name = os.path.join(temp_dir, file_name)
49 self.
log.
info(
'%s written for sensor: %s and calibDate: %s' %
50 (calib_type, d, s.isoformat()))
51 calibs[d][s].writeFits(full_file_name)
52 file_names.append(full_file_name)
53 args.files = file_names
56 IngestCalibsTask.run(self, args)
58 shutil.rmtree(temp_dir)