From 4b6d6fdd2d704c1446e1235d9f126cb23e10e3a8 Mon Sep 17 00:00:00 2001 From: Papoteur Date: Thu, 5 May 2016 15:51:59 +0200 Subject: Add the count of renamed files and directories. --- mageiaSync/mageiaSyncExt.py | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) (limited to 'mageiaSync/mageiaSyncExt.py') diff --git a/mageiaSync/mageiaSyncExt.py b/mageiaSync/mageiaSyncExt.py index 5c79ec9..451f73e 100644 --- a/mageiaSync/mageiaSyncExt.py +++ b/mageiaSync/mageiaSyncExt.py @@ -200,21 +200,26 @@ class syncThread(QThread): self.list=[] self.quit() -def rename(directory,oldRelease,newRelease): - options=['d', 'f'] - for option in options: - commande=['find', directory, '-type' ,option, '-exec','rename',oldRelease,newRelease, '{}', '+'] - process = Popen(commande, shell=False, stdout=PIPE, stderr=PIPE) - process.poll() - while True : - item=process.stdout.readline().rstrip() - process.poll() - if process.returncode != None: - if process.returncode!=0: - item=process.stderr.readline().rstrip() - return 1, item - break - return 0 #"Success in renaming" +def rename(directory,oldRelease,newRelease, nbf, nbr): + # nbf: number of files renamed + # nbr: number of directories renamed + # the function is recursive + for entry in os.listdir(directory): + name = entry + entry=os.path.join(directory,entry) + print(entry, os.path.isfile(entry), os.path.isdir(entry), name.startswith(oldRelease)) + if os.path.isfile(entry): + if name.startswith(oldRelease): + newPath = os.path.join( os.path.dirname(entry) , name.replace(oldRelease, newRelease,1)) + os.rename(entry, newPath) + nbf = nbf + 1 + if os.path.isdir(entry): + nbf, nbr = rename(entry,oldRelease,newRelease, nbf, nbr) + if name.startswith(oldRelease) : + newPath = os.path.join( os.path.dirname(entry) , name.replace(oldRelease, newRelease,1)) + os.rename(entry, newPath) + nbr = nbr + 1 + return nbf, nbr class findIsos(QThread): endSignal=pyqtSignal(int) -- cgit v1.2.1