From 36d45d1bdf39bca564421011586467fd14b14be3 Mon Sep 17 00:00:00 2001 From: Maxim Stewart Date: Mon, 10 Jun 2019 22:44:15 -0500 Subject: [PATCH] Completed delete and rename actions. --- bin/pytop-0-0-1-x64.deb | Bin 19440 -> 19528 bytes .../pytop-0-0-1-x64/opt/Pytop/utils/Events.py | 17 +++++---- .../opt/Pytop/utils/FileHandler.py | 35 ++++++++++++++---- .../pytop-0-0-1-x64/opt/Pytop/utils/Grid.py | 17 +++++++-- .../pytop-0.0.1/Pytop/utils/Events.py | 17 +++++---- .../pytop-0.0.1/Pytop/utils/FileHandler.py | 35 ++++++++++++++---- src/versions/pytop-0.0.1/Pytop/utils/Grid.py | 17 +++++++-- 7 files changed, 104 insertions(+), 34 deletions(-) diff --git a/bin/pytop-0-0-1-x64.deb b/bin/pytop-0-0-1-x64.deb index 7bbcac24aa75108ebf5fac780f8d8a61313bd152..487c746b8bc58e5b49f15ff4b525cb86205a99a6 100644 GIT binary patch delta 5920 zcmV+*7vJdcmjTF_0gxU9G&MOjks>? z*`B9uo|=Wz+hE0KI+f6@^Vo`On8v&H?$Md}S2E-nC}I&SBQ*7rmQ4-}+?%$O zY`Af*U*NHo;4Tvc5HI78=+2vrrFrq2%k|=+vWaHQtVF~o;b8C-lz&(Zt~FGgQ72Fk z&*tFPk@>q{{zCU`o6IBuk{uYog2(q88hRc5+Cx3SF!;71{Xni%| zMgxC);Io#p%j7_XHL)7P33y1RM*28%vE?AQ%@n|cHg{(3zhd?@0ivrLW(5*FQ*~LU z0IuzB)!UoKh~d|vUNG^56_IN4J~yzDP_`akuZ4ulAq*V%q5aGh*CFc>VN60lP>SNu zuUky$rqach(m-yu{C^>SNDKfxTUEn)dRJPc<|XQPEa{svbgtuX2a|QLYfnoTh^F4e z`-ab%yziEPR680W<5N8=wV4S@q6zPsJ3!0LXt8q=*=4S}?jyg8%e>xizu4!TQ9U=y zmgb-IjJr>MnE2f}LrhDc-N(V0eS0Oz{JRm%MK84JFLM-k(W%UQMYEVTJl%NE4E0t;J0qi!$Cz|FeQM>D z^DiOg21}KKkKpl{gPmx=DVuxv@KqE5pJkSaFFDb$cHyLHgXV9h3Z4T?R0yDp+sWky z=3n~|V#^kjihuPSHQ%HKx@;B`K=499A|%(in!898UpZw8ML=_DH=05YGnMEhanL)uAPvzx93^cIDG`y&`#dyy`5$V7nC{frd7%S$d z^lLg6S+Hqj58QNd5LPd90tHVBNcG+e$XSa>vWIy>vVTqC%XB>NS?^uYQKpUnheH)- z

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 RY*?|xXZr#G00004Sy~WGGYbF! diff --git a/src/debs/pytop-0-0-1-x64/opt/Pytop/utils/Events.py b/src/debs/pytop-0-0-1-x64/opt/Pytop/utils/Events.py index 3328d8d..59eb536 100644 --- a/src/debs/pytop-0-0-1-x64/opt/Pytop/utils/Events.py +++ b/src/debs/pytop-0-0-1-x64/opt/Pytop/utils/Events.py @@ -31,9 +31,7 @@ class Events: selectedDirDialog.add_filter(filefilter) selectedDirDialog.set_filename(self.desktopPath) - self.grid = None - self.selectedFile = None - + self.grid = None self.setDir(selectedDirDialog) @@ -44,19 +42,21 @@ class Events: # Grid(self.desktop, self.settings).generateDirectoryGrid(newPath) def showGridControlMenu(self, widget, data=None): - self.selectedFile = widget popover = self.builder.get_object("gridControlMenu") popover.show_all() popover.popup() # File control events - def renameFile(self, widget, data=None): + def createFile(self): + pass + + def updateFile(self, widget, data=None): newName = widget.get_text().strip() if data and data.keyval == 65293: # Enter key event - self.grid.renameFile(newName) + self.grid.updateFile(newName) elif data == None: # Save button 'event' - self.grid.renameFile(newName) + self.grid.updateFile(newName) def deleteFile(self, widget, data=None): self.grid.deleteFile() @@ -67,6 +67,9 @@ class Events: def cutFile(self): pass + def pasteFile(self): + pass + # Webview events def showWebview(self, widget): diff --git a/src/debs/pytop-0-0-1-x64/opt/Pytop/utils/FileHandler.py b/src/debs/pytop-0-0-1-x64/opt/Pytop/utils/FileHandler.py index a1e80cb..047a509 100644 --- a/src/debs/pytop-0-0-1-x64/opt/Pytop/utils/FileHandler.py +++ b/src/debs/pytop-0-0-1-x64/opt/Pytop/utils/FileHandler.py @@ -1,6 +1,5 @@ -import subprocess - +import os, shutil, subprocess class FileHandler: def __init__(self): @@ -23,9 +22,6 @@ class FileHandler: self.MPLAYER_WH = " -xy 1600 -geometry 50%:50% "; self.MPV_WH = " -geometry 50%:50% "; - self.selectedFile = None - - def openFile(self, file): print("Opening: " + file) @@ -45,10 +41,14 @@ class FileHandler: subprocess.Popen(['xdg-open', file]) - def renameFile(self, oldFileName, newFileName): + def createFile(self, newFileName): + pass + + def updateFile(self, oldFileName, newFileName): try: print("Renaming...") print(oldFileName + " --> " + newFileName) + os.rename(oldFileName, newFileName) return 0 except Exception as e: print("An error occured renaming the file:") @@ -59,8 +59,29 @@ class FileHandler: try: print("Deleting...") print(toDeleteFile) - return 0 + if os.path.exists(toDeleteFile): + if os.path.isfile(toDeleteFile): + os.remove(toDeleteFile) + elif os.path.isdir(toDeleteFile): + shutil.rmtree(toDeleteFile) + else: + print("An error occured deleting the file:") + return 1 + else: + print("The folder/file does not exist") + return 1 except Exception as e: print("An error occured deleting the file:") print(e) return 1 + + return 0 + + def copyFile(self): + pass + + def cutFile(self): + pass + + def pasteFile(self): + pass diff --git a/src/debs/pytop-0-0-1-x64/opt/Pytop/utils/Grid.py b/src/debs/pytop-0-0-1-x64/opt/Pytop/utils/Grid.py index 451a50b..76a424d 100644 --- a/src/debs/pytop-0-0-1-x64/opt/Pytop/utils/Grid.py +++ b/src/debs/pytop-0-0-1-x64/opt/Pytop/utils/Grid.py @@ -155,18 +155,29 @@ class Grid: # Pass through file control events - def renameFile(self, file): + def createFile(arg): + pass + + def updateFile(self, file): newName = self.currentPath + "/" + file - status = self.filehandler.renameFile(self.selectedFile, newName) + status = self.filehandler.updateFile(self.selectedFile, newName) if status == 0: self.selectedFile = newName self.generateDirectoryGrid(self.currentPath) - def deleteFile(self): status = self.filehandler.deleteFile(self.selectedFile) if status == 0: self.selectedFile = "" self.generateDirectoryGrid(self.currentPath) + + def copyFile(self): + pass + + def cutFile(self): + pass + + def pasteFile(self): + pass diff --git a/src/versions/pytop-0.0.1/Pytop/utils/Events.py b/src/versions/pytop-0.0.1/Pytop/utils/Events.py index 3328d8d..59eb536 100644 --- a/src/versions/pytop-0.0.1/Pytop/utils/Events.py +++ b/src/versions/pytop-0.0.1/Pytop/utils/Events.py @@ -31,9 +31,7 @@ class Events: selectedDirDialog.add_filter(filefilter) selectedDirDialog.set_filename(self.desktopPath) - self.grid = None - self.selectedFile = None - + self.grid = None self.setDir(selectedDirDialog) @@ -44,19 +42,21 @@ class Events: # Grid(self.desktop, self.settings).generateDirectoryGrid(newPath) def showGridControlMenu(self, widget, data=None): - self.selectedFile = widget popover = self.builder.get_object("gridControlMenu") popover.show_all() popover.popup() # File control events - def renameFile(self, widget, data=None): + def createFile(self): + pass + + def updateFile(self, widget, data=None): newName = widget.get_text().strip() if data and data.keyval == 65293: # Enter key event - self.grid.renameFile(newName) + self.grid.updateFile(newName) elif data == None: # Save button 'event' - self.grid.renameFile(newName) + self.grid.updateFile(newName) def deleteFile(self, widget, data=None): self.grid.deleteFile() @@ -67,6 +67,9 @@ class Events: def cutFile(self): pass + def pasteFile(self): + pass + # Webview events def showWebview(self, widget): diff --git a/src/versions/pytop-0.0.1/Pytop/utils/FileHandler.py b/src/versions/pytop-0.0.1/Pytop/utils/FileHandler.py index a1e80cb..047a509 100644 --- a/src/versions/pytop-0.0.1/Pytop/utils/FileHandler.py +++ b/src/versions/pytop-0.0.1/Pytop/utils/FileHandler.py @@ -1,6 +1,5 @@ -import subprocess - +import os, shutil, subprocess class FileHandler: def __init__(self): @@ -23,9 +22,6 @@ class FileHandler: self.MPLAYER_WH = " -xy 1600 -geometry 50%:50% "; self.MPV_WH = " -geometry 50%:50% "; - self.selectedFile = None - - def openFile(self, file): print("Opening: " + file) @@ -45,10 +41,14 @@ class FileHandler: subprocess.Popen(['xdg-open', file]) - def renameFile(self, oldFileName, newFileName): + def createFile(self, newFileName): + pass + + def updateFile(self, oldFileName, newFileName): try: print("Renaming...") print(oldFileName + " --> " + newFileName) + os.rename(oldFileName, newFileName) return 0 except Exception as e: print("An error occured renaming the file:") @@ -59,8 +59,29 @@ class FileHandler: try: print("Deleting...") print(toDeleteFile) - return 0 + if os.path.exists(toDeleteFile): + if os.path.isfile(toDeleteFile): + os.remove(toDeleteFile) + elif os.path.isdir(toDeleteFile): + shutil.rmtree(toDeleteFile) + else: + print("An error occured deleting the file:") + return 1 + else: + print("The folder/file does not exist") + return 1 except Exception as e: print("An error occured deleting the file:") print(e) return 1 + + return 0 + + def copyFile(self): + pass + + def cutFile(self): + pass + + def pasteFile(self): + pass diff --git a/src/versions/pytop-0.0.1/Pytop/utils/Grid.py b/src/versions/pytop-0.0.1/Pytop/utils/Grid.py index 451a50b..76a424d 100644 --- a/src/versions/pytop-0.0.1/Pytop/utils/Grid.py +++ b/src/versions/pytop-0.0.1/Pytop/utils/Grid.py @@ -155,18 +155,29 @@ class Grid: # Pass through file control events - def renameFile(self, file): + def createFile(arg): + pass + + def updateFile(self, file): newName = self.currentPath + "/" + file - status = self.filehandler.renameFile(self.selectedFile, newName) + status = self.filehandler.updateFile(self.selectedFile, newName) if status == 0: self.selectedFile = newName self.generateDirectoryGrid(self.currentPath) - def deleteFile(self): status = self.filehandler.deleteFile(self.selectedFile) if status == 0: self.selectedFile = "" self.generateDirectoryGrid(self.currentPath) + + def copyFile(self): + pass + + def cutFile(self): + pass + + def pasteFile(self): + pass