Skip to content

Commit 26bc19b

Browse files
committed
fix range parsing
1 parent c1829d6 commit 26bc19b

File tree

8 files changed

+30
-31
lines changed

8 files changed

+30
-31
lines changed

.pre-commit-config.yaml

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,21 @@ repos:
44
hooks:
55
- id: validate-pyproject
66

7-
- repo: https://github.com/psf/black
8-
rev: 22.12.0
9-
hooks:
10-
- id: black
11-
language_version: python
12-
137
- repo: https://github.com/PyCQA/isort
14-
rev: 5.12.0
8+
rev: 5.13.2
159
hooks:
1610
- id: isort
1711
language_version: python
1812

19-
- repo: https://github.com/charliermarsh/ruff-pre-commit
20-
rev: v0.0.238
13+
- repo: https://github.com/astral-sh/ruff-pre-commit
14+
rev: v0.3.5
2115
hooks:
2216
- id: ruff
2317
args: ["--fix"]
18+
- id: ruff-format
2419

2520
- repo: https://github.com/pre-commit/mirrors-mypy
26-
rev: v0.991
21+
rev: v1.9.0
2722
hooks:
2823
- id: mypy
2924
language_version: python

CHANGES.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## 0.12.1 (2024-04-18)
2+
3+
* fix GET range parsing
14

25
## 0.12.0 (2024-01-24)
36

pyproject.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,9 @@ default_section = "THIRDPARTY"
9292
no_strict_optional = true
9393

9494
[tool.ruff]
95+
line-length = 90
96+
97+
[tool.ruff.lint]
9598
select = [
9699
"D1", # pydocstyle errors
97100
"E", # pycodestyle errors
@@ -105,3 +108,6 @@ ignore = [
105108
"B008", # do not perform function calls in argument defaults
106109
"B905", # ignore zip() without an explicit strict= parameter, only support with python >3.10
107110
]
111+
112+
[tool.ruff.lint.mccabe]
113+
max-complexity = 14

tests/test_viz.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
"""Tests for tilebench."""
22

3-
43
from starlette.testclient import TestClient
54

65
from tilebench.viz import TileDebug

tilebench/__init__.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,14 @@ def parse_logs(logs: List[str]) -> Dict[str, Any]:
2828
}
2929

3030
# GET
31-
all_get_requests = len(
32-
[line for line in logs if "CURL_INFO_HEADER_OUT: GET" in line]
33-
)
31+
all_get_requests = len([line for line in logs if "CURL_INFO_HEADER_OUT: GET" in line])
3432

3533
get_requests = [line for line in logs if ": Downloading" in line]
3634
get_values = [
37-
map(int, get.split(" Downloading ")[1].split(" ")[0].split("-"))
35+
list(map(int, get.split(" Downloading ")[1].split(" ")[0].split("-")))
3836
for get in get_requests
3937
]
40-
get_values_str = [get.split(" ")[4] for get in get_requests]
38+
get_values_str = [f"{start}-{end}" for (start, end) in get_values]
4139
data_transfer = sum([j - i + 1 for i, j in get_values])
4240

4341
get_summary = {

tilebench/middleware.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,9 @@ async def dispatch(self, request: Request, call_next):
5555
ranges_results = "ranges; values={}".format(
5656
"|".join(results["GET"]["ranges"])
5757
)
58-
response.headers[
59-
"VSI-Stats"
60-
] = f"{head_results}, {get_results}, {ranges_results}"
58+
response.headers["VSI-Stats"] = (
59+
f"{head_results}, {get_results}, {ranges_results}"
60+
)
6161

6262
return response
6363

tilebench/scripts/cli.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ def profile(
8888
module, classname = reader.rsplit(".", 1)
8989
reader = getattr(importlib.import_module(module), classname) # noqa
9090
if not issubclass(reader, (BaseReader, MultiBandReader, MultiBaseReader)):
91-
warnings.warn(f"Invalid reader type: {type(reader)}")
91+
warnings.warn(f"Invalid reader type: {type(reader)}", stacklevel=1)
9292

9393
Reader = reader or COGReader
9494

@@ -159,7 +159,7 @@ def get_zooms(input, reader, tms):
159159
module, classname = reader.rsplit(".", 1)
160160
reader = getattr(importlib.import_module(module), classname) # noqa
161161
if not issubclass(reader, (BaseReader, MultiBandReader, MultiBaseReader)):
162-
warnings.warn(f"Invalid reader type: {type(reader)}")
162+
warnings.warn(f"Invalid reader type: {type(reader)}", stacklevel=1)
163163

164164
Reader = reader or COGReader
165165

@@ -191,7 +191,7 @@ def random(input, zoom, reader, tms):
191191
module, classname = reader.rsplit(".", 1)
192192
reader = getattr(importlib.import_module(module), classname) # noqa
193193
if not issubclass(reader, (BaseReader, MultiBandReader, MultiBaseReader)):
194-
warnings.warn(f"Invalid reader type: {type(reader)}")
194+
warnings.warn(f"Invalid reader type: {type(reader)}", stacklevel=1)
195195

196196
Reader = reader or COGReader
197197

@@ -253,7 +253,7 @@ def viz(src_path, port, host, server_only, reader, config):
253253
module, classname = reader.rsplit(".", 1)
254254
reader = getattr(importlib.import_module(module), classname) # noqa
255255
if not issubclass(reader, (BaseReader)):
256-
warnings.warn(f"Invalid reader type: {type(reader)}")
256+
warnings.warn(f"Invalid reader type: {type(reader)}", stacklevel=1)
257257

258258
Reader = reader or COGReader
259259

tilebench/viz.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -224,16 +224,14 @@ def _read_tile(src_path: str, x: int, y: int, z: int):
224224

225225
head_results = "head;count={count}".format(**stats["HEAD"])
226226
get_results = "get;count={count};size={bytes}".format(**stats["GET"])
227-
ranges_results = "ranges; values={}".format(
228-
"|".join(stats["GET"]["ranges"])
227+
ranges_results = "ranges; values={}".format("|".join(stats["GET"]["ranges"]))
228+
response.headers["VSI-Stats"] = (
229+
f"{head_results}, {get_results}, {ranges_results}"
229230
)
230-
response.headers[
231-
"VSI-Stats"
232-
] = f"{head_results}, {get_results}, {ranges_results}"
233231

234-
response.headers[
235-
"server-timing"
236-
] = f"dataread; dur={round(t.elapsed * 1000, 2)}"
232+
response.headers["server-timing"] = (
233+
f"dataread; dur={round(t.elapsed * 1000, 2)}"
234+
)
237235
return "OK"
238236

239237
@self.router.get(

0 commit comments

Comments
 (0)