XLALParseSFTFilenameIntoSpec(): parse old style SFT names
Description
This MR relaxes the SFT filename parsing function XLALParseSFTFilenameIntoSpec()
to be backward compatible with 2 common SFT filename usages/conventions from before the v3 SFT spec:
- Multiple underscores in the miscellaneous description field, e.g.
L-1_L1_1800SFT_old_style_SFT_name-1238239230-1800.sft
. - The unofficial
splitSFTs
narrow-band SFT filename convention, where theNBF...
frequency-band descriptor appeared before the miscellaneous description field, e.g.L-1_L1_1800SFT_NBF0010Hz0W0008Hz0_old_style_SFT_name-1238239230-1800.sft
.
The SFTFilenameSpec
filled by XLALParseSFTFilenameIntoSpec()
will always be a valid SFT filename according to the v3 spec. For example, in the above filenames, the SFTFilenameSpec.privMisc
field would be set to oldstyleSFTname
, i.e. with no underscores per the spec. As a result XLALBuildSFTFilenameFromSpec()
will always generate a v3-compliant name.
Closes #695 (closed)
API Changes and Justification
Backwards Compatible Changes
-
This change does not modify any class/function/struct/type definitions in a public C header file or any Python class/function definitions -
This change adds new classes/functions/structs/types to a public C header file or Python module
Backwards Incompatible Changes
-
This change modifies an existing class/function/struct/type definition in a public C header file or Python module -
This change removes an existing class/function/struct/type from a public C header file or Python module