from flags import flags
import os
from constants_text import *
import string
import isys

from rhpl.log import log

def determineWorkgroup( dispatch, id, instpath):
	
# Need to save off if they selected individual package selection
  indivpackage = dispatch.stepInSkipList("indivpackage")
  workgroup = figureoutworkgroup(instpath + "/etc/workgroup") 
  if workgroup :
     if workgroup == "PAT" :
	workgroup = "CPD"
#     else :
#	if workgroup == "OSS" :
#	   workgroup == "CSS"
     workgroupmodule = workgroup[0] + "upgrade"
     log("Workgroup module is %s", workgroupmodule)
     UpgradeClass = None
     module = __import__(workgroupmodule)
     log("module is %s", module)
     UpgradeClass = module.InstallClass
#     cmd = "UpgradeClass = %s.InstallClass\n" % (module)
#     exec(cmd)
     c = UpgradeClass(flags.expert)
     c.setSteps(dispatch)
     c.setInstallData(id)
     if indivpackage :
        dispatch.skipStep("indivpackage")
     else:
        dispatch.skipStep("indivpackage", skip = 0)
     dispatch.skipStep("installtype", skip = 1)
     log("workgroup %s found, upgrading", workgroup)
  else :
     log("No workgroup found, Just upgrading the RedHat way")
  return 

def figureoutworkgroup(fullfilename):
  workgroup = ""
  if (os.access(fullfilename,os.R_OK)):
     log("Able to read %s", fullfilename)
     fileobject = open(fullfilename)
     workgroup = fileobject.read().splitlines()
     log("Workgroup is %s", workgroup)
     fileobject.close()
  else :
     log("No /etc/workgroup file")
  return workgroup 
