Skip to content

Commit 63244ad

Browse files
authored
Clean up errors (#639)
There were some errors that had been present a year or so. They are gone, as are all the unused import statements. I'm getting really frustrated by the formatter. Everything here was formatted by `yapf` 0.40.2 but I must have merged something that wasn't properly formatted because there is a large number of format changes. Unfortunately, that was also true before I re-ran the formatter. I wonder if maybe `yapf` isn't deterministic. (Edit: It seems to be deterministic.) There were two methods that didn't have a `self` parameter. There was a `unicode` statement in a try-block to test for Python 2 vs 3. There were two undefined vars -- one was misspelled ('query' should have been 'quiet') and the other was a missing `path` parameter to the method. I think that is all the errors I fixed. Added #640 to track the lack of unit test coverage.
1 parent da26449 commit 63244ad

File tree

6 files changed

+546
-580
lines changed

6 files changed

+546
-580
lines changed

kaggle/api/kaggle_api_extended.py

Lines changed: 48 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
#!/usr/bin/python
2-
#
3-
# Copyright 2024 Kaggle Inc
4-
#
5-
# Licensed under the Apache License, Version 2.0 (the "License");
6-
# you may not use this file except in compliance with the License.
7-
# You may obtain a copy of the License at
8-
#
9-
# http://www.apache.org/licenses/LICENSE-2.0
10-
#
11-
# Unless required by applicable law or agreed to in writing, software
12-
# distributed under the License is distributed on an "AS IS" BASIS,
13-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14-
# See the License for the specific language governing permissions and
15-
# limitations under the License.
16-
1+
#!/usr/bin/python
2+
#
3+
# Copyright 2024 Kaggle Inc
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
1717
#!/usr/bin/python
1818
#
1919
# Copyright 2019 Kaggle Inc
@@ -32,78 +32,64 @@
3232

3333
# coding=utf-8
3434
from __future__ import print_function
35+
3536
import csv
36-
from datetime import datetime
3737
import io
38-
import json
3938
import os
40-
from os.path import expanduser
41-
from random import random
42-
import sys
4339
import shutil
40+
import sys
4441
import tarfile
42+
import tempfile
4543
import time
4644
import zipfile
47-
import tempfile
45+
from os.path import expanduser
46+
from random import random
47+
48+
import bleach
49+
import requests
50+
import urllib3.exceptions as urllib3_exceptions
51+
from requests.adapters import HTTPAdapter
52+
from slugify import slugify
53+
from tqdm import tqdm
54+
from urllib3.util.retry import Retry
4855

56+
from kaggle.configuration import Configuration
57+
from kagglesdk import KaggleClient, KaggleEnv
58+
from kagglesdk.competitions.types.competition_api_service import *
4959
from kagglesdk.datasets.types.dataset_api_service import ApiListDatasetsRequest, ApiListDatasetFilesRequest, \
5060
ApiGetDatasetStatusRequest, ApiDownloadDatasetRequest, ApiCreateDatasetRequest, ApiCreateDatasetVersionRequestBody, \
5161
ApiCreateDatasetVersionByIdRequest, ApiCreateDatasetVersionRequest, ApiDatasetNewFile
5262
from kagglesdk.datasets.types.dataset_enums import DatasetSelectionGroup, DatasetSortBy
53-
from ..api_client import ApiClient
54-
from kaggle.configuration import Configuration
5563
from .kaggle_api import KaggleApi
64+
from ..api_client import ApiClient
5665
from ..models.api_blob_type import ApiBlobType
5766
from ..models.collaborator import Collaborator
5867
from ..models.create_inbox_file_request import CreateInboxFileRequest
5968
from ..models.dataset_column import DatasetColumn
6069
from ..models.dataset_new_request import DatasetNewRequest
61-
from ..models.dataset_new_version_request import DatasetNewVersionRequest
6270
from ..models.dataset_update_settings_request import DatasetUpdateSettingsRequest
63-
from ..models.kaggle_models_extended import Competition
64-
from ..models.kaggle_models_extended import Dataset
6571
from ..models.kaggle_models_extended import DatasetNewResponse
6672
from ..models.kaggle_models_extended import DatasetNewVersionResponse
6773
from ..models.kaggle_models_extended import File
6874
from ..models.kaggle_models_extended import Kernel
6975
from ..models.kaggle_models_extended import KernelPushResponse
70-
from ..models.kaggle_models_extended import LeaderboardEntry
7176
from ..models.kaggle_models_extended import ListFilesResult
7277
from ..models.kaggle_models_extended import Metadata
7378
from ..models.kaggle_models_extended import Model
74-
from ..models.kaggle_models_extended import ModelNewResponse
7579
from ..models.kaggle_models_extended import ModelDeleteResponse
80+
from ..models.kaggle_models_extended import ModelNewResponse
7681
from ..models.kaggle_models_extended import ResumableUploadResult
77-
from ..models.kaggle_models_extended import Submission
78-
from ..models.kaggle_models_extended import SubmitResult
7982
from ..models.kernel_push_request import KernelPushRequest
8083
from ..models.license import License
81-
from ..models.model_new_request import ModelNewRequest
82-
from ..models.model_new_instance_request import ModelNewInstanceRequest
8384
from ..models.model_instance_new_version_request import ModelInstanceNewVersionRequest
84-
from ..models.model_update_request import ModelUpdateRequest
8585
from ..models.model_instance_update_request import ModelInstanceUpdateRequest
86+
from ..models.model_new_instance_request import ModelNewInstanceRequest
87+
from ..models.model_new_request import ModelNewRequest
88+
from ..models.model_update_request import ModelUpdateRequest
8689
from ..models.start_blob_upload_request import StartBlobUploadRequest
8790
from ..models.start_blob_upload_response import StartBlobUploadResponse
8891
from ..models.upload_file import UploadFile
89-
import requests
90-
from requests.adapters import HTTPAdapter
91-
import requests.packages.urllib3.exceptions as urllib3_exceptions
92-
from requests.packages.urllib3.util.retry import Retry
9392
from ..rest import ApiException
94-
import six
95-
from slugify import slugify
96-
from tqdm import tqdm
97-
import bleach
98-
import time
99-
100-
from kagglesdk import KaggleClient, KaggleEnv
101-
from kagglesdk.competitions.types.competition_api_service import *
102-
103-
try:
104-
unicode # Python 2
105-
except NameError:
106-
unicode = str # Python 3
10793

10894

10995
class DirectoryArchive(object):
@@ -375,11 +361,6 @@ class KaggleApi(KaggleApi):
375361
]
376362
dataset_file_fields = ['name', 'size', 'creationDate']
377363

