Skip to content

Commit 3dd6d38

Browse files
authored
Fix back compat issues (#688)
1 parent 20233a6 commit 3dd6d38

File tree

14 files changed

+386
-265
lines changed

14 files changed

+386
-265
lines changed

kaggle/api/kaggle_api_extended.py

Lines changed: 186 additions & 202 deletions
Large diffs are not rendered by default.

kagglesdk/admin/types/inbox_file_service.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ def blob_file_token(self, blob_file_token: str):
4242
raise TypeError('blob_file_token must be of type str')
4343
self._blob_file_token = blob_file_token
4444

45-
4645
def endpoint(self):
4746
path = '/api/v1/inbox/files/create'
4847
return path.format_map(self.to_field_map(self))
@@ -56,6 +55,7 @@ def method():
5655
def body_fields():
5756
return '*'
5857

58+
5959
class CreateInboxFileResponse(KaggleObject):
6060
r"""
6161
NOTE: This is sent to non-admins, so we're intentionally *NOT* sending back

kagglesdk/blobs/types/blob_api_service.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,6 @@ def last_modified_epoch_seconds(self, last_modified_epoch_seconds: int):
101101
raise TypeError('last_modified_epoch_seconds must be of type int')
102102
self._last_modified_epoch_seconds = last_modified_epoch_seconds
103103

104-
105104
def endpoint(self):
106105
path = '/api/v1/blobs/upload'
107106
return path.format_map(self.to_field_map(self))
@@ -115,6 +114,7 @@ def method():
115114
def body_fields():
116115
return '*'
117116

117+
118118
class ApiStartBlobUploadResponse(KaggleObject):
119119
r"""
120120
Attributes:
@@ -157,6 +157,10 @@ def create_url(self, create_url: str):
157157
raise TypeError('create_url must be of type str')
158158
self._create_url = create_url
159159

160+
@property
161+
def createUrl(self):
162+
return self.create_url
163+
160164

161165
ApiStartBlobUploadRequest._fields = [
162166
FieldMetadata("type", "type", "_type", ApiBlobType, ApiBlobType.API_BLOB_TYPE_UNSPECIFIED, EnumSerializer()),

kagglesdk/common/types/file_download.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,11 @@ def content_length(self, content_length: int):
8888
raise TypeError('content_length must be of type int')
8989
self._content_length = content_length
9090

91-
9291
@classmethod
9392
def prepare_from(cls, http_response):
9493
return http_response
9594

95+
9696
FileDownload._fields = [
9797
FieldMetadata("contentType", "content_type", "_content_type", str, "", PredefinedSerializer()),
9898
FieldMetadata("fileName", "file_name", "_file_name", str, "", PredefinedSerializer()),

kagglesdk/common/types/http_redirect.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,11 @@ def expiry(self, expiry: timedelta):
9191
raise TypeError('expiry must be of type timedelta')
9292
self._expiry = expiry
9393

94-
9594
@classmethod
9695
def prepare_from(cls, http_response):
9796
return http_response
9897

98+
9999
HttpRedirect._fields = [
100100
FieldMetadata("url", "url", "_url", str, "", PredefinedSerializer()),
101101
FieldMetadata("permanent", "permanent", "_permanent", bool, False, PredefinedSerializer()),

kagglesdk/competitions/types/competition_api_service.py

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ def submission_description(self, submission_description: str):
6363
raise TypeError('submission_description must be of type str')
6464
self._submission_description = submission_description
6565

66-
6766
def endpoint(self):
6867
path = '/api/v1/competitions/submissions/submit/{competition_name}'
6968
return path.format_map(self.to_field_map(self))
@@ -73,6 +72,7 @@ def endpoint(self):
7372
def method():
7473
return 'POST'
7574

75+
7676
class ApiCreateSubmissionResponse(KaggleObject):
7777
r"""
7878
Attributes:
@@ -160,7 +160,6 @@ def file_name(self, file_name: str):
160160
raise TypeError('file_name must be of type str')
161161
self._file_name = file_name
162162

163-
164163
def endpoint(self):
165164
path = '/api/v1/competitions/data/download/{competition_name}/{file_name}'
166165
return path.format_map(self.to_field_map(self))
@@ -169,6 +168,7 @@ def endpoint(self):
169168
def endpoint_path():
170169
return '/api/v1/competitions/data/download/{competition_name}/{file_name}'
171170

171+
172172
class ApiDownloadDataFilesRequest(KaggleObject):
173173
r"""
174174
Attributes:
@@ -194,7 +194,6 @@ def competition_name(self, competition_name: str):
194194
raise TypeError('competition_name must be of type str')
195195
self._competition_name = competition_name
196196

197-
198197
def endpoint(self):
199198
path = '/api/v1/competitions/data/download-all/{competition_name}'
200199
return path.format_map(self.to_field_map(self))
@@ -203,6 +202,7 @@ def endpoint(self):
203202
def endpoint_path():
204203
return '/api/v1/competitions/data/download-all/{competition_name}'
205204

205+
206206
class ApiDownloadLeaderboardRequest(KaggleObject):
207207
r"""
208208
Attributes:
@@ -226,7 +226,6 @@ def competition_name(self, competition_name: str):
226226
raise TypeError('competition_name must be of type str')
227227
self._competition_name = competition_name
228228

229-
230229
def endpoint(self):
231230
path = '/api/v1/competitions/{competition_name}/leaderboard/download'
232231
return path.format_map(self.to_field_map(self))
@@ -235,6 +234,7 @@ def endpoint(self):
235234
def endpoint_path():
236235
return '/api/v1/competitions/{competition_name}/leaderboard/download'
237236

237+
238238
class ApiGetLeaderboardRequest(KaggleObject):
239239
r"""
240240
Attributes:
@@ -283,7 +283,6 @@ def override_public(self, override_public: bool):
283283
raise TypeError('override_public must be of type bool')
284284
self._override_public = override_public
285285

286-
287286
def endpoint(self):
288287
path = '/api/v1/competitions/{competition_name}/leaderboard/view'
289288
return path.format_map(self.to_field_map(self))
@@ -292,6 +291,7 @@ def endpoint(self):
292291
def endpoint_path():
293292
return '/api/v1/competitions/{competition_name}/leaderboard/view'
294293

294+
295295
class ApiGetLeaderboardResponse(KaggleObject):
296296
r"""
297297
Attributes:
@@ -343,7 +343,6 @@ def ref(self, ref: int):
343343
raise TypeError('ref must be of type int')
344344
self._ref = ref
345345

346-
347346
def endpoint(self):
348347
path = '/api/v1/competitions/submissions/get/{ref}'
349348
return path.format_map(self.to_field_map(self))
@@ -353,6 +352,7 @@ def endpoint(self):
353352
def method():
354353
return 'POST'
355354

355+
356356
class ApiLeaderboardSubmission(KaggleObject):
357357
r"""
358358
Attributes:
@@ -531,11 +531,11 @@ def page(self, page: int):
531531
raise TypeError('page must be of type int')
532532
self._page = page
533533

534-
535534
def endpoint(self):
536535
path = '/api/v1/competitions/list'
537536
return path.format_map(self.to_field_map(self))
538537

538+
539539
class ApiListCompetitionsResponse(KaggleObject):
540540
r"""
541541
Attributes:
@@ -561,11 +561,11 @@ def competitions(self, competitions: Optional[List[Optional['ApiCompetition']]])
561561
raise TypeError('competitions must contain only items of type ApiCompetition')
562562
self._competitions = competitions
563563

564-
565564
@classmethod
566565
def prepare_from(cls, http_response):
567566
return cls.from_dict({'competitions': json.loads(http_response.text)})
568567

568+
569569
class ApiListDataFilesRequest(KaggleObject):
570570
r"""
571571
Attributes:
@@ -621,7 +621,6 @@ def page_token(self, page_token: str):
621621
raise TypeError('page_token must be of type str')
622622
self._page_token = page_token
623623

624-
625624
def endpoint(self):
626625
path = '/api/v1/competitions/data/list/{competition_name}'
627626
return path.format_map(self.to_field_map(self))
@@ -630,6 +629,7 @@ def endpoint(self):
630629
def endpoint_path():
631630
return '/api/v1/competitions/data/list/{competition_name}'
632631

632+
633633
class ApiListDataFilesResponse(KaggleObject):
634634
r"""
635635
Attributes:
@@ -670,6 +670,10 @@ def next_page_token(self, next_page_token: str):
670670
raise TypeError('next_page_token must be of type str')
671671
self._next_page_token = next_page_token
672672

673+
@property
674+
def nextPageToken(self):
675+
return self.next_page_token
676+
673677

674678
class ApiListSubmissionsRequest(KaggleObject):
675679
r"""
@@ -739,7 +743,6 @@ def page(self, page: int):
739743
raise TypeError('page must be of type int')
740744
self._page = page
741745

742-
743746
def endpoint(self):
744747
path = '/api/v1/competitions/submissions/list/{competition_name}'
745748
return path.format_map(self.to_field_map(self))
@@ -748,6 +751,7 @@ def endpoint(self):
748751
def endpoint_path():
749752
return '/api/v1/competitions/submissions/list/{competition_name}'
750753

754+
751755
class ApiListSubmissionsResponse(KaggleObject):
752756
r"""
753757
Attributes:
@@ -773,11 +777,11 @@ def submissions(self, submissions: Optional[List[Optional['ApiSubmission']]]):
773777
raise TypeError('submissions must contain only items of type ApiSubmission')
774778
self._submissions = submissions
775779

776-
777780
@classmethod
778781
def prepare_from(cls, http_response):
779782
return cls.from_dict({'submissions': json.loads(http_response.text)})
780783

784+
781785
class ApiStartSubmissionUploadRequest(KaggleObject):
782786
r"""
783787
Attributes:
@@ -848,7 +852,6 @@ def file_name(self, file_name: str):
848852
raise TypeError('file_name must be of type str')
849853
self._file_name = file_name
850854

851-
852855
def endpoint(self):
853856
path = '/api/v1/competitions/submission-url'
854857
return path.format_map(self.to_field_map(self))
@@ -858,6 +861,7 @@ def endpoint(self):
858861
def method():
859862
return 'POST'
860863

864+
861865
class ApiStartSubmissionUploadResponse(KaggleObject):
862866
r"""
863867
Currently identical to StartBlobUploadResponse, but keeping separate since
@@ -899,6 +903,10 @@ def create_url(self, create_url: str):
899903
raise TypeError('create_url must be of type str')
900904
self._create_url = create_url
901905

906+
@property
907+
def createUrl(self):
908+
return self.create_url
909+
902910

903911
class ApiSubmission(KaggleObject):
904912
r"""

0 commit comments

Comments
 (0)