@@ -1268,7 +1268,7 @@ def add_to_collaborators(self, collaborator: str | NamedUser, permission: Opt[st
1268
1268
if isinstance (collaborator , github .NamedUser .NamedUser ):
1269
1269
collaborator = collaborator ._identity
1270
1270
else :
1271
- collaborator = urllib .parse .quote (collaborator )
1271
+ collaborator = urllib .parse .quote (collaborator , safe = "" )
1272
1272
1273
1273
if is_defined (permission ):
1274
1274
put_parameters = {"permission" : permission }
@@ -1294,7 +1294,7 @@ def get_collaborator_permission(self, collaborator: str | NamedUser) -> str:
1294
1294
if isinstance (collaborator , github .NamedUser .NamedUser ):
1295
1295
collaborator = collaborator ._identity
1296
1296
else :
1297
- collaborator = urllib .parse .quote (collaborator )
1297
+ collaborator = urllib .parse .quote (collaborator , safe = "" )
1298
1298
headers , data = self ._requester .requestJsonAndCheck (
1299
1299
"GET" ,
1300
1300
f"{ self .url } /collaborators/{ collaborator } /permission" ,
@@ -1949,7 +1949,7 @@ def create_secret(
1949
1949
assert isinstance (unencrypted_value , str ), unencrypted_value
1950
1950
assert secret_type in ["actions" , "dependabot" ], "secret_type should be actions or dependabot"
1951
1951
1952
- secret_name = urllib .parse .quote (secret_name )
1952
+ secret_name = urllib .parse .quote (secret_name , safe = "" )
1953
1953
public_key = self .get_public_key (secret_type = secret_type )
1954
1954
payload = public_key .encrypt (unencrypted_value )
1955
1955
put_parameters = {
@@ -1997,7 +1997,7 @@ def get_secret(self, secret_name: str, secret_type: str = "actions") -> github.S
1997
1997
assert isinstance (secret_name , str ), secret_name
1998
1998
assert secret_type in ["actions" , "dependabot" ], "secret_type should be actions or dependabot"
1999
1999
2000
- secret_name = urllib .parse .quote (secret_name )
2000
+ secret_name = urllib .parse .quote (secret_name , safe = "" )
2001
2001
return github .Secret .Secret (
2002
2002
requester = self ._requester ,
2003
2003
headers = {},
@@ -2047,7 +2047,7 @@ def get_variable(self, variable_name: str) -> github.Variable.Variable:
2047
2047
:rtype: github.Variable.Variable
2048
2048
"""
2049
2049
assert isinstance (variable_name , str ), variable_name
2050
- variable_name = urllib .parse .quote (variable_name )
2050
+ variable_name = urllib .parse .quote (variable_name , safe = "" )
2051
2051
return github .Variable .Variable (
2052
2052
requester = self ._requester ,
2053
2053
headers = {},
@@ -2064,7 +2064,7 @@ def delete_secret(self, secret_name: str, secret_type: str = "actions") -> bool:
2064
2064
"""
2065
2065
assert isinstance (secret_name , str ), secret_name
2066
2066
assert secret_type in ["actions" , "dependabot" ], "secret_type should be actions or dependabot"
2067
- secret_name = urllib .parse .quote (secret_name )
2067
+ secret_name = urllib .parse .quote (secret_name , safe = "" )
2068
2068
status , headers , data = self ._requester .requestJson ("DELETE" , f"{ self .url } /{ secret_type } /secrets/{ secret_name } " )
2069
2069
return status == 204
2070
2070
@@ -2075,7 +2075,7 @@ def delete_variable(self, variable_name: str) -> bool:
2075
2075
:rtype: bool
2076
2076
"""
2077
2077
assert isinstance (variable_name , str ), variable_name
2078
- variable_name = urllib .parse .quote (variable_name )
2078
+ variable_name = urllib .parse .quote (variable_name , safe = "" )
2079
2079
status , headers , data = self ._requester .requestJson ("DELETE" , f"{ self .url } /actions/variables/{ variable_name } " )
2080
2080
return status == 204
2081
2081
@@ -2226,11 +2226,11 @@ def get_archive_link(self, archive_format: str, ref: Opt[str] = NotSet) -> str:
2226
2226
:rtype: string
2227
2227
"""
2228
2228
assert isinstance (archive_format , str ), archive_format
2229
- archive_format = urllib .parse .quote (archive_format )
2229
+ archive_format = urllib .parse .quote (archive_format , safe = "" )
2230
2230
assert is_optional (ref , str ), ref
2231
2231
url = f"{ self .url } /{ archive_format } "
2232
2232
if is_defined (ref ):
2233
- ref = urllib .parse .quote (ref )
2233
+ ref = urllib .parse .quote (ref , safe = "" )
2234
2234
url += f"/{ ref } "
2235
2235
headers , data = self ._requester .requestJsonAndCheck ("GET" , url )
2236
2236
return headers ["location" ]
@@ -3010,7 +3010,7 @@ def get_git_matching_refs(self, ref: str) -> PaginatedList[GitRef]:
3010
3010
:rtype: :class:`PaginatedList` of :class:`github.GitRef.GitRef`
3011
3011
"""
3012
3012
assert isinstance (ref , str ), ref
3013
- ref = urllib .parse .quote (ref )
3013
+ ref = urllib .parse .quote (ref , safe = "" )
3014
3014
return PaginatedList (
3015
3015
github .GitRef .GitRef ,
3016
3016
self ._requester ,
@@ -3025,7 +3025,7 @@ def get_git_tag(self, sha: str) -> GitTag:
3025
3025
:rtype: :class:`github.GitTag.GitTag`
3026
3026
"""
3027
3027
assert isinstance (sha , str ), sha
3028
- sha = urllib .parse .quote (sha )
3028
+ sha = urllib .parse .quote (sha , safe = "" )
3029
3029
headers , data = self ._requester .requestJsonAndCheck ("GET" , f"{ self .url } /git/tags/{ sha } " )
3030
3030
return github .GitTag .GitTag (self ._requester , headers , data , completed = True )
3031
3031
@@ -3256,7 +3256,9 @@ def get_label(self, name: str) -> Label:
3256
3256
:rtype: :class:`github.Label.Label`
3257
3257
"""
3258
3258
assert isinstance (name , str ), name
3259
- headers , data = self ._requester .requestJsonAndCheck ("GET" , f"{ self .url } /labels/{ urllib .parse .quote (name )} " )
3259
+ headers , data = self ._requester .requestJsonAndCheck (
3260
+ "GET" , f"{ self .url } /labels/{ urllib .parse .quote (name , safe = '' )} "
3261
+ )
3260
3262
return github .Label .Label (self ._requester , headers , data , completed = True )
3261
3263
3262
3264
def get_labels (self ) -> PaginatedList [Label ]:
@@ -3607,7 +3609,7 @@ def get_release(self, id: int | str) -> GitRelease:
3607
3609
headers , data = self ._requester .requestJsonAndCheck ("GET" , f"{ self .url } /releases/{ id } " )
3608
3610
return github .GitRelease .GitRelease (self ._requester , headers , data , completed = True )
3609
3611
elif isinstance (id , str ):
3610
- id = urllib .parse .quote (id )
3612
+ id = urllib .parse .quote (id , safe = "" )
3611
3613
headers , data = self ._requester .requestJsonAndCheck ("GET" , f"{ self .url } /releases/tags/{ id } " )
3612
3614
return github .GitRelease .GitRelease (self ._requester , headers , data , completed = True )
3613
3615
@@ -3665,7 +3667,7 @@ def get_workflow(self, id_or_file_name: str | int) -> Workflow:
3665
3667
:rtype: :class:`github.Workflow.Workflow`
3666
3668
"""
3667
3669
assert isinstance (id_or_file_name , (int , str )), id_or_file_name
3668
- id_or_file_name = urllib .parse .quote (str (id_or_file_name ))
3670
+ id_or_file_name = urllib .parse .quote (str (id_or_file_name ), safe = "" )
3669
3671
headers , data = self ._requester .requestJsonAndCheck ("GET" , f"{ self .url } /actions/workflows/{ id_or_file_name } " )
3670
3672
return github .Workflow .Workflow (self ._requester , headers , data , completed = True )
3671
3673
@@ -3755,7 +3757,7 @@ def has_in_assignees(self, assignee: str | NamedUser) -> bool:
3755
3757
if isinstance (assignee , github .NamedUser .NamedUser ):
3756
3758
assignee = assignee ._identity
3757
3759
else :
3758
- assignee = urllib .parse .quote (assignee )
3760
+ assignee = urllib .parse .quote (assignee , safe = "" )
3759
3761
3760
3762
status , headers , data = self ._requester .requestJson ("GET" , f"{ self .url } /assignees/{ assignee } " )
3761
3763
return status == 204
@@ -3771,7 +3773,7 @@ def has_in_collaborators(self, collaborator: str | NamedUser) -> bool:
3771
3773
if isinstance (collaborator , github .NamedUser .NamedUser ):
3772
3774
collaborator = collaborator ._identity
3773
3775
else :
3774
- collaborator = urllib .parse .quote (collaborator )
3776
+ collaborator = urllib .parse .quote (collaborator , safe = "" )
3775
3777
3776
3778
status , headers , data = self ._requester .requestJson ("GET" , f"{ self .url } /collaborators/{ collaborator } " )
3777
3779
return status == 204
@@ -3803,7 +3805,7 @@ def legacy_search_issues(self, state: str, keyword: str) -> list[Issue]:
3803
3805
assert isinstance (keyword , str ), keyword
3804
3806
headers , data = self ._requester .requestJsonAndCheck (
3805
3807
"GET" ,
3806
- f"/legacy/issues/search/{ self .owner .login } /{ self .name } /{ state } /{ urllib .parse .quote (keyword )} " ,
3808
+ f"/legacy/issues/search/{ self .owner .login } /{ self .name } /{ state } /{ urllib .parse .quote (keyword , safe = '' )} " ,
3807
3809
)
3808
3810
return [
3809
3811
github .Issue .Issue (
@@ -3979,7 +3981,7 @@ def remove_from_collaborators(self, collaborator: str | NamedUser) -> None:
3979
3981
if isinstance (collaborator , github .NamedUser .NamedUser ):
3980
3982
collaborator = collaborator ._identity
3981
3983
else :
3982
- collaborator = urllib .parse .quote (collaborator )
3984
+ collaborator = urllib .parse .quote (collaborator , safe = "" )
3983
3985
3984
3986
headers , data = self ._requester .requestJsonAndCheck ("DELETE" , f"{ self .url } /collaborators/{ collaborator } " )
3985
3987
@@ -4083,7 +4085,7 @@ def _hub(self, mode: str, event: str, callback: str, secret: Opt[str]) -> None:
4083
4085
assert isinstance (event , str ), event
4084
4086
assert isinstance (callback , str ), callback
4085
4087
assert is_optional (secret , str ), secret
4086
- event = urllib .parse .quote (event )
4088
+ event = urllib .parse .quote (event , safe = "" )
4087
4089
4088
4090
post_parameters = collections .OrderedDict ()
4089
4091
post_parameters ["hub.callback" ] = callback
@@ -4235,7 +4237,7 @@ def get_environment(self, environment_name: str) -> Environment:
4235
4237
:rtype: :class:`github.Environment.Environment`
4236
4238
"""
4237
4239
assert isinstance (environment_name , str ), environment_name
4238
- environment_name = urllib .parse .quote (environment_name )
4240
+ environment_name = urllib .parse .quote (environment_name , safe = "" )
4239
4241
headers , data = self ._requester .requestJsonAndCheck ("GET" , f"{ self .url } /environments/{ environment_name } " )
4240
4242
data ["environments_url" ] = f"/repositories/{ self .id } /environments"
4241
4243
return Environment (self ._requester , headers , data , completed = True )
@@ -4271,7 +4273,7 @@ def create_environment(
4271
4273
)
4272
4274
or deployment_branch_policy is None
4273
4275
)
4274
- environment_name = urllib .parse .quote (environment_name )
4276
+ environment_name = urllib .parse .quote (environment_name , safe = "" )
4275
4277
4276
4278
put_parameters = {
4277
4279
"wait_timer" : wait_timer ,
@@ -4293,7 +4295,7 @@ def delete_environment(self, environment_name: str) -> None:
4293
4295
:rtype: None
4294
4296
"""
4295
4297
assert isinstance (environment_name , str ), environment_name
4296
- environment_name = urllib .parse .quote (environment_name )
4298
+ environment_name = urllib .parse .quote (environment_name , safe = "" )
4297
4299
4298
4300
headers , data = self ._requester .requestJsonAndCheck ("DELETE" , f"{ self .url } /environments/{ environment_name } " )
4299
4301
0 commit comments