Skip to content

Commit a1927c5

Browse files
committed
Formatting
1 parent cd260b6 commit a1927c5

28 files changed

+45
-60
lines changed

back/src/whombat/api/audio.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -171,9 +171,9 @@ def load_clip_bytes(
171171
header = b""
172172

173173
if bytes_to_load < 0:
174-
return header, 0, header_size, filesize
174+
return header, 0, len(header), filesize
175175

176-
current_position = start_position + start - header_size
176+
current_position = start_position + max(start - header_size, 0)
177177
bytes_to_load = min(
178178
bytes_to_load,
179179
end_position - current_position,

back/src/whombat/api/datasets.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
from whombat.api.common import BaseAPI
1616
from whombat.api.recordings import recordings
1717
from whombat.core import files
18-
from whombat.system import get_settings
1918
from whombat.filters.base import Filter
2019
from whombat.filters.recordings import DatasetFilter
20+
from whombat.system import get_settings
2121

2222
__all__ = [
2323
"DatasetAPI",

back/src/whombat/api/evaluations.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@
2020
)
2121
from whombat.api.evaluation_sets import evaluation_sets
2222
from whombat.api.features import features
23+
from whombat.api.io.aoef.evaluations import import_evaluation
2324
from whombat.api.model_runs import model_runs
2425
from whombat.filters.base import Filter
2526
from whombat.filters.clip_evaluations import EvaluationFilter
26-
from whombat.api.io.aoef.evaluations import import_evaluation
2727

2828

2929
class EvaluationAPI(

back/src/whombat/api/io/aoef/model_runs.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@
1111
from whombat.api.io.aoef.clips import get_clips
1212
from whombat.api.io.aoef.features import get_feature_names
1313
from whombat.api.io.aoef.recordings import get_recordings
14-
from whombat.api.io.aoef.sound_event_predictions import get_sound_event_predictions
14+
from whombat.api.io.aoef.sound_event_predictions import (
15+
get_sound_event_predictions,
16+
)
1517
from whombat.api.io.aoef.sound_events import get_sound_events
1618
from whombat.api.io.aoef.tags import import_tags
1719
from whombat.api.io.aoef.users import import_users

back/src/whombat/core/images.py

-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
from PIL import Image as img
88
from PIL.Image import Image
99

10-
1110
__all__ = [
1211
"array_to_image",
1312
"image_to_buffer",

back/src/whombat/routes/__init__.py

-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
from whombat.routes.tags import tags_router
3232
from whombat.routes.user_runs import user_runs_router
3333
from whombat.routes.users import get_users_router
34-
3534
from whombat.system.settings import Settings
3635

3736
__all__ = [

back/src/whombat/routes/annotation_projects.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
from soundevent.io.aoef import to_aeof
88

99
from whombat import api, schemas
10-
from whombat.routes.dependencies import Session, WhombatSettings
11-
from whombat.filters.annotation_projects import AnnotationProjectFilter
1210
from whombat.api.io import aoef
11+
from whombat.filters.annotation_projects import AnnotationProjectFilter
12+
from whombat.routes.dependencies import Session, WhombatSettings
1313
from whombat.routes.types import Limit, Offset
1414

1515
__all__ = [

back/src/whombat/routes/annotation_tasks.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
from soundevent.data import AnnotationState
66

77
from whombat import api, schemas
8-
from whombat.routes.dependencies import ActiveUser, Session
98
from whombat.filters.annotation_tasks import AnnotationTaskFilter
109
from whombat.filters.clips import UUIDFilter as ClipUUIDFilter
10+
from whombat.routes.dependencies import ActiveUser, Session
1111
from whombat.routes.types import Limit, Offset
1212

1313
__all__ = [

back/src/whombat/routes/auth.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"""Module containing the router for the Auth."""
22
from fastapi import APIRouter
33

4-
from whombat.routes.dependencies.auth import get_users_api, get_auth_backend
4+
from whombat.routes.dependencies.auth import get_auth_backend, get_users_api
55
from whombat.schemas.users import User, UserCreate
66
from whombat.system.settings import Settings
77

back/src/whombat/routes/clip_annotations.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
from fastapi import APIRouter, Depends
55

66
from whombat import api, schemas
7-
from whombat.routes.dependencies import ActiveUser, Session
87
from whombat.filters.clip_annotations import ClipAnnotationFilter
8+
from whombat.routes.dependencies import ActiveUser, Session
99
from whombat.routes.types import Limit, Offset
1010

1111
__all__ = [

back/src/whombat/routes/clip_evaluations.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
from fastapi import APIRouter, Depends
55

66
from whombat import api, schemas
7-
from whombat.routes.dependencies import Session
87
from whombat.filters.clip_evaluations import ClipEvaluationFilter
8+
from whombat.routes.dependencies import Session
99
from whombat.routes.types import Limit, Offset
1010

1111
clip_evaluations_router = APIRouter()

back/src/whombat/routes/clip_predictions.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
from fastapi import APIRouter, Depends
55

66
from whombat import api, schemas
7-
from whombat.routes.dependencies import Session
87
from whombat.filters.clip_predictions import ClipPredictionFilter
8+
from whombat.routes.dependencies import Session
99
from whombat.routes.types import Limit, Offset
1010

1111
__all__ = [

back/src/whombat/routes/clips.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
from fastapi import APIRouter, Depends
55

66
from whombat import api, schemas
7-
from whombat.routes.dependencies import Session
87
from whombat.filters.clips import ClipFilter
98
from whombat.filters.recordings import UUIDFilter as RecordingUUIDFilter
9+
from whombat.routes.dependencies import Session
1010
from whombat.routes.types import Limit, Offset
1111

1212
__all__ = [

back/src/whombat/routes/datasets.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
from soundevent.io.aoef import DatasetObject, to_aeof
1212

1313
from whombat import api, schemas
14-
from whombat.routes.dependencies import Session, WhombatSettings
15-
from whombat.filters.datasets import DatasetFilter
1614
from whombat.api.io import aoef
15+
from whombat.filters.datasets import DatasetFilter
16+
from whombat.routes.dependencies import Session, WhombatSettings
1717
from whombat.routes.types import Limit, Offset
1818

1919
__all__ = [

back/src/whombat/routes/evaluation_sets.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
from soundevent.io.aoef import to_aeof
99

1010
from whombat import api, schemas
11-
from whombat.routes.dependencies import Session, WhombatSettings
12-
from whombat.filters.evaluation_sets import EvaluationSetFilter
1311
from whombat.api.io import aoef
12+
from whombat.filters.evaluation_sets import EvaluationSetFilter
13+
from whombat.routes.dependencies import Session, WhombatSettings
1414
from whombat.routes.types import Limit, Offset
1515

1616
__all__ = [

back/src/whombat/routes/evaluations.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
from fastapi import APIRouter, Depends
55

66
from whombat import api, schemas
7-
from whombat.routes.dependencies import Session
87
from whombat.filters.evaluations import EvaluationFilter
8+
from whombat.routes.dependencies import Session
99
from whombat.routes.types import Limit, Offset
1010

1111
evaluations_router = APIRouter()

back/src/whombat/routes/features.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
from fastapi import APIRouter, Depends
44

55
from whombat import api, schemas
6-
from whombat.routes.dependencies import Session
76
from whombat.filters.feature_names import FeatureNameFilter
7+
from whombat.routes.dependencies import Session
88
from whombat.routes.types import Limit, Offset
99

1010
__all__ = [

back/src/whombat/routes/model_runs.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
from fastapi import APIRouter, Depends, UploadFile
66

77
from whombat import api, schemas
8-
from whombat.routes.dependencies import Session, WhombatSettings
9-
from whombat.filters.model_runs import ModelRunFilter
108
from whombat.api.io import aoef
9+
from whombat.filters.model_runs import ModelRunFilter
10+
from whombat.routes.dependencies import Session, WhombatSettings
1111
from whombat.routes.types import Limit, Offset
1212

1313
__all__ = [

back/src/whombat/routes/notes.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
from fastapi import APIRouter, Depends
55

66
from whombat import api, schemas
7-
from whombat.routes.dependencies import Session
87
from whombat.filters.notes import NoteFilter
8+
from whombat.routes.dependencies import Session
99
from whombat.routes.types import Limit, Offset
1010

1111
__all__ = [

back/src/whombat/routes/recordings.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
from fastapi import APIRouter, Depends
55

66
from whombat import api, schemas
7-
from whombat.routes.dependencies import ActiveUser, Session
87
from whombat.filters.recordings import RecordingFilter
8+
from whombat.routes.dependencies import ActiveUser, Session
99
from whombat.routes.types import Limit, Offset
1010

1111
__all__ = [

back/src/whombat/routes/sound_event_evaluations.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
from fastapi import APIRouter, Depends
33

44
from whombat import api, schemas
5-
from whombat.routes.dependencies import Session
65
from whombat.filters.sound_event_evaluations import SoundEventEvaluationFilter
6+
from whombat.routes.dependencies import Session
77
from whombat.routes.types import Limit, Offset
88

99
sound_event_evaluations_router = APIRouter()

back/src/whombat/routes/sound_event_predictions.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
from fastapi import APIRouter, Depends
55

66
from whombat import api, schemas
7-
from whombat.routes.dependencies import Session
87
from whombat.filters.sound_event_predictions import SoundEventPredictionFilter
8+
from whombat.routes.dependencies import Session
99
from whombat.routes.types import Limit, Offset
1010

1111
__all__ = [

back/src/whombat/routes/tags.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
from fastapi import APIRouter, Depends
33

44
from whombat import api, schemas
5-
from whombat.routes.dependencies import Session
65
from whombat.filters.recording_tags import RecordingTagFilter
76
from whombat.filters.tags import TagFilter
7+
from whombat.routes.dependencies import Session
88
from whombat.routes.types import Limit, Offset
99

1010
tags_router = APIRouter()

back/src/whombat/routes/user_runs.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
from fastapi import APIRouter, Depends
55

66
from whombat import api, schemas
7-
from whombat.routes.dependencies import ActiveUser, Session
87
from whombat.filters.user_runs import UserRunFilter
8+
from whombat.routes.dependencies import ActiveUser, Session
99
from whombat.routes.types import Limit, Offset
1010

1111
__all__ = [

back/src/whombat/system/boot.py

+2-6
Original file line numberDiff line numberDiff line change
@@ -107,14 +107,10 @@ async def whombat_init(settings: Settings, _: FastAPI):
107107
print_first_run_message(settings)
108108

109109
if settings.open_on_startup and not settings.dev:
110-
webbrowser.open(
111-
f"http://{settings.host}:{settings.port}/first/"
112-
)
110+
webbrowser.open(f"http://{settings.host}:{settings.port}/first/")
113111
return
114112

115113
print_ready_message(settings)
116114

117115
if settings.open_on_startup and not settings.dev:
118-
webbrowser.open(
119-
f"http://{settings.host}:{settings.port}/"
120-
)
116+
webbrowser.open(f"http://{settings.host}:{settings.port}/")

back/src/whombat/system/settings.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
33
We are using pydantic to define our settings.
44
"""
5+
import warnings
56
from functools import lru_cache
67
from pathlib import Path
78
from typing import Tuple, Type
8-
import warnings
99

1010
from pydantic import ValidationError
1111
from pydantic_settings import (
@@ -79,7 +79,7 @@ class Settings(BaseSettings):
7979
port: int = 5000
8080
"""Port on which the backend is running."""
8181

82-
domain: str = "http://localhost"
82+
domain: str = "localhost"
8383
"""Domain on which the backend is running."""
8484

8585
log_config: Path = Path("logging.conf")

back/tests/test_api/test_audio.py

+11-21
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import struct
22

3-
from whombat.api.audio import HEADER_FORMAT, CHUNK_SIZE, load_clip_bytes
3+
from whombat.api.audio import CHUNK_SIZE, HEADER_FORMAT, load_clip_bytes
44

55

66
def test_load_clip_bytes(random_wav_factory):
@@ -35,7 +35,7 @@ def test_load_clip_bytes(random_wav_factory):
3535
assert len(loaded_bytes) == len(read_bytes)
3636
assert loaded_bytes == read_bytes
3737
assert start_ == start
38-
assert end_ == end
38+
assert end_ == end - 1
3939
assert filesize == path.stat().st_size
4040

4141

@@ -66,7 +66,7 @@ def test_load_clip_bytes_with_header(random_wav_factory):
6666

6767
assert len(loaded_bytes) == len(read_bytes)
6868
assert start_ == start
69-
assert end_ == end
69+
assert end_ == end - 1
7070
assert filesize == path.stat().st_size
7171

7272

@@ -87,25 +87,21 @@ def test_stream_a_whole_audio_file(random_wav_factory):
8787
filesize = None
8888
parts = []
8989
while True:
90-
end = start + 1024 * 1024
91-
92-
if filesize is not None and end > filesize:
93-
end = filesize
94-
95-
part, start, end, filesize = load_clip_bytes(
90+
part, start, _, filesize = load_clip_bytes(
9691
path=path,
9792
start=start,
98-
end=end,
9993
)
10094
parts.append(part)
101-
start = end
95+
start = start + len(part)
10296

10397
assert filesize == true_filesize
10498

10599
if not part or start >= filesize:
106100
break
107101

108-
assert b"".join(parts) == full_bytes
102+
streamed = b"".join(parts)
103+
assert len(streamed) == len(full_bytes)
104+
assert streamed == full_bytes
109105

110106

111107
def test_stream_a_whole_audio_file_with_non_1_speed(random_wav_factory):
@@ -127,19 +123,13 @@ def test_stream_a_whole_audio_file_with_non_1_speed(random_wav_factory):
127123
filesize = None
128124
parts = []
129125
while True:
130-
end = start + CHUNK_SIZE
131-
132-
if filesize is not None and end > filesize:
133-
end = filesize
134-
135-
part, start, end, filesize = load_clip_bytes(
126+
part, start, _, filesize = load_clip_bytes(
136127
path=path,
137128
start=start,
138-
end=end,
139129
speed=speed,
140130
)
141131
parts.append(part)
142-
start = end
132+
start = start + len(part)
143133

144134
assert filesize == true_filesize
145135

@@ -169,7 +159,7 @@ def test_stream_a_whole_audio_file_with_non_1_speed(random_wav_factory):
169159
orig_header = struct.unpack(HEADER_FORMAT, full_bytes[:44])
170160
streamed_header = struct.unpack(HEADER_FORMAT, streamed[:44])
171161

172-
for (field, h1, h2) in zip(fields, orig_header, streamed_header):
162+
for field, h1, h2 in zip(fields, orig_header, streamed_header):
173163
if field == "samplerate":
174164
assert int(h1 * speed) == h2
175165
continue

back/tests/test_routers/conftest.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@
33
import pytest
44
from fastapi.testclient import TestClient
55

6-
from whombat.routes.dependencies import get_settings
76
from whombat.system import create_app
8-
from whombat.system.settings import Settings
7+
from whombat.system.settings import Settings, get_settings
98

109

1110
@pytest.fixture

0 commit comments

Comments
 (0)