def __FileAttributes(fullpath): "Returns a string describing a file's attributes." attr = File.GetAttributes(fullpath) if (attr == FileAttributes.Normal): return "Normal" rc = "" if (attr & FileAttributes.Directory): rc += "Directory " if (attr & FileAttributes.ReadOnly): rc += "Read Only " if (attr & FileAttributes.Hidden): rc += "Hidden " if (attr & FileAttributes.System): rc += "System " if (attr & FileAttributes.Archive): rc += "Archive " if (attr & FileAttributes.Compressed): rc += "Compressed " return rc
deep = IN[2] # instantiate error log error_log = None files = [] try: # determine if deepsearch from current directory is needed if deep: docs = Directory.GetFiles(folders, search, SearchOption.AllDirectories) else: docs = Directory.GetFiles(folders, search) # get only docs that are not read-only and hidden (and thereby system etc.) ro = FileAttributes.ReadOnly hi = FileAttributes.Hidden for doc in docs: if File.GetAttributes(doc).HasFlag(ro) == 0: if File.GetAttributes(doc).HasFlag(hi) == 0: files.append(Path.GetFullPath(doc)) else: error_log = 'File(s) are read only, correct input!' except BaseException: error_log = 'Directory does not exist, correct input!' # return assigned the OUT port if error_log: files = error_log OUT = files