def rotateFiles(directory, prefixName, gen, cp=False, persist=False): log.debug("dir: %s, prefixName: %s, versions: %s" % (directory, prefixName, gen)) gen = int(gen) files = os.listdir(directory) files = glob.glob("%s*" % prefixName) fd = {} for fname in files: name = fname.rsplit('.', 1) try: ind = int(name[1]) except ValueError: name[0] = fname ind = 0 except IndexError: ind = 0 except: continue if ind < gen: fd[ind] = {'old': fname, 'new': name[0] + '.' + str(ind + 1)} keys = fd.keys() keys.sort(reverse=True) log.debug("versions found: %s" % (keys)) for key in keys: oldName = os.path.join(directory, fd[key]['old']) newName = os.path.join(directory, fd[key]['new']) if isOvirtNode() and persist and not cp: try: execCmd([constants.EXT_UNPERSIST, oldName], logErr=False, sudo=True) execCmd([constants.EXT_UNPERSIST, newName], logErr=False, sudo=True) except: pass try: if cp: execCmd([constants.EXT_CP, oldName, newName], sudo=True) if isOvirtNode() and persist and not os.path.exists(newName): execCmd([constants.EXT_PERSIST, newName], logErr=False, sudo=True) else: os.rename(oldName, newName) except: pass if isOvirtNode() and persist and not cp: try: execCmd([constants.EXT_PERSIST, newName], logErr=False, sudo=True) except: pass
def rotateFiles(directory, prefixName, gen, cp=False, persist=False): log.debug("dir: %s, prefixName: %s, versions: %s" % (directory, prefixName, gen)) gen = int(gen) files = os.listdir(directory) files = glob.glob("%s*" % prefixName) fd = {} for fname in files: name = fname.rsplit('.', 1) try: ind = int(name[1]) except ValueError: name[0] = fname ind = 0 except IndexError: ind = 0 except: continue if ind < gen: fd[ind] = {'old': fname, 'new': name[0] + '.' + str(ind + 1)} keys = fd.keys() keys.sort(reverse=True) log.debug("versions found: %s" % (keys)) for key in keys: oldName = os.path.join(directory, fd[key]['old']) newName = os.path.join(directory, fd[key]['new']) if isOvirtNode() and persist and not cp: try: execCmd([constants.EXT_UNPERSIST, oldName], sudo=True) execCmd([constants.EXT_UNPERSIST, newName], sudo=True) except: pass try: if cp: execCmd([constants.EXT_CP, oldName, newName], sudo=True) if isOvirtNode() and persist and not os.path.exists(newName): execCmd([constants.EXT_PERSIST, newName], sudo=True) else: os.rename(oldName, newName) except: pass if isOvirtNode() and persist and not cp: try: execCmd([constants.EXT_PERSIST, newName], sudo=True) except: pass
def persistFile(name): if isOvirtNode(): execCmd([constants.EXT_PERSIST, name], sudo=True)