Skip to content

Commit b2b429b

Browse files
authored
[BE] Add s3_management to the linted folders (#1558)
Add `PERF401` to list of ignored suggestions, fix the rest.
1 parent 685a807 commit b2b429b

File tree

4 files changed

+19
-17
lines changed

4 files changed

+19
-17
lines changed

.lintrunner.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ merge_base_with = "origin/main"
22

33
[[linter]]
44
code = 'RUFF'
5-
include_patterns = ['test/smoke_test/*.py']
5+
include_patterns = ['test/smoke_test/*.py', 's3_management/*.py']
66
command = [
77
'python3',
88
'tools/linter/adapters/ruff_linter.py',

pyproject.toml

+3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
[tool.ruff]
22
target-version = "py38"
33
line-length = 120
4+
ignore = [
5+
"PERF401",
6+
]
47
select = [
58
"B",
69
"C4",

s3_management/backup_conda.py

+8-6
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
# Do not use unless you know what you are doing
55
# Usage: python backup_conda.py --version 1.6.0
66

7-
import conda.api
87
import boto3
98
from typing import List, Optional
9+
import conda.api
1010
import urllib
1111
import os
1212
import hashlib
@@ -22,8 +22,11 @@ def compute_md5(path:str) -> str:
2222
return hashlib.md5(f.read()).hexdigest()
2323

2424

25-
def download_conda_package(package:str, version:Optional[str] = None, depends:Optional[str] = None, channel:Optional[str] = None) -> List[str]:
26-
packages = conda.api.SubdirData.query_all(package, channels = [channel] if channel is not None else None, subdirs = _known_subdirs)
25+
def download_conda_package(package:str, version:Optional[str] = None,
26+
depends:Optional[str] = None, channel:Optional[str] = None) -> List[str]:
27+
packages = conda.api.SubdirData.query_all(package,
28+
channels = [channel] if channel is not None else None,
29+
subdirs = _known_subdirs)
2730
rc = []
2831

2932
for pkg in packages:
@@ -36,9 +39,8 @@ def download_conda_package(package:str, version:Optional[str] = None, depends:Op
3639
os.makedirs(pkg.subdir, exist_ok = True)
3740
fname = f"{pkg.subdir}/{pkg.fn}"
3841
if not os.path.exists(fname):
39-
with open(fname, "wb") as f:
40-
with urllib.request.urlopen(pkg.url) as url:
41-
f.write(url.read())
42+
with open(fname, "wb") as f, urllib.request.urlopen(pkg.url) as url:
43+
f.write(url.read())
4244
if compute_md5(fname) != pkg.md5:
4345
print(f"md5 of {fname} is {compute_md5(fname)} does not match {pkg.md5}")
4446
continue

s3_management/manage.py

+7-10
Original file line numberDiff line numberDiff line change
@@ -184,9 +184,7 @@ def nightly_packages_to_show(self: S3IndexType) -> Set[S3Object]:
184184
if package_name not in PACKAGE_ALLOW_LIST:
185185
to_hide.add(obj)
186186
continue
187-
if packages[package_name] >= KEEP_THRESHOLD:
188-
to_hide.add(obj)
189-
elif between_bad_dates(package_build_time):
187+
if packages[package_name] >= KEEP_THRESHOLD or between_bad_dates(package_build_time):
190188
to_hide.add(obj)
191189
else:
192190
packages[package_name] += 1
@@ -215,14 +213,13 @@ def gen_file_list(
215213
)
216214
subdir = self._resolve_subdir(subdir) + '/'
217215
for obj in objects:
218-
if package_name is not None:
219-
if self.obj_to_package_name(obj) != package_name:
220-
continue
216+
if package_name is not None and self.obj_to_package_name(obj) != package_name:
217+
continue
221218
if self.is_obj_at_root(obj) or obj.key.startswith(subdir):
222219
yield obj
223220

224221
def get_package_names(self, subdir: Optional[str] = None) -> List[str]:
225-
return sorted(set(self.obj_to_package_name(obj) for obj in self.gen_file_list(subdir)))
222+
return sorted({self.obj_to_package_name(obj) for obj in self.gen_file_list(subdir)})
226223

227224
def normalize_package_version(self: S3IndexType, obj: S3Object) -> str:
228225
# removes the GPU specifier from the package name as well as
@@ -284,7 +281,7 @@ def to_simple_package_html(
284281
# Adding html footer
285282
out.append(' </body>')
286283
out.append('</html>')
287-
out.append('<!--TIMESTAMP {}-->'.format(int(time.time())))
284+
out.append(f'<!--TIMESTAMP {int(time.time())}-->')
288285
return '\n'.join(out)
289286

290287
def to_simple_packages_html(
@@ -303,7 +300,7 @@ def to_simple_packages_html(
303300
# Adding html footer
304301
out.append(' </body>')
305302
out.append('</html>')
306-
out.append('<!--TIMESTAMP {}-->'.format(int(time.time())))
303+
out.append(f'<!--TIMESTAMP {int(time.time())}-->')
307304
return '\n'.join(out)
308305

309306
def upload_legacy_html(self) -> None:
@@ -412,7 +409,7 @@ def main():
412409
args = parser.parse_args()
413410
action = "Saving" if args.do_not_upload else "Uploading"
414411
if args.prefix == 'all':
415-
for prefix in PREFIXES_WITH_HTML.keys():
412+
for prefix in PREFIXES_WITH_HTML:
416413
print(f"INFO: {action} indices for '{prefix}'")
417414
idx = S3Index.from_S3(prefix=prefix)
418415
if args.do_not_upload:

0 commit comments

Comments
 (0)