Beispiel #1
0
    def _ls2(path):
        fileList = []

        dirRef = lfcCmd.cd(path, version=2)

        if dirRef == None:
            print("Could not get a dir Reference!")
            return fileList

        try:

            entry = lfc.lfc_readdirxr(dirRef)

            while entry != None:

                element = {}  # Create a hash map for every directory element
                element["name"] = entry.d_name

                # print("Get acl...\n")
                element["acl"] = lfcCmd.getacl(path + "/" + element["name"])

                if stat.S_ISDIR(entry.filemode) == True:
                    element["type"] = "dir"  # Directory
                    element["GUID"] = ""
                else:
                    element["type"] = "file"
                    element["GUID"] = entry.guid

                    # print("Get Replicate list [%d] elements\n"%entry.nbreplicas)
                    reps = []
                    for i in range(entry.nbreplicas):
                        reps.append(entry.rep[i].sfn)
                    element["Replicas"] = reps

                fileList.append(element)

                # print("Next ...\n")
                entry = lfc.lfc_readdirxr(dirRef)

        except Exception, e:
            print("Exception [%s] : %s" % (str(type(e)), str(e)))
Beispiel #2
0
    def dir_list(self, dir_obj, pattern):
        
        complete_path = dir_obj._url.path
        result = []

        try:
            self.log_info("Trying to LSDIR '%s'" % (complete_path))

            dir = lfc.lfc_opendir(complete_path)
            if dir == None:
                raise Exception('Could not open dir')

            while True:
                entry = lfc.lfc_readdirxr(dir)
                if entry == None:
                    break
                result.append(entry.d_name)

            lfc.lfc_closedir(dir)

        except Exception, ex:
            self.log_error_and_raise(bliss.saga.Error.NoSuccess,
            "Couldn't list directory: %s " % (str(ex)))
Beispiel #3
0
import lfc2 as lfc

if len(sys.argv) < 2:
        print "Syntax: %s <LFC_directory>" % sys.argv[0]
        sys.exit(-1)

name = sys.argv[1]

dir = lfc.lfc_opendir(name)
if (dir == None) or (dir == 0):
        print  "Error  while  looking  for  " + name + ": No such a file or directory"
        sys.exit(1)

try:
        while 1:
                entry = lfc.lfc_readdirxr(dir)
                if entry == None:
                        break
                print entry.d_name
                if stat.S_ISDIR(entry.filemode):
                        print " ==> Directory"
                else:
                        print "GUID : %s" % entry.guid
                        for i in range(entry.nbreplicas):
                                print " ==> %s" % entry.rep[i].sfn

        lfc.lfc_closedir(dir)
except TypeError, x:
        print " ==> None"
except Exception:
        traceback.print_exc()