1
0
mirror of https://github.com/EDCD/EDMarketConnector.git synced 2025-06-01 16:11:18 +03:00

Merge pull request #2225 from HullSeals/enhancement/1268/use-is_reserved

[1268] Handover to Path.is_reserved()
This commit is contained in:
David Sangrey 2024-05-02 20:06:26 -04:00 committed by GitHub
commit 5810d323e2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -5,18 +5,21 @@ Copyright (c) EDCD, All Rights Reserved
Licensed under the GNU General Public License. Licensed under the GNU General Public License.
See LICENSE file. See LICENSE file.
""" """
from pathlib import Path
from edmc_data import ship_name_map from edmc_data import ship_name_map
def ship_file_name(ship_name: str, ship_type: str) -> str: def ship_file_name(ship_name: str, ship_type: str) -> str:
"""Return a ship name suitable for a filename.""" """Return a ship name suitable for a filename."""
name = str(ship_name or ship_name_map.get(ship_type.lower(), ship_type)).strip() name = str(ship_name or ship_name_map.get(ship_type.lower(), ship_type)).strip()
if name.endswith('.'):
name = name[:-2]
if name.lower() in ('con', 'prn', 'aux', 'nul', # Handle suffix using Pathlib's with_suffix method
'com0', 'com2', 'com3', 'com4', 'com5', 'com6', 'com7', 'com8', 'com9', name = Path(name).with_suffix("").name
'lpt0', 'lpt2', 'lpt3', 'lpt4', 'lpt5', 'lpt6', 'lpt7', 'lpt8', 'lpt9'):
name += '_'
return name.translate({ord(x): '_' for x in ('\0', '<', '>', ':', '"', '/', '\\', '|', '?', '*')}) # Check if the name is a reserved filename
if Path(name).is_reserved():
name += "_"
return name.translate(
{ord(x): "_" for x in ("\0", "<", ">", ":", '"', "/", "\\", "|", "?", "*")}
)