Skip to content

Commit

Permalink
fix: accept archive member in get_member
Browse files Browse the repository at this point in the history
  • Loading branch information
Ravencentric committed Aug 11, 2024
1 parent 6ebfe9c commit fb85703
Show file tree
Hide file tree
Showing 6 changed files with 10 additions and 10 deletions.
2 changes: 1 addition & 1 deletion src/archivefile/_adapters/_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ def compression_level(self) -> CompressionLevel | None: ...
@property
def adapter(self) -> str: ...

def get_member(self, member: StrPath) -> ArchiveMember: ...
def get_member(self, member: StrPath | ArchiveMember) -> ArchiveMember: ...

def get_members(self) -> Generator[ArchiveMember]: ...

Expand Down
2 changes: 1 addition & 1 deletion src/archivefile/_adapters/_rar.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ def compression_level(self) -> CompressionLevel | None:
def adapter(self) -> str:
return self.__class__.__name__

def get_member(self, member: StrPath) -> ArchiveMember:
def get_member(self, member: StrPath | ArchiveMember) -> ArchiveMember:
name = get_member_name(member)

try:
Expand Down
2 changes: 1 addition & 1 deletion src/archivefile/_adapters/_sevenzip.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ def compression_level(self) -> CompressionLevel | None:
def adapter(self) -> str:
return self.__class__.__name__

def get_member(self, member: StrPath) -> ArchiveMember:
def get_member(self, member: StrPath | ArchiveMember) -> ArchiveMember:
# Unlike the rest, SevenZip member directories do not end with `/`, so we need to strip it out
# i.e, `spam/eggs/` in a ZipFile is equivalent to `spam/eggs` in SevenZipFile
name = get_member_name(member).removesuffix("/")
Expand Down
2 changes: 1 addition & 1 deletion src/archivefile/_adapters/_tar.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ def compression_level(self) -> CompressionLevel | None:
def adapter(self) -> str:
return self.__class__.__name__

def get_member(self, member: StrPath) -> ArchiveMember:
def get_member(self, member: StrPath | ArchiveMember) -> ArchiveMember:
name = get_member_name(member)

tarinfo = self._tarfile.getmember(name)
Expand Down
2 changes: 1 addition & 1 deletion src/archivefile/_adapters/_zip.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ def compression_level(self) -> CompressionLevel | None:
def adapter(self) -> str:
return self.__class__.__name__

def get_member(self, member: StrPath) -> ArchiveMember:
def get_member(self, member: StrPath | ArchiveMember) -> ArchiveMember:
name = get_member_name(member)
zipinfo = self._zipfile.getinfo(name)

Expand Down
10 changes: 5 additions & 5 deletions src/archivefile/_core.py
Original file line number Diff line number Diff line change
Expand Up @@ -188,13 +188,13 @@ def adapter(self) -> str:
return self._adapter.adapter

@validate_call
def get_member(self, member: StrPath) -> ArchiveMember:
def get_member(self, member: StrPath | ArchiveMember) -> ArchiveMember:
"""
Retrieve an ArchiveMember object by it's name.
Parameters
----------
member : StrPath
member : StrPath | ArchiveMember
Name of the member.
Returns
Expand Down Expand Up @@ -386,7 +386,7 @@ def extract(self, member: StrPath | ArchiveMember, *, destination: StrPath = Pat
Parameters
----------
member : StrPath, ArchiveMember
member : StrPath | ArchiveMember
Name of the member or an ArchiveMember object.
destination : StrPath
The path to the directory where the member will be extracted.
Expand Down Expand Up @@ -475,7 +475,7 @@ def read_bytes(self, member: StrPath | ArchiveMember) -> bytes:
Parameters
----------
member : StrPath, ArchiveMember
member : StrPath | ArchiveMember
Name of the member or an ArchiveMember object.
Returns
Expand Down Expand Up @@ -514,7 +514,7 @@ def read_text(
Parameters
----------
member : StrPath, ArchiveMember
member : StrPath | ArchiveMember
Name of the member or an ArchiveMember object.
encoding : str, optional
Encoding used to read the file. Default is `utf-8`.
Expand Down

0 comments on commit fb85703

Please sign in to comment.