lv3_asns = prune_duplicate_products(lv3_asns) # Ensure sequencing is correct. Utility.resequence(lv3_asns) # Merge lists and return return finalized_asns + lv3_asns # --------- # Utilities # --------- # Define default product name filling format_product = FormatTemplate( key_formats={ 'source_id': ['s{:05d}', 's{:s}'], 'expspcin': ['{:0>2s}'] } ) def dms_product_name_sources(asn): """Produce source-based product names Parameters --------- asn : Association The association for which the product name is to be created. Returns
finalized.append(asn) # Ensure sequencing is correct. Utility.resequence(lv3_asns) # Merge lists and return return finalized + lv3_asns # --------- # Utilities # --------- # Define default product name filling format_product = FormatTemplate( key_formats={ 'source_id': 's{:05d}' } ) # ----------------- # Basic constraints # ----------------- class Constraint_Base(Constraint): """Select on program and instrument""" def __init__(self): super(Constraint_Base, self).__init__( [ DMSAttrConstraint( name='program', sources=['program'],