Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 0 additions & 25 deletions discstore/adapters/inbound/api/__init__.py

This file was deleted.

3 changes: 0 additions & 3 deletions discstore/adapters/outbound/json_library_adapter.py

This file was deleted.

3 changes: 0 additions & 3 deletions discstore/adapters/outbound/text_current_tag_adapter.py

This file was deleted.

42 changes: 0 additions & 42 deletions discstore/di_container.py

This file was deleted.

6 changes: 0 additions & 6 deletions discstore/domain/entities/__init__.py

This file was deleted.

4 changes: 0 additions & 4 deletions discstore/domain/repositories/__init__.py

This file was deleted.

19 changes: 0 additions & 19 deletions discstore/domain/use_cases/__init__.py

This file was deleted.

File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
from typing import Any

from fastapi import APIRouter, HTTPException, Response, status

Check failure on line 3 in jukebox/adapters/inbound/admin/api/current_tag_router.py

View workflow job for this annotation

GitHub Actions / Run Tests & Linting (3.13)

ty (unresolved-import)

jukebox/adapters/inbound/admin/api/current_tag_router.py:3:6: unresolved-import: Cannot resolve imported module `fastapi` info: Searched in the following paths during module resolution: info: 1. /home/runner/work/jukebox/jukebox (first-party code) info: 2. vendored://stdlib (stdlib typeshed stubs vendored by ty) info: 3. /home/runner/work/jukebox/jukebox/$pythonLocation/lib/python3.13/site-packages (site-packages) info: 4. /home/runner/work/jukebox/jukebox/$pythonLocation/lib64/python3.13/site-packages (site-packages) info: make sure your Python environment is properly configured: https://docs.astral.sh/ty/modules/#python-environment
from pydantic import ValidationError

