#!/usr/bin/python
"""
Deletes existing cdsl from filesystem and inventoryfile.
Contains deleting of symbolic links and content of cdsl.
!!ATTENTION!!
   You can remove data with that program. Use on your own risk!
"""
__version__ = "$Revision: 1.5 $"

import getopt
import sys
import logging

from comoonics import ComLog
from comoonics.ComExceptions import ComException
#from comoonics import GetOpts

from comoonics.cluster import parseClusterConf
from comoonics.cluster.ComClusterInfo import ClusterInfo
from comoonics.cluster.ComClusterRepository import ClusterRepository
from comoonics.cdsl import commonoptparseroptions, dirtrim
from comoonics.cdsl.ComCdsl import CdslDoesNotExistException
from comoonics.cdsl.ComCdslRepository import CdslRepository

class CdslNotExistsException(ComException):pass

from optparse import OptionParser

usage = "usage: %prog [options] fullpathtofile"
parser = OptionParser(usage=usage, description=__doc__)
parser=commonoptparseroptions(parser)

parser.add_option("-s", "--symboliconly", dest="symboliconly", default=False, action="store_true", help="Only removes the symbolic links but not the data itself")

ComLog.setLevel(logging.INFO)
(options, args) = parser.parse_args()


if len(args) != 1:
    parser.error("Failure no or more then one file is given as argument.")
          
doc=parseClusterConf(options.clusterconf)
#create needed cluster objects
clusterRepository = ClusterRepository(doc.documentElement,doc)
clusterInfo = ClusterInfo(clusterRepository)

cdslRepository = CdslRepository(options.inventoryfile,None,False,root=options.root, mountpoint=options.mountpoint)

cdsl = cdslRepository.getCdsl(args[0])
cdsl.delete(force=not options.symboliconly)
