from installclass import InstallClass
from fermiimage import fermiFile

class Workgroup(InstallClass):

#    def setPostScript(self, postScript, inChroot = 1):
#	self.postScript = self.postScript + postScript
#	self.postInChroot = inChroot

    def __init__(self):
	InstallClass.__init__(self)
	self.addToSkipList("package-selection")
	fermi = fermiFile("/")
	post = fermi.readFile("Fermi/common/scripts/post.sh")
	self.setPostScript(post,0)

class OSSworkgroup(Workgroup):

    def __init__(self):
	Workgroup.__init__(self)
	self.addToSkipList("timezone")
	self.setTimezoneInfo("CST6CDT",0)
	self.addToSkipList("bootdisk")
	self.addToSkipList("confirm-install")
	self.addToSkipList("authentication")
        self.setAuthentication(1,1,1,"cdusrv1.fnal.gov",1)
	self.setGroups(["OSS"])

class FermiStandAloneworkgroup(Workgroup):

    def __init__(self):
	Workgroup.__init__(self)
	self.setGroups(["FermiStandAlone"])

class CDFoffsiteworkgroup(Workgroup):

    def __init__(self):
	Workgroup.__init__(self)
	self.setGroups(["CDFoffsite"])

class CDFworkgroup(Workgroup):

    def __init__(self):
	Workgroup.__init__(self)
	self.addToSkipList("timezone")
	self.setTimezoneInfo("CST6CDT",0)
	self.addToSkipList("bootdisk")
	self.addToSkipList("confirm-install")
	self.setGroups(["CDF"])

class CDFonlineworkgroup(Workgroup):

    def __init__(self):
	Workgroup.__init__(self)
	self.addToSkipList("timezone")
	self.setTimezoneInfo("CST6CDT",0)
	self.addToSkipList("bootdisk")
#	self.addToSkipList("authentication")
	self.addToSkipList("confirm-install")
        self.setAuthentication(0,0,1,"b0daq",0,"b0dau30")
	self.setGroups(["CDFonline"])

class CDFlevel3workgroup(Workgroup):

    def __init__(self):
	Workgroup.__init__(self)
	self.addToSkipList("timezone")
	self.setTimezoneInfo("CST6CDT",0)
	self.addToSkipList("bootdisk")
#	self.addToSkipList("authentication")
	self.addToSkipList("confirm-install")
        self.setAuthentication(1,1,1,"b0l3p",0,"")
	self.setGroups(["CDFlevel3"])

class D0desktopworkgroup(Workgroup):

    def __init__(self):
	Workgroup.__init__(self)
	self.addToSkipList("timezone")
	self.setTimezoneInfo("CST6CDT",0)
	self.addToSkipList("bootdisk")
	self.setAuthentication(0,0,0,"",0,"")
	self.addToSkipList("authentication")
	self.addToSkipList("accounts")
        InstallClass.doRootPw(self,"f0csPJ1c/IH1E",1)
	self.addToSkipList("confirm-install")
	self.setGroups(["D0desktop"])

class D0offsiteworkgroup(Workgroup):

    def __init__(self):
	Workgroup.__init__(self)
	self.setGroups(["D0offsite"])

class ODSworkgroup(Workgroup):

    def __init__(self):
	Workgroup.__init__(self)
	self.addToSkipList("timezone")
	self.setTimezoneInfo("CST6CDT",0)
	self.addToSkipList("bootdisk")
	self.addToSkipList("confirm-install")
	self.addToSkipList("authentication")
	self.setGroups(["ODS"])

class Theoryworkgroup(Workgroup):

    def __init__(self):
	Workgroup.__init__(self)
	self.addToSkipList("timezone")
	self.setTimezoneInfo("CST6CDT",0)
	self.addToSkipList("bootdisk")
	self.addToSkipList("confirm-install")
	self.setGroups(["Theory"])

class Astroworkgroup(Workgroup):

    def __init__(self):
	Workgroup.__init__(self)
	self.addToSkipList("timezone")
	self.setTimezoneInfo("CST6CDT",0)
	self.addToSkipList("bootdisk")
	self.addToSkipList("confirm-install")
	self.setGroups(["Astro"])

class SDSSworkgroup(Workgroup):

    def __init__(self):
	Workgroup.__init__(self)
	self.setGroups(["SDSS"])

class Farmsworkgroup(Workgroup):

    def __init__(self):
	Workgroup.__init__(self)
	self.addToSkipList("timezone")
	self.setTimezoneInfo("CST6CDT",0)
	self.addToSkipList("bootdisk")
	self.addToSkipList("confirm-install")
	self.setGroups(["Farms"])

class RIPworkgroup(Workgroup):

    def __init__(self):
	Workgroup.__init__(self)
	self.addToSkipList("timezone")
	self.setTimezoneInfo("CST6CDT",0)
	self.addToSkipList("bootdisk")
	self.addToSkipList("confirm-install")
	self.setGroups(["RIP"])

class FOCUSworkgroup(Workgroup):

    def __init__(self):
	Workgroup.__init__(self)
	self.setGroups(["FOCUS"])

class PATworkgroup(Workgroup):

    def __init__(self):
	Workgroup.__init__(self)
	self.addToSkipList("timezone")
	self.setTimezoneInfo("CST6CDT",0)
	self.addToSkipList("bootdisk")
	self.addToSkipList("confirm-install")
#	self.addToSkipList("authentication")
	self.setGroups(["PAT"])

class CMSdesktopworkgroup(Workgroup):

    def __init__(self):
	Workgroup.__init__(self)
	self.addToSkipList("timezone")
	self.setTimezoneInfo("CST6CDT",0)
	self.addToSkipList("bootdisk")
	self.addToSkipList("confirm-install")
#	self.addToSkipList("authentication")
	self.setGroups(["CMSdesktop"])

class ConsoleServerworkgroup(Workgroup):

    def __init__(self):
	Workgroup.__init__(self)
	self.addToSkipList("timezone")
	self.setTimezoneInfo("CST6CDT",0)
	self.addToSkipList("bootdisk")
	self.addToSkipList("confirm-install")
#	self.addToSkipList("authentication")
	self.setGroups(["ConsoleServer"])

#class workgroup(Workgroup):
#
#    def __init__(self):
#	Workgroup.__init__(self)
#	self.setGroups([""])
