Fix windows absolute path parsing
This commit is contained in:
@@ -4,6 +4,7 @@ import urllib.parse
|
|||||||
import yaml
|
import yaml
|
||||||
from yaml.representer import Representer
|
from yaml.representer import Representer
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
import RaceRandom as random
|
import RaceRandom as random
|
||||||
from BaseClasses import LocationType, DoorType
|
from BaseClasses import LocationType, DoorType
|
||||||
@@ -334,10 +335,11 @@ class CustomSettings(object):
|
|||||||
|
|
||||||
def load_yaml(path):
|
def load_yaml(path):
|
||||||
try:
|
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)
|
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}')
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
import argparse
|
import argparse
|
||||||
import RaceRandom as random
|
import RaceRandom as random
|
||||||
|
import os
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
import urllib.request
|
import urllib.request
|
||||||
import urllib.parse
|
import urllib.parse
|
||||||
@@ -8,12 +10,13 @@ import yaml
|
|||||||
|
|
||||||
def get_weights(path):
|
def get_weights(path):
|
||||||
try:
|
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)
|
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 weights file: {e}')
|
|
||||||
|
|
||||||
|
|
||||||
def roll_settings(weights):
|
def roll_settings(weights):
|
||||||
|
|||||||
Reference in New Issue
Block a user