Updating support for --disk_layouts. It now supports file paths as well as JSON in string format via --disk_layouts=<json>
This commit is contained in:
parent
8dd097da05
commit
d6acfec799
|
|
@ -1,6 +1,7 @@
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
import pathlib
|
||||||
import time
|
import time
|
||||||
|
|
||||||
import archinstall
|
import archinstall
|
||||||
|
|
@ -52,6 +53,14 @@ def load_config():
|
||||||
if archinstall.arguments.get('servers', None) is not None:
|
if archinstall.arguments.get('servers', None) is not None:
|
||||||
archinstall.storage['_selected_servers'] = archinstall.arguments.get('servers', None)
|
archinstall.storage['_selected_servers'] = archinstall.arguments.get('servers', None)
|
||||||
if archinstall.arguments.get('disk_layouts', None) is not None:
|
if archinstall.arguments.get('disk_layouts', None) is not None:
|
||||||
|
if (dl_path := pathlib.Path(archinstall.arguments['disk_layouts'])).exists() and str(dl_path).endswith('.json'):
|
||||||
|
with open(dl_path) as fh:
|
||||||
|
archinstall.arguments['disk_layouts'] = json.load(fh)
|
||||||
|
else:
|
||||||
|
try:
|
||||||
|
archinstall.arguments['disk_layouts'] = json.loads(archinstall.arguments['disk_layouts'])
|
||||||
|
except:
|
||||||
|
raise ValueError("--disk_layouts=<json> needs either a JSON file or a JSON string given with a valid disk layout.")
|
||||||
archinstall.storage['disk_layouts'] = {archinstall.BlockDevice(disk) : struct for disk, struct in archinstall.arguments['disk_layouts']}
|
archinstall.storage['disk_layouts'] = {archinstall.BlockDevice(disk) : struct for disk, struct in archinstall.arguments['disk_layouts']}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue