fatfsgen.py: enable multiple dots in the long file name

This commit is contained in:
Martin Gaňo
2022-09-14 12:26:25 +02:00
parent 952c0f7b23
commit 53c2ea2d08
3 changed files with 13 additions and 7 deletions

View File

@@ -12,8 +12,8 @@ from .fatfs_state import FATFSState
from .long_filename_utils import (build_lfn_full_name, build_lfn_unique_entry_name_order,
get_required_lfn_entries_count, split_name_to_lfn_entries,
split_name_to_lfn_entry_blocks)
from .utils import (DATETIME, MAX_EXT_SIZE, MAX_NAME_SIZE, FATDefaults, build_lfn_short_entry_name, lfn_checksum,
required_clusters_count, split_content_into_sectors, split_to_name_and_extension)
from .utils import (DATETIME, MAX_EXT_SIZE, MAX_NAME_SIZE, FATDefaults, build_lfn_short_entry_name, build_name,
lfn_checksum, required_clusters_count, split_content_into_sectors, split_to_name_and_extension)
class File:
@@ -45,7 +45,8 @@ class File:
self._first_cluster = value
def name_equals(self, name: str, extension: str) -> bool:
return self.name == name and self.extension == extension
equals_: bool = build_name(name, extension) == build_name(self.name, self.extension)
return equals_
def write(self, content: bytes) -> None:
self.entry.update_content_size(len(content))
@@ -112,7 +113,8 @@ class Directory:
self._first_cluster = value
def name_equals(self, name: str, extension: str) -> bool:
return self.name == name and self.extension == extension
equals_: bool = build_name(name, extension) == build_name(self.name, self.extension)
return equals_
@property
def entries_count(self) -> int:
@@ -141,7 +143,7 @@ class Directory:
def lookup_entity(self, object_name: str, extension: str): # type: ignore
for entity in self.entities:
if entity.name == object_name and entity.extension == extension:
if build_name(entity.name, entity.extension) == build_name(object_name, extension):
return entity
return None