Exemple #1
0
VolumeType = afs.defaultConfig.VolumeType
if afs.defaultConfig.VolumeName[-9:] == ".readonly"  :
    VolumeName = afs.defaultConfig.VolumeName[:-9]
    VolumeType = "RO"
else :
    VolumeName = afs.defaultConfig.VolumeName

VolSize=parseHumanWriteableSize(afs.defaultConfig.VolumeSize)/1024
PS=ProjectService()
# we get a list of Projects, sorted by the Nesting Level.
# only get the most specific one

PrjObj=PS.getProjectsByVolumeName(VolumeName)[0]
if afs.defaultConfig.ProjectName != None :
    thisPrjObj=PS.getProjectByName(afs.defaultConfig.ProjectName)
    if thisPrjObj == None :
        myParser.error("Project \"%s\" does not exist" % afs.defaultConfig.ProjectName)
    if thisPrjObj.id != PrjObj.id :
        if not afs.defaultConfig.force :
            myParser.error("VolumeName \"%s\" not matched by given Project \"%s\"\n" % (VolumeName,afs.defaultConfig.ProjectName))
            sys.exit(1)
        PrjObj = thisPrjObj
    
if not PrjObj :
    sys.stderr.write("Cannot guess Project for volume %s" % VolumeName)
VolObj=Volume()
VolObj.name=VolumeName
VolObj.type=VolumeType
if VolObj.type == "RW" :
    RWServ,RWPart=(PS.getNewVolumeLocation(PrjObj.name,VolObj))
               count += 1
        else :
            print "Cannot parse : %s " % line
            sys.exit(0)
elif afs.defaultConfig.addPrj == True :
    defaultDict=PrjObj.getDict()
    PrjDict=getProjDetailsFromKeyboard(defaultDict=defaultDict)
    PrjObj.setByDict(PrjDict)
    print "PrjObj: %s " % PrjObj
    PS.saveProject(PrjObj)
elif afs.defaultConfig.rmPrj == True :
    if afs.defaultConfig.prjname == "" :
        name=raw_input("Name of project: ")
    else :
        name=afs.defaultConfig.prjname
    if PS.getProjectByName(name) == None :
        print "Found no project with name '%s'" % name
    PS.deleteProject(name)
elif afs.defaultConfig.modifyPrj == True :
    if afs.defaultConfig.prjname == "" :
        name=raw_input("Name of project: ")
    else :
        name=afs.defaultConfig.prjname
    oldPrjDict=PS.getProjectByName(name).getDict()
    PrjDict=getProjDetailsFromKeyboard(defaultDict=oldPrjDict)
    PrjObj.setByDict(PrjDict)
    PS.saveProject(PrjObj)
elif afs.defaultConfig.showFSList == True :
    for f in CellInfo.FileServers :
       print f
elif afs.defaultConfig.updateVolumeMappings == True :