Fix windows absolute path parsing

This commit is contained in:
aerinon
2022-05-19 10:28:19 -06:00
parent 9a6b7c624d
commit 041443be3d
2 changed files with 15 additions and 10 deletions

View File

@@ -4,6 +4,7 @@ import urllib.parse
import yaml
from yaml.representer import Representer
from collections import defaultdict
from pathlib import Path
import RaceRandom as random
from BaseClasses import LocationType, DoorType
@@ -334,10 +335,11 @@ class CustomSettings(object):
def load_yaml(path):
try:
if urllib.parse.urlparse(path).scheme:
return yaml.load(path, Loader=yaml.SafeLoader)
except yaml.YAMLError as exc:
if os.path.exists(Path(path)):
with open(path, "r", encoding="utf-8") as f:
return yaml.load(f, Loader=yaml.SafeLoader)
elif urllib.parse.urlparse(path).scheme in ['http', 'https']:
return yaml.load(urllib.request.urlopen(path), Loader=yaml.FullLoader)
with open(path, 'r', encoding='utf-8') as f:
return yaml.load(f, Loader=yaml.SafeLoader)
except Exception as e:
raise Exception(f'Failed to read customizer file: {e}')