|
|
@ -4,7 +4,7 @@ import re |
|
|
|
import threading |
|
|
|
import threading |
|
|
|
import time |
|
|
|
import time |
|
|
|
import urllib.request |
|
|
|
import urllib.request |
|
|
|
import urllib.parse |
|
|
|
from urllib.parse import urlparse |
|
|
|
from enum import IntEnum |
|
|
|
from enum import IntEnum |
|
|
|
import shutil |
|
|
|
import shutil |
|
|
|
|
|
|
|
|
|
|
@ -324,12 +324,9 @@ class Setup(Widget): |
|
|
|
if re.match("^([^/.]+)/([^/]+)$", url): |
|
|
|
if re.match("^([^/.]+)/([^/]+)$", url): |
|
|
|
url = f"https://installer.comma.ai/{url}" |
|
|
|
url = f"https://installer.comma.ai/{url}" |
|
|
|
|
|
|
|
|
|
|
|
parsed = urllib.parse.urlparse(url, scheme='https') |
|
|
|
parsed = urlparse(url, scheme='https') |
|
|
|
if not parsed.netloc: |
|
|
|
self.download_url = (urlparse(f"https://{url}") if not parsed.netloc else parsed).geturl() |
|
|
|
parsed = urllib.parse.urlparse(f"{'https'}://{url}") |
|
|
|
|
|
|
|
url = urllib.parse.urlunparse(parsed) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
self.download_url = url |
|
|
|
|
|
|
|
self.state = SetupState.DOWNLOADING |
|
|
|
self.state = SetupState.DOWNLOADING |
|
|
|
|
|
|
|
|
|
|
|
self.download_thread = threading.Thread(target=self._download_thread, daemon=True) |
|
|
|
self.download_thread = threading.Thread(target=self._download_thread, daemon=True) |
|
|
|