from discstore.adapters.inbound.api.models import (
from jukebox.adapters.inbound.admin.api.models import (
CurrentTagDiscOutput,
CurrentTagStatusOutput,
DiscInput,
DiscOutput,
DiscPatchInput,
)
from discstore.domain.entities import CurrentTagStatus, Disc, DiscMetadata, DiscOption
from discstore.domain.use_cases.add_disc import AddDisc
from discstore.domain.use_cases.edit_disc import EditDisc
from discstore.domain.use_cases.get_current_tag_status import GetCurrentTagStatus
from discstore.domain.use_cases.get_disc import GetDisc
from discstore.domain.use_cases.remove_disc import RemoveDisc
from jukebox.domain.entities import CurrentTagStatus, Disc, DiscMetadata, DiscOption
from jukebox.domain.use_cases.library.add_disc import AddDisc
from jukebox.domain.use_cases.library.edit_disc import EditDisc
from jukebox.domain.use_cases.library.get_current_tag_status import GetCurrentTagStatus
from jukebox.domain.use_cases.library.get_disc import GetDisc
from jukebox.domain.use_cases.library.remove_disc import RemoveDisc


def build_current_tag_router(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
from fastapi import APIRouter, HTTPException, Response, status

Check failure on line 1 in jukebox/adapters/inbound/admin/api/discs_router.py

View workflow job for this annotation

GitHub Actions / Run Tests & Linting (3.13)

ty (unresolved-import)

jukebox/adapters/inbound/admin/api/discs_router.py:1:6: unresolved-import: Cannot resolve imported module `fastapi` info: Searched in the following paths during module resolution: info: 1. /home/runner/work/jukebox/jukebox (first-party code) info: 2. vendored://stdlib (stdlib typeshed stubs vendored by ty) info: 3. /home/runner/work/jukebox/jukebox/$pythonLocation/lib/python3.13/site-packages (site-packages) info: 4. /home/runner/work/jukebox/jukebox/$pythonLocation/lib64/python3.13/site-packages (site-packages) info: make sure your Python environment is properly configured: https://docs.astral.sh/ty/modules/#python-environment
from pydantic import ValidationError

from discstore.adapters.inbound.api.models import DiscInput, DiscOutput, DiscPatchInput
from discstore.domain.entities import Disc, DiscMetadata, DiscOption
from discstore.domain.use_cases.add_disc import AddDisc
from discstore.domain.use_cases.edit_disc import EditDisc
from discstore.domain.use_cases.get_disc import GetDisc
from discstore.domain.use_cases.list_discs import ListDiscs
from discstore.domain.use_cases.remove_disc import RemoveDisc
from jukebox.adapters.inbound.admin.api.models import DiscInput, DiscOutput, DiscPatchInput
from jukebox.domain.entities import Disc, DiscMetadata, DiscOption
from jukebox.domain.use_cases.library.add_disc import AddDisc
from jukebox.domain.use_cases.library.edit_disc import EditDisc
from jukebox.domain.use_cases.library.get_disc import GetDisc
from jukebox.domain.use_cases.library.list_discs import ListDiscs
from jukebox.domain.use_cases.library.remove_disc import RemoveDisc


def build_discs_router(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from pydantic import BaseModel, RootModel

from discstore.domain.entities import CurrentTagStatus, Disc
from jukebox.domain.entities import CurrentTagStatus, Disc


class DiscInput(Disc):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from typing import Any, cast

from fastapi import APIRouter, HTTPException

Check failure on line 3 in jukebox/adapters/inbound/admin/api/settings_router.py

View workflow job for this annotation

GitHub Actions / Run Tests & Linting (3.13)

ty (unresolved-import)

jukebox/adapters/inbound/admin/api/settings_router.py:3:6: unresolved-import: Cannot resolve imported module `fastapi` info: Searched in the following paths during module resolution: info: 1. /home/runner/work/jukebox/jukebox (first-party code) info: 2. vendored://stdlib (stdlib typeshed stubs vendored by ty) info: 3. /home/runner/work/jukebox/jukebox/$pythonLocation/lib/python3.13/site-packages (site-packages) info: 4. /home/runner/work/jukebox/jukebox/$pythonLocation/lib64/python3.13/site-packages (site-packages) info: make sure your Python environment is properly configured: https://docs.astral.sh/ty/modules/#python-environment

from discstore.adapters.inbound.api.models import SettingsPatchInput, SettingsResetInput
from jukebox.adapters.inbound.admin.api.models import SettingsPatchInput, SettingsResetInput
from jukebox.settings.errors import SettingsError
from jukebox.settings.service_protocols import SettingsService
from jukebox.settings.types import JsonObject
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
from jukebox.shared.dependency_messages import optional_extra_dependency_message

try:
from fastapi import FastAPI, HTTPException

Check failure on line 6 in jukebox/adapters/inbound/admin/api_controller.py

View workflow job for this annotation

GitHub Actions / Run Tests & Linting (3.13)

ty (unresolved-import)

jukebox/adapters/inbound/admin/api_controller.py:6:10: unresolved-import: Cannot resolve imported module `fastapi` info: Searched in the following paths during module resolution: info: 1. /home/runner/work/jukebox/jukebox (first-party code) info: 2. vendored://stdlib (stdlib typeshed stubs vendored by ty) info: 3. /home/runner/work/jukebox/jukebox/$pythonLocation/lib/python3.13/site-packages (site-packages) info: 4. /home/runner/work/jukebox/jukebox/$pythonLocation/lib64/python3.13/site-packages (site-packages) info: make sure your Python environment is properly configured: https://docs.astral.sh/ty/modules/#python-environment

from discstore.adapters.inbound.api.current_tag_router import build_current_tag_router
from discstore.adapters.inbound.api.discs_router import build_discs_router
from discstore.adapters.inbound.api.models import (
from jukebox.adapters.inbound.admin.api.current_tag_router import build_current_tag_router
from jukebox.adapters.inbound.admin.api.discs_router import build_discs_router
from jukebox.adapters.inbound.admin.api.models import (
CurrentTagDiscOutput,
CurrentTagStatusOutput,
DiscInput,
Expand All @@ -16,19 +16,19 @@
SettingsPatchInput,
SettingsResetInput,
)
from discstore.adapters.inbound.api.settings_router import build_settings_router
from jukebox.adapters.inbound.admin.api.settings_router import build_settings_router
except ModuleNotFoundError as e:
if e.name != "fastapi":
raise
raise ModuleNotFoundError(
optional_extra_dependency_message("The `api_controller` module", "api", "jukebox-admin api")
) from e
from discstore.domain.use_cases.add_disc import AddDisc
from discstore.domain.use_cases.edit_disc import EditDisc
from discstore.domain.use_cases.get_current_tag_status import GetCurrentTagStatus
from discstore.domain.use_cases.get_disc import GetDisc
from discstore.domain.use_cases.list_discs import ListDiscs
from discstore.domain.use_cases.remove_disc import RemoveDisc
from jukebox.domain.use_cases.library.add_disc import AddDisc
from jukebox.domain.use_cases.library.edit_disc import EditDisc
from jukebox.domain.use_cases.library.get_current_tag_status import GetCurrentTagStatus
from jukebox.domain.use_cases.library.get_disc import GetDisc
from jukebox.domain.use_cases.library.list_discs import ListDiscs
from jukebox.domain.use_cases.library.remove_disc import RemoveDisc
from jukebox.settings.entities import SelectedSonosGroupSettings
from jukebox.settings.selected_sonos_group_repository import SettingsSelectedSonosGroupRepository
from jukebox.settings.service_protocols import SettingsService
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
import logging

from discstore.adapters.inbound.cli_display import display_library_line, display_library_table
from discstore.commands import (
from jukebox.adapters.inbound.admin.cli_display import display_library_line, display_library_table
from jukebox.admin.library_commands import (
CliAddCommand,
CliEditCommand,
CliGetCommand,
CliListCommand,
CliRemoveCommand,
CliSearchCommand,
)
from discstore.domain.entities import Disc, DiscMetadata, DiscOption
from discstore.domain.use_cases.add_disc import AddDisc
from discstore.domain.use_cases.edit_disc import EditDisc
from discstore.domain.use_cases.get_disc import GetDisc
from discstore.domain.use_cases.list_discs import ListDiscs
from discstore.domain.use_cases.remove_disc import RemoveDisc
from discstore.domain.use_cases.resolve_tag_id import ResolveTagId
from discstore.domain.use_cases.search_discs import SearchDiscs
from jukebox.domain.entities import Disc, DiscMetadata, DiscOption
from jukebox.domain.use_cases.library.add_disc import AddDisc
from jukebox.domain.use_cases.library.edit_disc import EditDisc
from jukebox.domain.use_cases.library.get_disc import GetDisc
from jukebox.domain.use_cases.library.list_discs import ListDiscs
from jukebox.domain.use_cases.library.remove_disc import RemoveDisc
from jukebox.domain.use_cases.library.resolve_tag_id import ResolveTagId
from jukebox.domain.use_cases.library.search_discs import SearchDiscs

LOGGER = logging.getLogger("discstore")
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit (non-blocking): we may want to change the logger name at some point


Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from discstore.domain.entities import Disc
from jukebox.domain.entities import Disc

MAX_COL_WIDTH = 20

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import logging

from discstore.adapters.inbound.cli_display import display_library_line, display_library_table
from discstore.domain.entities import CurrentTagStatus, Disc, DiscMetadata, DiscOption
from discstore.domain.use_cases.add_disc import AddDisc
from discstore.domain.use_cases.edit_disc import EditDisc
from discstore.domain.use_cases.get_current_tag_status import GetCurrentTagStatus
from discstore.domain.use_cases.list_discs import ListDiscs
from discstore.domain.use_cases.remove_disc import RemoveDisc
from jukebox.adapters.inbound.admin.cli_display import display_library_line, display_library_table
from jukebox.domain.entities import CurrentTagStatus, Disc, DiscMetadata, DiscOption
from jukebox.domain.use_cases.library.add_disc import AddDisc
from jukebox.domain.use_cases.library.edit_disc import EditDisc
from jukebox.domain.use_cases.library.get_current_tag_status import GetCurrentTagStatus
from jukebox.domain.use_cases.library.list_discs import ListDiscs
from jukebox.domain.use_cases.library.remove_disc import RemoveDisc

LOGGER = logging.getLogger("discstore")
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: change name here, too.


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
from jukebox.shared.dependency_messages import optional_extra_dependency_message

try:
from fastapi import HTTPException, Request

Check failure on line 7 in jukebox/adapters/inbound/admin/ui_controller.py

View workflow job for this annotation

GitHub Actions / Run Tests & Linting (3.13)

ty (unresolved-import)

jukebox/adapters/inbound/admin/ui_controller.py:7:10: unresolved-import: Cannot resolve imported module `fastapi` info: Searched in the following paths during module resolution: info: 1. /home/runner/work/jukebox/jukebox (first-party code) info: 2. vendored://stdlib (stdlib typeshed stubs vendored by ty) info: 3. /home/runner/work/jukebox/jukebox/$pythonLocation/lib/python3.13/site-packages (site-packages) info: 4. /home/runner/work/jukebox/jukebox/$pythonLocation/lib64/python3.13/site-packages (site-packages) info: make sure your Python environment is properly configured: https://docs.astral.sh/ty/modules/#python-environment
from fastapi.responses import HTMLResponse, StreamingResponse

Check failure on line 8 in jukebox/adapters/inbound/admin/ui_controller.py

View workflow job for this annotation

GitHub Actions / Run Tests & Linting (3.13)

ty (unresolved-import)

jukebox/adapters/inbound/admin/ui_controller.py:8:10: unresolved-import: Cannot resolve imported module `fastapi.responses` info: Searched in the following paths during module resolution: info: 1. /home/runner/work/jukebox/jukebox (first-party code) info: 2. vendored://stdlib (stdlib typeshed stubs vendored by ty) info: 3. /home/runner/work/jukebox/jukebox/$pythonLocation/lib/python3.13/site-packages (site-packages) info: 4. /home/runner/work/jukebox/jukebox/$pythonLocation/lib64/python3.13/site-packages (site-packages) info: make sure your Python environment is properly configured: https://docs.astral.sh/ty/modules/#python-environment
from fastui import AnyComponent, FastUI, prebuilt_html

Check failure on line 9 in jukebox/adapters/inbound/admin/ui_controller.py

View workflow job for this annotation

GitHub Actions / Run Tests & Linting (3.13)

ty (unresolved-import)

jukebox/adapters/inbound/admin/ui_controller.py:9:10: unresolved-import: Cannot resolve imported module `fastui` info: Searched in the following paths during module resolution: info: 1. /home/runner/work/jukebox/jukebox (first-party code) info: 2. vendored://stdlib (stdlib typeshed stubs vendored by ty) info: 3. /home/runner/work/jukebox/jukebox/$pythonLocation/lib/python3.13/site-packages (site-packages) info: 4. /home/runner/work/jukebox/jukebox/$pythonLocation/lib64/python3.13/site-packages (site-packages) info: make sure your Python environment is properly configured: https://docs.astral.sh/ty/modules/#python-environment
from fastui import components as c

Check failure on line 10 in jukebox/adapters/inbound/admin/ui_controller.py

View workflow job for this annotation

GitHub Actions / Run Tests & Linting (3.13)

ty (unresolved-import)

jukebox/adapters/inbound/admin/ui_controller.py:10:10: unresolved-import: Cannot resolve imported module `fastui` info: Searched in the following paths during module resolution: info: 1. /home/runner/work/jukebox/jukebox (first-party code) info: 2. vendored://stdlib (stdlib typeshed stubs vendored by ty) info: 3. /home/runner/work/jukebox/jukebox/$pythonLocation/lib/python3.13/site-packages (site-packages) info: 4. /home/runner/work/jukebox/jukebox/$pythonLocation/lib64/python3.13/site-packages (site-packages) info: make sure your Python environment is properly configured: https://docs.astral.sh/ty/modules/#python-environment
from fastui.events import GoToEvent

Check failure on line 11 in jukebox/adapters/inbound/admin/ui_controller.py

View workflow job for this annotation

GitHub Actions / Run Tests & Linting (3.13)

ty (unresolved-import)

jukebox/adapters/inbound/admin/ui_controller.py:11:10: unresolved-import: Cannot resolve imported module `fastui.events` info: Searched in the following paths during module resolution: info: 1. /home/runner/work/jukebox/jukebox (first-party code) info: 2. vendored://stdlib (stdlib typeshed stubs vendored by ty) info: 3. /home/runner/work/jukebox/jukebox/$pythonLocation/lib/python3.13/site-packages (site-packages) info: 4. /home/runner/work/jukebox/jukebox/$pythonLocation/lib64/python3.13/site-packages (site-packages) info: make sure your Python environment is properly configured: https://docs.astral.sh/ty/modules/#python-environment
from fastui.forms import fastui_form

Check failure on line 12 in jukebox/adapters/inbound/admin/ui_controller.py

View workflow job for this annotation

GitHub Actions / Run Tests & Linting (3.13)

ty (unresolved-import)

jukebox/adapters/inbound/admin/ui_controller.py:12:10: unresolved-import: Cannot resolve imported module `fastui.forms` info: Searched in the following paths during module resolution: info: 1. /home/runner/work/jukebox/jukebox (first-party code) info: 2. vendored://stdlib (stdlib typeshed stubs vendored by ty) info: 3. /home/runner/work/jukebox/jukebox/$pythonLocation/lib/python3.13/site-packages (site-packages) info: 4. /home/runner/work/jukebox/jukebox/$pythonLocation/lib64/python3.13/site-packages (site-packages) info: make sure your Python environment is properly configured: https://docs.astral.sh/ty/modules/#python-environment
except ModuleNotFoundError as e:
raise ModuleNotFoundError(
optional_extra_dependency_message("The `ui_controller` module", "ui", "jukebox-admin ui")
Expand All @@ -17,17 +17,17 @@

from pydantic import BaseModel, Field

from discstore.adapters.inbound.api_controller import APIController
from discstore.adapters.inbound.ui_pages.library import DiscForm, DiscTable, LibraryUIPageBuilder
from discstore.adapters.inbound.ui_pages.settings import SettingsUIPageBuilder
from discstore.adapters.inbound.ui_pages.sonos import SonosSelectionForm, SonosUIPageBuilder
from discstore.domain.entities import CurrentTagStatus, Disc, DiscMetadata, DiscOption
from discstore.domain.use_cases.add_disc import AddDisc
from discstore.domain.use_cases.edit_disc import EditDisc
from discstore.domain.use_cases.get_current_tag_status import GetCurrentTagStatus
from discstore.domain.use_cases.get_disc import GetDisc
from discstore.domain.use_cases.list_discs import ListDiscs
from discstore.domain.use_cases.remove_disc import RemoveDisc
from jukebox.adapters.inbound.admin.api_controller import APIController
from jukebox.adapters.inbound.admin.ui_pages.library import DiscForm, DiscTable, LibraryUIPageBuilder
from jukebox.adapters.inbound.admin.ui_pages.settings import SettingsUIPageBuilder
from jukebox.adapters.inbound.admin.ui_pages.sonos import SonosSelectionForm, SonosUIPageBuilder
from jukebox.domain.entities import CurrentTagStatus, Disc, DiscMetadata, DiscOption
from jukebox.domain.use_cases.library.add_disc import AddDisc
from jukebox.domain.use_cases.library.edit_disc import EditDisc
from jukebox.domain.use_cases.library.get_current_tag_status import GetCurrentTagStatus
from jukebox.domain.use_cases.library.get_disc import GetDisc
from jukebox.domain.use_cases.library.list_discs import ListDiscs
from jukebox.domain.use_cases.library.remove_disc import RemoveDisc
from jukebox.settings.definitions import (
EditableSettingDisplay,
get_setting_definition,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
from fastui.events import BackEvent, GoToEvent, PageEvent
from pydantic import BaseModel, Field

from discstore.domain.entities import CurrentTagStatus, DiscMetadata, DiscOption
from discstore.domain.use_cases.get_current_tag_status import GetCurrentTagStatus
from discstore.domain.use_cases.get_disc import GetDisc
from discstore.domain.use_cases.list_discs import ListDiscs
from jukebox.domain.entities import CurrentTagStatus, DiscMetadata, DiscOption
from jukebox.domain.use_cases.library.get_current_tag_status import GetCurrentTagStatus
from jukebox.domain.use_cases.library.get_disc import GetDisc
from jukebox.domain.use_cases.library.list_discs import ListDiscs


class DiscTable(DiscMetadata, DiscOption):
Expand Down
14 changes: 10 additions & 4 deletions jukebox/admin/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import typer
from pydantic import ValidationError

from discstore.command_handlers import execute_library_command
from discstore.commands import (
from jukebox.admin.library_command_handlers import execute_library_command
from jukebox.admin.library_commands import (
CliAddCommand,
CliEditCommand,
CliGetCommand,
Expand All @@ -16,7 +16,6 @@
CliSearchCommand,
InteractiveCliCommand,
)
from discstore.di_container import build_cli_controller, build_interactive_cli_controller
from jukebox.settings.errors import SettingsError
from jukebox.shared.config_utils import get_package_version
from jukebox.shared.logger import set_logger
Expand All @@ -41,7 +40,14 @@
is_settings_command,
is_sonos_command,
)
from .di_container import build_admin_api_app, build_admin_services, build_admin_ui_app, build_settings_service
from .di_container import (
build_admin_api_app,
build_admin_services,
build_admin_ui_app,
build_cli_controller,
build_interactive_cli_controller,
build_settings_service,
)
from .pn532_command_handlers import execute_pn532_command
from .pn532_commands import Pn532ProbeCommand, Pn532ProfilesCommand, Pn532SelectCommand, is_pn532_command
from .sonos_households import GroupedSonosHousehold
Expand Down
Loading
Loading