windows = ['Windows', 'NTFS', 'FAT32', 'exFAT', 'ReFS'] linux = ['Linux', 'ext2', 'ext3', 'ext4', 'Btrfs', 'XFS', 'ZFS'] macOS = ['macOS', 'APFS', 'HFS+'] bsd_unix = ['BSD', 'UFS'] network_filesystems = ['CIFS', 'SMB'] windows_translation = str.maketrans({ '\\': '', '/': '', '?': '', ':': '', '*': '', '"': '', '<': '', '>': '', '|': '', }) linux_translation = str.maketrans({ '/': '', }) macos_translation = str.maketrans({ '/': '', }) bsd_translation = str.maketrans({ '/': '', }) network_filesystems_translation = str.maketrans({ '\\': '', '/': '', '?': '', ':': '', '*': '', '"': '', '<': '', '>': '', '|': '', }) def file_system_verify(file_type) -> dict: """ Returns a translation table to remove invalid characters for a specified file system type. This function identifies the file system type and returns a translation table for removing characters that are not allowed in filenames for that specific file system. Args: file_type (str): The type of file system being checked. Supported file systems include: - Windows: NTFS, FAT32, exFAT, ReFS - Linux: ext2, ext3, ext4, Btrfs, XFS, ZFS - macOS: APFS, HFS+ - BSD/UNIX: UFS - Network Filesystems: CIFS, SMB Returns: dict: A translation table where invalid characters are mapped to an empty string. Example: >>> ys = yt.streams.get_highest_resolution() >>> ys.download(file_system='ext4') Raises: None, but prints a message if the file system type is not recognized. """ if file_type in windows: return windows_translation elif file_type in linux: return linux_translation elif file_type in macOS: return macos_translation elif file_type in bsd_unix: return bsd_translation elif file_type in network_filesystems: return network_filesystems_translation