The ppPurge macro purges .fio data, MCA and detectors files that have been measured using the repeat-on-condition feature.
#!/usr/bin/env python
#
__all__ = ["ppPurge"]
from sardana.macroserver.macro import Macro, Type
import HasyUtils
import os, shutil
class ppPurge(Macro):
"""
post-processing-purge on data that have been taken with the
repeat-on-condition feature. The .fio file is used to
find the points with identical x-values. The invalid points
are removed and also the invalid MCA files and images.
- purges /<ScanDir>/prefix_01234.fio
- purges MCA files /<ScanDir>/<scanName>
- purges images in /<ScanDir>/<scanName>/<detector>
- processes the most recent files, if scanID is not specified
Environment variables: ScanDir, ScanFile, ScanID
Here is an example for a directory structure that is ppPurge-compliant.
the .fio file
/gpfs/current/raw/au_00456.fio
the MCA files:
/gpfs/current/raw/au_00456/au_00456_mca_s1.fio
/gpfs/current/raw/au_00456/au_00456_mca_s2.fio
...
the images
/gpfs/current/raw/au_00456/pilatus300k/au_00456_00001.cbf
/gpfs/current/raw/au_00456/pilatus300k/au_00456_00002.cbf
...
/gpfs/current/raw/au_00456/pilatus1M/au_00456_00001.cbf
/gpfs/current/raw/au_00456/pilatus1M/au_00456_00002.cbf
...
The names pilatus300k and pilatus1M are defined, e.g., by the
vc_exectutor script (see the DESY Sardana/Spock/Taurus manual).
They can be chosen at will.
"""
result_def = [['result', Type.Boolean, None, 'ppPurge return status']]
param_def = [['scanID', Type.Integer, -1, 'Overrides the env-variable ScanID (optional)']]