diff --git a/main.py b/main.py index e531972..325e0ff 100644 --- a/main.py +++ b/main.py @@ -32,23 +32,26 @@ def save_settings(): def restore(): global packagelist, config - try: - os.chdir(backupdir) - except FileNotFoundError: - print("Backup directory not found! Does it really exist? Please check for correct order of arguments: " - "-d/--backup-dir -r/--restore!") - exit(2) - try: - packagelist = open("packages.txt", "r") - except FileNotFoundError: - print("No packages.txt in your backup directory! Did you specify the right directory? Please check for " - "correct order of arguments: first -d/--backup-dir then -r/--restore!") - packagelist.close() - exit(2) + if os.getuid() == 0: + try: + os.chdir(backupdir) + except FileNotFoundError: + print("Backup directory not found! Does it really exist? Please check for correct order of arguments: " + "-d/--backup-dir -r/--restore!") + exit(2) + try: + packagelist = open("packages.txt", "r") + except FileNotFoundError: + print("No packages.txt in your backup directory! Did you specify the right directory? Please check for " + "correct order of arguments: first -d/--backup-dir then -r/--restore!") + packagelist.close() + exit(2) + else: + subprocess.call(["dpkg", "--set-selections"], stdin=packagelist) + subprocess.call(["apt-get", "dselect-upgrade"]) + packagelist.close() else: - subprocess.call(["dpkg", "--set-selections"], stdin=packagelist) - subprocess.call(["apt-get", "dselect-upgrade"]) - packagelist.close() + print("You're not root! You can't restore packages unless you are root!") try: config = open("dconf_out.txt", "r") except FileNotFoundError: