Skip to content

Commit 8097751

Browse files
committed
CheckPermissions()
1 parent 81d0ac3 commit 8097751

File tree

3 files changed

+32
-6
lines changed

3 files changed

+32
-6
lines changed

movefile_restart/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
from .main import DeleteFile, MoveFile, RenameFile, GetFileOperations, PrintFileOperations, RemoveFileOperation
1+
from .main import DeleteFile, MoveFile, RenameFile, GetFileOperations, PrintFileOperations, RemoveFileOperation, CheckPermissions
22

3-
__version__ = "0.5.0"
3+
__version__ = "0.6.0"

movefile_restart/main.py

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ def __get_current_values():
2828
if winreg.EnumValue(_read_key,i)[0] == "PendingFileRenameOperations":
2929
file_ops_values = winreg.EnumValue(_read_key,i)[1]
3030
break
31-
except Exception:
31+
except OSError:
3232
break
3333
i += 1
3434
if file_ops_values == None:
@@ -167,7 +167,33 @@ def RemoveFileOperation(file_op_index):
167167
__set_registry(values)
168168

169169

170+
def CheckPermissions():
171+
"""Get Permissions.
172+
173+
Gets the permissions for reading/writing the registry as a tuple.
174+
175+
Returns:
176+
(bool, bool): First bool is True/False for reading the key, second is for writing the key.
177+
178+
"""
179+
read = True
180+
write = True
181+
try:
182+
winreg.OpenKey(_registry, "SYSTEM\\CurrentControlSet\\Control\\Session Manager", 0, winreg.KEY_READ)
183+
try:
184+
winreg.OpenKey(_registry, "SYSTEM\\CurrentControlSet\\Control\\Session Manager", 0, winreg.KEY_WRITE)
185+
except PermissionError:
186+
write = False
187+
except PermissionError:
188+
read = False
189+
write = False # Due to how this program works, if reading is impossible, so is writing.
190+
return (read, write)
191+
192+
170193
if __name__ == "__main__":
171-
print("Currently pending file operations: ")
172-
PrintFileOperations()
194+
if CheckPermissions()[0]:
195+
print("Currently pending file operations: ")
196+
PrintFileOperations()
197+
else:
198+
print("No read permission on registry key!")
173199
sys.exit()

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
setuptools.setup(
77
name="movefile-restart",
8-
version="0.5.0",
8+
version="0.6.0",
99
author="hammy3502",
1010
author_email="hammy275@gmail.com",
1111
description="A small library for Windows to queue files to be moved, deleted, or renamed on reboot.",

0 commit comments

Comments
 (0)