added support for directory parsing

This commit is contained in:
Sakimori 2025-07-31 10:43:25 -04:00
parent 4a3df5d017
commit 7e6bdcb475
No known key found for this signature in database

View file

@ -1,7 +1,7 @@
#! /minish/keh00032/.conda/envs/keh00032/bin/python #! /minish/keh00032/.conda/envs/keh00032/bin/python
import logging import logging
from os import path, chdir, getcwd, makedirs, remove from os import path, chdir, getcwd, makedirs, remove, listdir
from argparse import ArgumentDefaultsHelpFormatter, ArgumentParser from argparse import ArgumentDefaultsHelpFormatter, ArgumentParser
from typing import Union from typing import Union
from datetime import datetime from datetime import datetime
@ -88,6 +88,15 @@ def processList(values):
values.file = path.join(dir,dataname+".fil") values.file = path.join(dir,dataname+".fil")
addBurst(values) addBurst(values)
def processDir(values, fileList):
"""
Entry point if values.file and values.listfile are None and values.fileDir is set.
Processes all .fil files in a directory.
"""
for filename in fileList:
values.file = filename
addBurst(values)
def randomDMandWidth(): def randomDMandWidth():
""" """
Helper function that returns (DM, pulseWidth) tuple with bounds set at start of script. Helper function that returns (DM, pulseWidth) tuple with bounds set at start of script.
@ -213,10 +222,14 @@ if __name__ == "__main__":
parser.add_argument( parser.add_argument(
"-p", "--plot", action="store_true", help="Just plot file and quit." "-p", "--plot", action="store_true", help="Just plot file and quit."
) )
parser.add_argument(
"-D", "--directory", dest="fileDir", type=str, help="Directory containing filterbank files."
)
parser.set_defaults(dm=250.0) parser.set_defaults(dm=250.0)
parser.set_defaults(nsamp=int(3e5)) parser.set_defaults(nsamp=int(3e5))
parser.set_defaults(listfile=None) parser.set_defaults(listfile=None)
parser.set_defaults(file=None) parser.set_defaults(file=None)
parser.set_defaults(fileDir=None)
parser.set_defaults(plot=False) parser.set_defaults(plot=False)
parser.set_defaults(rsamp=False) parser.set_defaults(rsamp=False)
values = parser.parse_args() values = parser.parse_args()
@ -240,3 +253,7 @@ if __name__ == "__main__":
elif values.listfile is not None: #list of files elif values.listfile is not None: #list of files
logging.info(f"Looking for directories in file {values.listfile}") logging.info(f"Looking for directories in file {values.listfile}")
processList(values) processList(values)
elif values.fileDir is not None: #directory
filePaths = [f for f in listdir(values.fileDir) if f.endswith(".fil")]
logging.info(f"Found {len(filePaths)} files.")
processDir(values, filePaths)