@@ -64,30 +64,21 @@ def __init__(
6464 a path. This mode implies MODE_MEMORY.
6565
6666 """
67- filename: Any
6867 if (mode == MODE_AUTO and mmap) or mode == MODE_MMAP:
6968 with open(database, "rb") as db_file: # type: ignore[arg-type]
7069 self._buffer = mmap.mmap(db_file.fileno(), 0, access=mmap.ACCESS_READ)
7170 self._buffer_size = self._buffer.size()
72- filename = database
7371 elif mode in (MODE_AUTO, MODE_FILE):
7472 self._buffer = FileBuffer(database) # type: ignore[arg-type]
7573 self._buffer_size = self._buffer.size()
76- filename = database
7774 elif mode == MODE_MEMORY:
7875 with open(database, "rb") as db_file: # type: ignore[arg-type]
7976 buf = db_file.read()
8077 self._buffer = buf
8178 self._buffer_size = len(buf)
82- filename = database
8379 elif mode == MODE_FD:
8480 self._buffer = database.read() # type: ignore[union-attr]
8581 self._buffer_size = len(self._buffer) # type: ignore[arg-type]
86- # io buffers are not guaranteed to have a name attribute
87- if hasattr(database, "name"):
88- filename = database.name # type: ignore[union-attr]
89- else:
90- filename = f"<{type(database)}>"
9182 else:
9283 msg = (
9384 f"Unsupported open mode ({mode}). Only MODE_AUTO, MODE_FILE, "
@@ -97,6 +88,8 @@ def __init__(
9788 raise ValueError(
9889 msg,
9990 )
91+ # io buffers are not guaranteed to have a name attribute
92+ filename = database.name if hasattr(database, "name") else f"<{type(database)}>"
10093
10194 metadata_start = self._buffer.rfind(
10295 self._METADATA_START_MARKER,
0 commit comments