diff --git a/src/web/ractl_cmds.py b/src/web/ractl_cmds.py index f62c9881..487a6673 100644 --- a/src/web/ractl_cmds.py +++ b/src/web/ractl_cmds.py @@ -13,6 +13,7 @@ def get_server_info(): - list of str log_levels (the log levels RaSCSI supports) - str current_log_level - list of int reserved_ids + - 5 distinct lists of strs with file endings recognized by RaSCSI """ command = proto.PbCommand() command.operation = proto.PbOperation.SERVER_INFO @@ -26,12 +27,37 @@ def get_server_info(): log_levels = result.server_info.log_levels current_log_level = result.server_info.current_log_level reserved_ids = list(result.server_info.reserved_ids) + + # Creates lists of file endings recognized by RaSCSI + mappings = result.server_info.mapping_info.mapping + sahd = [] + schd = [] + scrm = [] + scmo = [] + sccd = [] + for m in mappings: + if mappings[m] == proto.PbDeviceType.SAHD: + sahd.append(m) + elif mappings[m] == proto.PbDeviceType.SCHD: + schd.append(m) + elif mappings[m] == proto.PbDeviceType.SCRM: + scrm.append(m) + elif mappings[m] == proto.PbDeviceType.SCMO: + scmo.append(m) + elif mappings[m] == proto.PbDeviceType.SCCD: + sccd.append(m) + return { "status": result.status, "version": version, "log_levels": log_levels, "current_log_level": current_log_level, - "reserved_ids": reserved_ids + "reserved_ids": reserved_ids, + "sahd": sahd, + "schd": schd, + "scrm": scrm, + "scmo": scmo, + "sccd": sccd, } diff --git a/src/web/settings.py b/src/web/settings.py index 2075ba7d..44f38669 100644 --- a/src/web/settings.py +++ b/src/web/settings.py @@ -6,15 +6,7 @@ home_dir = getcwd() DEFAULT_CONFIG = "default.json" MAX_FILE_SIZE = getenv("MAX_FILE_SIZE", 1024 * 1024 * 1024 * 4) # 4gb -HARDDRIVE_FILE_SUFFIX = ("hda", "hdn", "hdi", "nhd", "hdf", "hds") -SASI_FILE_SUFFIX = ("hdf",) -REMOVABLE_FILE_SUFFIX = ("hdr",) -CDROM_FILE_SUFFIX = ("iso",) -MO_FILE_SUFFIX = ("mos",) ARCHIVE_FILE_SUFFIX = ("zip",) -VALID_FILE_SUFFIX = HARDDRIVE_FILE_SUFFIX + SASI_FILE_SUFFIX + \ - REMOVABLE_FILE_SUFFIX + CDROM_FILE_SUFFIX + \ - MO_FILE_SUFFIX + ARCHIVE_FILE_SUFFIX # File containing canonical drive properties DRIVE_PROPERTIES_FILE = home_dir + "/drive_properties.json" diff --git a/src/web/templates/base.html b/src/web/templates/base.html index 8c95e7fd..751040cb 100644 --- a/src/web/templates/base.html +++ b/src/web/templates/base.html @@ -53,7 +53,7 @@ {% block content %}{% endblock %} diff --git a/src/web/templates/index.html b/src/web/templates/index.html index ffcbeb5c..530277c3 100644 --- a/src/web/templates/index.html +++ b/src/web/templates/index.html @@ -355,8 +355,8 @@
diff --git a/src/web/web.py b/src/web/web.py index b5796ce5..5ad4e830 100644 --- a/src/web/web.py +++ b/src/web/web.py @@ -67,6 +67,16 @@ def index(): formatted_devices = sort_and_format_devices(devices["device_list"]) scsi_ids = get_valid_scsi_ids(devices["device_list"], reserved_scsi_ids) + valid_file_suffix = "."+", .".join( + server_info["sahd"] + + server_info["schd"] + + server_info["scrm"] + + server_info["scmo"] + + server_info["sccd"] + + list(ARCHIVE_FILE_SUFFIX) + ) + + return render_template( "index.html", bridge_configured=is_bridge_setup(), @@ -78,16 +88,14 @@ def index(): reserved_scsi_ids=reserved_scsi_ids, max_file_size=int(MAX_FILE_SIZE / 1024 / 1024), running_env=running_env(), - server_info=server_info, + version=server_info["version"], + log_levels=server_info["log_levels"], + current_log_level=server_info["current_log_level"], netinfo=get_network_info(), device_types=device_types["device_types"], free_disk=int(disk["free"] / 1024 / 1024), - valid_file_suffix="."+", .".join(VALID_FILE_SUFFIX), + valid_file_suffix=valid_file_suffix, removable_device_types=REMOVABLE_DEVICE_TYPES, - harddrive_file_suffix=HARDDRIVE_FILE_SUFFIX, - cdrom_file_suffix=CDROM_FILE_SUFFIX, - removable_file_suffix=REMOVABLE_FILE_SUFFIX, - archive_file_suffix=ARCHIVE_FILE_SUFFIX, ) @@ -145,9 +153,9 @@ def drive_list(): cd_conf=cd_conf, rm_conf=rm_conf, running_env=running_env(), - server_info=server_info, + version=server_info["version"], free_disk=int(disk["free"] / 1024 / 1024), - cdrom_file_suffix=CDROM_FILE_SUFFIX, + cdrom_file_suffix=tuple(server_info["sccd"]), )