mirror of https://github.com/akuker/RASCSI.git
Create a mapping of human-readable and internationalized device names. Use this in the image file management UI instead of the internal acronyms. Also remove the hard-coded helptext for device types. (#655)
This commit is contained in:
parent
5c0d6fc7e9
commit
91cc0e836a
|
@ -2,6 +2,8 @@
|
||||||
Module for RaSCSI device management utility methods
|
Module for RaSCSI device management utility methods
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
from flask_babel import _
|
||||||
|
|
||||||
|
|
||||||
def get_valid_scsi_ids(devices, reserved_ids):
|
def get_valid_scsi_ids(devices, reserved_ids):
|
||||||
"""
|
"""
|
||||||
|
@ -48,3 +50,31 @@ def sort_and_format_devices(devices):
|
||||||
formatted_devices.sort(key=lambda dic: str(dic["id"]))
|
formatted_devices.sort(key=lambda dic: str(dic["id"]))
|
||||||
|
|
||||||
return formatted_devices
|
return formatted_devices
|
||||||
|
|
||||||
|
|
||||||
|
def extend_device_names(device_types):
|
||||||
|
"""
|
||||||
|
Takes a (list) of (str) device_types with the four letter device acronyms
|
||||||
|
Returns a (dict) of device_type:device_name mappings of localized device names
|
||||||
|
"""
|
||||||
|
mapped_device_types = []
|
||||||
|
for device_type in device_types:
|
||||||
|
if device_type is "SAHD":
|
||||||
|
device_name = _("SASI Hard Drive")
|
||||||
|
elif device_type is "SCHD":
|
||||||
|
device_name = _("SCSI Hard Drive")
|
||||||
|
elif device_type is "SCRM":
|
||||||
|
device_name = _("Removable Drive")
|
||||||
|
elif device_type is "SCMO":
|
||||||
|
device_name = _("Magneto-Optical Drive")
|
||||||
|
elif device_type is "SCCD":
|
||||||
|
device_name = _("CD-ROM Drive")
|
||||||
|
elif device_type is "SCBR":
|
||||||
|
device_name = _("X68000 Host Bridge")
|
||||||
|
elif device_type is "SCDP":
|
||||||
|
device_name = _("DaynaPORT SCSI/Link")
|
||||||
|
else:
|
||||||
|
device_name = _("Unknown Device")
|
||||||
|
mapped_device_types.append({device_type: device_name})
|
||||||
|
|
||||||
|
return mapped_device_types
|
||||||
|
|
|
@ -156,7 +156,6 @@
|
||||||
<li>{{ _("Select a valid SCSI ID and <a href=\"%(url)s\">LUN</a> to attach to. Unless you know what you're doing, always use LUN 0.", url="https://en.wikipedia.org/wiki/Logical_unit_number") }}
|
<li>{{ _("Select a valid SCSI ID and <a href=\"%(url)s\">LUN</a> to attach to. Unless you know what you're doing, always use LUN 0.", url="https://en.wikipedia.org/wiki/Logical_unit_number") }}
|
||||||
</li>
|
</li>
|
||||||
<li>{{ _("If RaSCSI was unable to detect the device type associated with the image, you can choose the type from the dropdown.") }}</li>
|
<li>{{ _("If RaSCSI was unable to detect the device type associated with the image, you can choose the type from the dropdown.") }}</li>
|
||||||
<li>{{ _("Types: SAHD = SASI HDD | SCHD = SCSI HDD | SCRM = Removable | SCMO = Magneto-Optical | SCCD = CD-ROM | SCBR = Host Bridge | SCDP = DaynaPORT") }}</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
@ -250,7 +249,7 @@
|
||||||
<input name="file_name" type="hidden" value="{{ file['name'] }}">
|
<input name="file_name" type="hidden" value="{{ file['name'] }}">
|
||||||
<input name="file_size" type="hidden" value="{{ file['size'] }}">
|
<input name="file_size" type="hidden" value="{{ file['size'] }}">
|
||||||
<label for="id">{{ _("ID") }}</label>
|
<label for="id">{{ _("ID") }}</label>
|
||||||
<select name="scsi_id">
|
<select name="scsi_id">
|
||||||
{% for id in scsi_ids %}
|
{% for id in scsi_ids %}
|
||||||
<option name="id" value="{{id}}"{% if id == recommended_id %} selected{% endif %}>
|
<option name="id" value="{{id}}"{% if id == recommended_id %} selected{% endif %}>
|
||||||
{{ id }}
|
{{ id }}
|
||||||
|
@ -261,19 +260,29 @@
|
||||||
<input name="unit" type="number" size="2" value="0" min="0" max="31">
|
<input name="unit" type="number" size="2" value="0" min="0" max="31">
|
||||||
{% if file["detected_type"] != "UNDEFINED" %}
|
{% if file["detected_type"] != "UNDEFINED" %}
|
||||||
<input name="type" type="hidden" value="{{ file['detected_type'] }}">
|
<input name="type" type="hidden" value="{{ file['detected_type'] }}">
|
||||||
{{ file["detected_type"] }}
|
{% for device in device_types %}
|
||||||
|
{% for key, value in device.items() %}
|
||||||
|
{% if file["detected_type"] == key %}
|
||||||
|
{{ value }}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<select name="type">
|
<select name="type">
|
||||||
<option selected value="">
|
<option selected value="">
|
||||||
{{ _("Type") }}
|
{{ _("Type") }}
|
||||||
</option>
|
</option>
|
||||||
{% for d in device_types %}
|
{% for device in device_types %}
|
||||||
<option value="{{ d }}">
|
{% for key, value in device.items() %}
|
||||||
{{ d }}
|
{% if key not in ("SCBR", "SCDP") %}
|
||||||
|
<option value="{{ key }}">
|
||||||
|
{{ value }}
|
||||||
</option>
|
</option>
|
||||||
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
{% endfor %}
|
||||||
|
</select>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</select>
|
|
||||||
<input type="submit" value="{{ _("Attach") }}">
|
<input type="submit" value="{{ _("Attach") }}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</form>
|
</form>
|
||||||
|
|
|
@ -35,6 +35,7 @@ from pi_cmds import (
|
||||||
from device_utils import (
|
from device_utils import (
|
||||||
sort_and_format_devices,
|
sort_and_format_devices,
|
||||||
get_valid_scsi_ids,
|
get_valid_scsi_ids,
|
||||||
|
extend_device_names,
|
||||||
)
|
)
|
||||||
from return_code_mapper import ReturnCodeMapper
|
from return_code_mapper import ReturnCodeMapper
|
||||||
|
|
||||||
|
@ -116,6 +117,7 @@ def index():
|
||||||
|
|
||||||
sorted_image_files = sorted(image_files["files"], key=lambda x: x["name"].lower())
|
sorted_image_files = sorted(image_files["files"], key=lambda x: x["name"].lower())
|
||||||
sorted_config_files = sorted(config_files, key=lambda x: x.lower())
|
sorted_config_files = sorted(config_files, key=lambda x: x.lower())
|
||||||
|
mapped_device_types = extend_device_names(device_types["device_types"])
|
||||||
|
|
||||||
attached_images = []
|
attached_images = []
|
||||||
units = 0
|
units = 0
|
||||||
|
@ -168,7 +170,7 @@ def index():
|
||||||
log_levels=server_info["log_levels"],
|
log_levels=server_info["log_levels"],
|
||||||
current_log_level=server_info["current_log_level"],
|
current_log_level=server_info["current_log_level"],
|
||||||
netinfo=ractl.get_network_info(),
|
netinfo=ractl.get_network_info(),
|
||||||
device_types=device_types["device_types"],
|
device_types=mapped_device_types,
|
||||||
free_disk=int(disk["free"] / 1024 / 1024),
|
free_disk=int(disk["free"] / 1024 / 1024),
|
||||||
valid_file_suffix=valid_file_suffix,
|
valid_file_suffix=valid_file_suffix,
|
||||||
cdrom_file_suffix=tuple(server_info["sccd"]),
|
cdrom_file_suffix=tuple(server_info["sccd"]),
|
||||||
|
|
Loading…
Reference in New Issue