Rewrite untitialized directory detection
This commit is contained in:
parent
23321bd300
commit
47db0898e2
1 changed files with 17 additions and 15 deletions
32
src/main.py
32
src/main.py
|
@ -74,28 +74,30 @@ def importBundle(bundle):
|
||||||
|
|
||||||
def init_dirs():
|
def init_dirs():
|
||||||
data_dir = config.data_dir
|
data_dir = config.data_dir
|
||||||
if not os.path.isdir(data_dir):
|
has_data_dir = os.path.isdir(data_dir)
|
||||||
|
need_bootstrap = not config.disable_bootstrap and (not has_data_dir or not os.path.isfile(f'{data_dir}/sites.json')) and not config.offline
|
||||||
|
|
||||||
|
if not has_data_dir:
|
||||||
os.mkdir(data_dir)
|
os.mkdir(data_dir)
|
||||||
try:
|
try:
|
||||||
os.chmod(data_dir, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR)
|
os.chmod(data_dir, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR)
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
startupError(f"Can't change permission of {data_dir}: {err}")
|
startupError(f"Can't change permission of {data_dir}: {err}")
|
||||||
|
|
||||||
# download latest bootstrap bundle
|
if need_bootstrap:
|
||||||
if not config.disable_bootstrap and not config.offline:
|
import requests
|
||||||
import requests
|
from io import BytesIO
|
||||||
from io import BytesIO
|
|
||||||
|
|
||||||
print(f'fetching {config.bootstrap_url}')
|
print(f'fetching {config.bootstrap_url}')
|
||||||
response = requests.get(config.bootstrap_url)
|
response = requests.get(config.bootstrap_url)
|
||||||
if response.status_code != 200:
|
if response.status_code != 200:
|
||||||
startupError(f"Cannot load bootstrap bundle (response status: {response.status_code})")
|
startupError(f"Cannot load bootstrap bundle (response status: {response.status_code})")
|
||||||
url = response.text
|
url = response.text
|
||||||
print(f'got {url}')
|
print(f'got {url}')
|
||||||
response = requests.get(url)
|
response = requests.get(url)
|
||||||
if response.status_code < 200 or response.status_code >= 300:
|
if response.status_code < 200 or response.status_code >= 300:
|
||||||
startupError(f"Cannot load boostrap bundle (response status: {response.status_code})")
|
startupError(f"Cannot load boostrap bundle (response status: {response.status_code})")
|
||||||
importBundle(BytesIO(response.content))
|
importBundle(BytesIO(response.content))
|
||||||
|
|
||||||
sites_json = f"{data_dir}/sites.json"
|
sites_json = f"{data_dir}/sites.json"
|
||||||
if not os.path.isfile(sites_json):
|
if not os.path.isfile(sites_json):
|
||||||
|
|
Loading…
Reference in a new issue