Source code for make_links

#!/usr/bin/env python
from __future__ import annotations

import argparse
import os
import subprocess
from glob import glob
from shlex import split

from arrakis.logger import logger, logging

logger.setLevel(logging.INFO)


[docs] def main(indir, outdir): images = glob(f"{os.path.abspath(indir)}/image.restored.*.contcube.*.fits") weights = glob(f"{os.path.abspath(indir)}/weights.*.contcube.*.fits") for f in images: name = os.path.basename(f) link = name.replace(".fits", ".conv.fits") cmd = f"ln -s {f} {os.path.abspath(outdir)}/{link}" logger.info(cmd) subprocess.run(split(cmd)) for f in weights: name = os.path.basename(f) cmd = f"ln -s {f} {os.path.abspath(outdir)}/{name}" logger.info(cmd) subprocess.run(split(cmd))
[docs] def cli(): descStr = """ Create symlinks to ASKAP cubes in one directory to another. """ # Parse the command line options parser = argparse.ArgumentParser( description=descStr, formatter_class=argparse.ArgumentDefaultsHelpFormatter ) parser.add_argument("indir", type=str, help="Directory containing cubes") parser.add_argument("outdir", type=str, help="Target output directory") args = parser.parse_args() main(args.indir, args.outdir)
if __name__ == "__main__": cli()