def __init__(self, fname=None, cntx=1, cnty=None, csig=None, cmon=None, csec=None, norm=None):
        if (fname == 'DUMMY!'):
            return
        if (HAS_SPECFILE is False):
            print("WARNING: 'specfile' is missing -> check requirements!")
            return
        if (fname is None):
            raise NameError("Provide a SPEC data file to load with full path")
        elif not os.path.isfile(fname):
            raise OSError("File not found: '%s'" % fname)
        else:
            self.fname = fname
            if hasattr(self, 'sf'):
                pass
            else:
                self.sf = specfile.Specfile(fname) #sf = specfile file
                print("Loaded SPEC file: {0}".format(fname))
                # print("The total number of scans is: {0}".format(self.sf.scanno())
        #if HAS_SIMPLEMATH: self.sm = SimpleMath.SimpleMath()
        #set common attributes
        self.cntx = cntx
        self.cnty = cnty
        self.csig = csig
        self.cmon = cmon
        self.csec = csec
        self.norm = norm
Verify that extras_require mapping is valid
dataset/ETHPy150Open xraypy/xraylarch/plugins/io/specfiledata.py/SpecfileData.__init__--crossover with--dataset/ETHPy150Open AppScale/appscale/AppServer/lib/setuptools-0.6c11/setuptools/dist.py/check_extras