378-
# Hack for https://github.com/Kaggle/kaggle-api/issues/22 / b/78194015
379-
if six.PY2:
380-
reload(sys)
381-
sys.setdefaultencoding('latin1')
382-
383364
def _is_retriable(self, e):
384365
return issubclass(type(e), ConnectionError) or \
385366
issubclass(type(e), urllib3_exceptions.ConnectionError) or \
@@ -1770,12 +1751,12 @@ def dataset_create_version(self,
17701751
keywords = self.get_or_default(meta_data, 'keywords', [])
17711752

17721753
body = ApiCreateDatasetVersionRequestBody()
1773-
body.version_notes=version_notes
1774-
body.subtitle=subtitle
1775-
body.description=description
1776-
body.files=[]
1777-
body.category_ids=keywords
1778-
body.delete_old_versions=delete_old_versions
1754+
body.version_notes = version_notes
1755+
body.subtitle = subtitle
1756+
body.description = description
1757+
body.files = []
1758+
body.category_ids = keywords
1759+
body.delete_old_versions = delete_old_versions
17791760

17801761
with self.build_kaggle_client() as kaggle:
17811762
if id_no:
@@ -3930,7 +3911,7 @@ def print_csv(self, items, fields, labels=None):
39303911
writer.writerow(i_fields)
39313912

39323913
def string(self, item):
3933-
return item if isinstance(item, unicode) else str(item)
3914+
return item if isinstance(item, str) else str(item)
39343915

39353916
def get_or_fail(self, data, key):
39363917
if key in data:
@@ -4168,7 +4149,8 @@ def upload_complete(self, path, url, quiet, resume=False):
41684149

41694150
try:
41704151
if resume:
4171-
resumable_upload_result = self._resume_upload(url, file_size, quiet)
4152+
resumable_upload_result = self._resume_upload(path, url, file_size,
4153+
quiet)
41724154
if resumable_upload_result.result != ResumableUploadResult.INCOMPLETE:
41734155
return resumable_upload_result.result
41744156

@@ -4209,7 +4191,7 @@ def upload_complete(self, path, url, quiet, resume=False):
42094191
# in case it works on the next try.
42104192
return ResumableUploadResult.INCOMPLETE
42114193

4212-
def _resume_upload(self, url, content_length, quiet):
4194+
def _resume_upload(self, path, url, content_length, quiet):
42134195
# Documentation: https://developers.google.com/drive/api/guides/manage-uploads#resume-upload
42144196
session = requests.Session()
42154197
session.headers.update({
@@ -4223,7 +4205,7 @@ def _resume_upload(self, url, content_length, quiet):
42234205
return ResumableUploadResult.Complete()
42244206
if response.status_code == 404:
42254207
# Upload expired so need to start from scratch.
4226-
if not query:
4208+
if not quiet:
42274209
print('Upload of %s expired. Please try again.' % path)
42284210
return ResumableUploadResult.Failed()
42294211
if response.status_code == 308: # Resume Incomplete

kaggle/cli.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,15 @@
3232

3333
# coding=utf-8
3434
from __future__ import print_function
35+
3536
import argparse
3637
import json
37-
from kaggle import api
38+
39+
import six
40+
3841
from kaggle import KaggleApi
42+
from kaggle import api
3943
from .rest import ApiException
40-
import six
4144

4245

4346
def main():

kaggle/models/kaggle_models_extended.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@
3131
# limitations under the License.
3232

3333
# coding=utf-8
34-
import os
35-
import time
3634
from datetime import datetime
3735

3836

@@ -280,10 +278,10 @@ def __init__(self, result, bytes_uploaded=None):
280278
self.bytes_uploaded = bytes_uploaded
281279
self.start_at = 0 if bytes_uploaded is None else bytes_uploaded + 1
282280

283-
def Complete():
281+
def Complete(self):
284282
return ResumableUploadResult(ResumableUploadResult.COMPLETE)
285283

286-
def Failed():
284+
def Failed(self):
287285
return ResumableUploadResult(ResumableUploadResult.FAILED)
288286

289287
def Incomplete(bytes_uploaded=None):

0 commit comments

Comments
 (0)