def main():

    parser = optparse.OptionParser(version="%prog 1.0")
    (options, args) = parser.parse_args()
    
    ltoWriteUtil.check_write_args(args)
    tape_id = args[0]
    
    config = ConfigParser.ConfigParser()
    ltoUtil.load_config(config)
    ltoUtil.config_checks(config)
    ltoUtil.path_check(ltoUtil.get_tape_written_dir(config)+'/'+tape_id)
    ltoUtil.file_check(ltoUtil.get_tape_written_dir(config)+'/'+tape_id+'/'+tape_id+'.xml')
    ltoVerifyUtil.diskspace_check(config, tape_id)
    ltoUtil.delete_dir_content(ltoUtil.get_tape_verify_dir(config))
    
    ltoWriteUtil.setup_tape_drive(config)
    ltoVerifyUtil.verify_tape(config, tape_id)
    ltoUtil.move_virtual_tape_dir(config, tape_id, 'written', 'verified')
    ltoUtil.delete_dir_content(ltoUtil.get_tape_verify_dir(config))
def diskspace_check(config, tape_id):
    verify_dir = ltoUtil.get_tape_verify_dir(config)
    free_bytes = ltoUtil.get_freespace(verify_dir)
    index_path = ltoUtil.get_tape_written_dir(config)+'/'+tape_id+'/'+tape_id+'.xml'
    tape_xml_doc = xml.dom.minidom.parse(index_path)
    tar_elems = tape_xml_doc.getElementsByTagName('tar')
    max_tar_size = 0
    for t in tar_elems:
        tar_size = int(t.getAttribute('size'))
        if tar_size > max_tar_size:
            max_tar_size = tar_size
    if max_tar_size > free_bytes - (1024*1024):
        free_gbs = ltoUtil.format_bytes_to_gbs(free_bytes)
        needed_gbs = ltoUtil.format_bytes_to_gbs(max_tar_size)
        print 'There is only '+free_gbs+' available space on '+verify_dir+'. At least '+needed_gbs+' is needed to perform the tape verification.'
        print ltoUtil.get_script_name()+' script terminated.'
        sys.exit(2)