Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit18b6aa5

Browse files
committed
add SupportsIndex to IterableList, with version import guards
1 parentf8ec952 commit18b6aa5

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

‎git/types.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,12 @@
77
fromtypingimportUnion,Any
88

99
ifsys.version_info[:2]>= (3,8):
10-
fromtypingimportFinal,Literal# noqa: F401
10+
fromtypingimportFinal,Literal,SupportsIndex# noqa: F401
1111
else:
12-
fromtyping_extensionsimportFinal,Literal# noqa: F401
12+
fromtyping_extensionsimportFinal,Literal,SupportsIndex# noqa: F401
1313

1414

15-
ifsys.version_info[:2]< (3,6):
16-
# os.PathLike (PEP-519) only got introduced with Python 3.6
17-
PathLike=str
18-
elifsys.version_info[:2]< (3,9):
15+
ifsys.version_info[:2]< (3,9):
1916
# Python >= 3.6, < 3.9
2017
PathLike=Union[str,os.PathLike]
2118
elifsys.version_info[:2]>= (3,9):

‎git/util.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
ifTYPE_CHECKING:
3030
fromgit.remoteimportRemote
3131
fromgit.repo.baseimportRepo
32-
from .typesimportPathLike,TBD,Literal
32+
from .typesimportPathLike,TBD,Literal,SupportsIndex
3333

3434
# ---------------------------------------------------------------------
3535

@@ -971,7 +971,10 @@ def __getattr__(self, attr: str) -> Any:
971971
# END for each item
972972
returnlist.__getattribute__(self,attr)
973973

974-
def__getitem__(self,index:Union[int,slice,str])->Any:# type: ignore
974+
def__getitem__(self,index:Union[SupportsIndex,int,slice,str])->Any:
975+
976+
assertisinstance(index, (int,str,slice)),"Index of IterableList should be an int or str"
977+
975978
ifisinstance(index,int):
976979
returnlist.__getitem__(self,index)
977980
elifisinstance(index,slice):
@@ -983,12 +986,13 @@ def __getitem__(self, index: Union[int, slice, str]) -> Any: # type: ignore
983986
raiseIndexError("No item found with id %r"% (self._prefix+index))frome
984987
# END handle getattr
985988

986-
def__delitem__(self,index:Union[int,str,slice])->None:# type: ignore
989+
def__delitem__(self,index:Union[SupportsIndex,int,slice,str])->Any:
990+
991+
assertisinstance(index, (int,str)),"Index of IterableList should be an int or str"
987992

988993
delindex=cast(int,index)
989994
ifnotisinstance(index,int):
990995
delindex=-1
991-
assertnotisinstance(index,slice)
992996
name=self._prefix+index
993997
fori,iteminenumerate(self):
994998
ifgetattr(item,self._id_attr)==name:

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp