Removed unreliable find_examples() and will use list_profiles() instead, as it covers a wider range of profiles and search area.
This commit is contained in:
parent
4f2a6372f6
commit
9db54786f0
|
|
@ -64,25 +64,10 @@ def list_profiles(filter_irrelevant_macs=True):
|
|||
|
||||
return cache
|
||||
|
||||
def find_examples():
|
||||
"""
|
||||
Used to locate the examples, bundled with the module or executable.
|
||||
|
||||
:return: {'guided.py' : './examples/guided.py', '<profile #2>' : '<path #2>'}
|
||||
:rtype: dict
|
||||
"""
|
||||
|
||||
# We need to traverse backwards one step with /../ because
|
||||
# We're living in src/lib/ and we're not executing from src/ anymore.
|
||||
cwd = os.path.abspath(f'{os.path.dirname(__file__)}/../')
|
||||
examples = f"{cwd}/examples"
|
||||
|
||||
return {os.path.basename(path): path for path in glob.glob(f'{examples}/*.py')}
|
||||
|
||||
def find_installation_script(profile):
|
||||
parsed_url = urllib.parse.urlparse(profile)
|
||||
if not parsed_url.scheme:
|
||||
examples = find_examples()
|
||||
examples = list_profiles()
|
||||
if f"{profile}.py" in examples:
|
||||
with open(examples[f"{profile}.py"]) as file:
|
||||
return Script(file.read(), filename=os.path.basename(profile)+".py")
|
||||
|
|
|
|||
|
|
@ -1,5 +1,15 @@
|
|||
storage = {}
|
||||
|
||||
PROFILE_PATH = ['./profiles', '~/.config/archinstall/profiles', os.path.join(os.path.dirname(os.path.abspath(__file__)), 'profiles')]
|
||||
# There's a few scenarios of execution:
|
||||
# 1. In the git repository, where ./profiles/ exist
|
||||
# 2. When executing from a remote directory, but targeted a script that starts from the git repository
|
||||
# 3. When executing as a python -m archinstall module where profiles exist one step back for library reasons.
|
||||
# (4. Added the ~/.config directory as a additional option for future reasons)
|
||||
PROFILE_PATH = [
|
||||
'./profiles',
|
||||
'~/.config/archinstall/profiles',
|
||||
os.path.join(os.path.dirname(os.path.abspath(__file__)), 'profiles'),
|
||||
os.path.abspath(f'{os.path.dirname(__file__)}/../examples')
|
||||
]
|
||||
UPSTREAM_URL = 'https://raw.githubusercontent.com/Torxed/archinstall/master/profiles'
|
||||
PROFILE_DB = None # Used in cases when listing profiles is desired, not mandatory for direct profile grabing.
|
||||
Loading…
Reference in New Issue