Automatic curation routines. Determines what needs to run on a given 
  programme and automatically calls those curation tasks.
      Author:
        N.J.G. Cross
      
      Organization:
        WFAU, IfA, University of Edinburgh
      
      Contributors:
        R.S. Collins
      
 
    | bool | 
        
          | autoCurate(cli,
        progID,
        releaseNum=0,
        dateRange=DateRange(begin=<mx.DateTime.DateTime object for '1753-01-01 0 ...,
        redoSources=False,
        redoProducts=None,
        redoRecal=False,
        redoNeigh=False,
        doCu6=False,
        skipMosaicCheck=False,
        minProdID=None,
        maxProdID=None,
        fileListForType=None,
        isRerelease=False,
        numCPUs=None,
        fields=None)Automatically runs the necessary curation tasks to prepare a 
      programme's data for release.
 | source code |  | 
    |  | 
        
          | prepareCu(cuName,
        db,
        cli,
        comment= 'A descriptive comment')Must be run before each CuSession in the batch script.
 | source code |  | 
    |  |  | 
    |  |  | 
    |  | 
        
          | deprecateProducts(releaseNum,
        db,
        programme,
        prodIDs=None,
        depOld=False,
        deleteDeeps=False) Deprecates products of given release numbers for the current 
      programme.
 | source code |  | 
    | dict(int: Cu13.ProductDetails) | 
        
          | findCreatedProducts(db,
        programmeID,
        releaseNum,
        reqProdsOfType,
        ingestedIDs,
        prodType) Searches file system to find existing products from the list provided
      of given file type and release number for the given programme.
 | source code |  | 
    | tuple(set(int), int) | 
        
          | getIngestedProducts(db,
        programmeID,
        releaseNum,
        prodIDs,
        productType) Searches database for all existing products ingested in the database 
      for the given programme and date range.
 | source code |  | 
    | set(int) | 
        
          | getMergedMFIDs(db,
        programme,
        isSynoptic=False) Retrieves all multiframe IDs listed in the merge log (synoptic if 
      requested) of the given programme.
 | source code |  | 
    | int |  | 
    | bool | 
        
          | ingestDeepStacks(db,
        fileLists,
        releaseNum) Ingests into given database the deep stack products listed in the 
      given file lists.
 | source code |  | 
    |  | 
        
          | getProductType(filePath) Checks type of product being ingested
 | source code |  | 
    | bool |  | 
    | bool |  | 
    |  |  |