now really fix windows
authorRuben ten Hove <redacted>
Tue, 5 Jul 2022 17:19:01 +0000 (13:19 -0400)
committerRuben ten Hove <redacted>
Tue, 5 Jul 2022 17:19:01 +0000 (13:19 -0400)
updateHostsFile.py

index dc1b0cf5f512c9e4edca8765dd11d66ae7de0000..ba9b9b45d47a0b63b95c3eb1700d8735398e15dd 100755 (executable)
@@ -43,7 +43,7 @@ except ImportError:
 if platform.system() == "OpenBSD":
     SUDO = ["/usr/bin/doas"]
 elif platform.system() == "Windows":
-    SUDO = ["Start-Process", "powershell", "-Verb", "runAs"]
+    SUDO = ["powershell", "Start-Process", "powershell", "-Verb", "runAs"]
 else:
     SUDO = ["/usr/bin/env", "sudo"]
 
@@ -1282,7 +1282,7 @@ def move_hosts_file_into_place(final_file):
 
     filename = os.path.abspath(final_file.name)
     if platform.system() == "Windows":
-        target_file = Path(os.getenv("SystemRoot")) / "system32" / "drivers" / "etc" / "hosts"
+        target_file = str(Path(os.getenv("SystemRoot")) / "system32" / "drivers" / "etc" / "hosts")
     else:
         target_file = "/etc/hosts"
 
@@ -1299,13 +1299,11 @@ def move_hosts_file_into_place(final_file):
             print_failure(f"Replacing content of {target_file} failed.")
             return False
     elif platform.system() == "Linux" or platform.system() == "Windows":
-
-        
         print(
             f"Replacing {target_file} requires root privileges. You might need to enter your password."
         )
         try:
-            subprocess.run(SUDO + ["cp", filename, target_file], check=True)
+            subprocess.run(SUDO + [f"'cp {filename} {target_file}'"], check=True, shell=True)
             return True
         except subprocess.CalledProcessError:
             print_failure(f"Replacing {target_file} failed.")
git clone https://git.99rst.org/PROJECT