├── .env.example ├── .github ├── FUNDING.yml └── workflows │ └── python-package.yml ├── .gitignore ├── .pypirc ├── .vscode └── settings.json ├── Dockerfile ├── LICENSE ├── README.md ├── docker-compose-dev.yml ├── docker-compose.yml ├── examples └── copy_spotify_playlist_to_navidrome.py ├── pyproject.toml ├── requirements.txt ├── tests ├── __init__.py ├── matching │ └── test_normalization.py ├── mock │ ├── spotify_playlist.json │ ├── spotify_track.json │ ├── subsonic_playlist.json │ ├── subsonic_track.json │ ├── youtube_playlist.json │ ├── youtube_search.json │ └── youtube_track.json ├── models │ ├── test_playlist.py │ └── test_track.py ├── spotify_driver │ └── test_spotify_mapping.py ├── subsonic_driver │ └── test_subsonic_mapping.py └── youtube_driver │ └── test_youtube_mapping.py ├── tunesynctool ├── __init__.py ├── cli │ ├── __init__.py │ ├── commands │ │ ├── __init__.py │ │ ├── sync.py │ │ └── transfer.py │ ├── main.py │ └── utils │ │ └── driver.py ├── drivers │ ├── __init__.py │ ├── async_service_driver.py │ ├── common │ │ ├── __init__.py │ │ ├── deezer │ │ │ ├── __init__.py │ │ │ ├── async_driver.py │ │ │ ├── driver.py │ │ │ └── mapper.py │ │ ├── spotify │ │ │ ├── __init__.py │ │ │ ├── async_driver.py │ │ │ ├── driver.py │ │ │ └── mapper.py │ │ ├── subsonic │ │ │ ├── __init__.py │ │ │ ├── async_driver.py │ │ │ ├── driver.py │ │ │ └── mapper.py │ │ └── youtube │ │ │ ├── __init__.py │ │ │ ├── async_driver.py │ │ │ ├── driver.py │ │ │ └── mapper.py │ ├── service_driver.py │ └── service_mapper.py ├── exceptions │ └── __init__.py ├── features │ ├── __init__.py │ ├── async_track_matcher.py │ ├── playlist_sync.py │ └── track_matcher.py ├── integrations │ ├── __init__.py │ └── musicbrainz.py ├── models │ ├── __init__.py │ ├── configuration.py │ ├── playlist.py │ └── track.py └── utilities │ ├── __init__.py │ ├── collections.py │ ├── comparison.py │ └── normalization.py └── webui ├── api ├── .env.example ├── __init__.py ├── core │ ├── __init__.py │ ├── config.py │ ├── context.py │ ├── database.py │ ├── logging.py │ └── security.py ├── drivers │ ├── cached │ │ └── async_cached_driver.py │ └── youtube │ │ ├── __init__.py │ │ ├── async_driver.py │ │ ├── driver.py │ │ └── mapper.py ├── exceptions │ ├── auth.py │ └── http │ │ ├── auth.py │ │ ├── provider.py │ │ └── service_driver.py ├── helpers │ ├── database.py │ ├── encryption.py │ ├── extraction.py │ ├── mapping.py │ ├── route_level_dependencies.py │ ├── service_driver.py │ └── ytmusicapi.py ├── main.py ├── models │ ├── __init__.py │ ├── collection.py │ ├── deezer_arl.py │ ├── entity.py │ ├── playlist.py │ ├── search.py │ ├── service.py │ ├── state.py │ ├── subsonic.py │ ├── task.py │ ├── token.py │ ├── track.py │ └── user.py ├── routes │ ├── __init__.py │ ├── auth.py │ ├── catalog.py │ ├── library.py │ ├── providers │ │ ├── __init__.py │ │ ├── deezer.py │ │ ├── providers.py │ │ ├── spotify.py │ │ ├── subsonic.py │ │ └── youtube.py │ ├── router.py │ ├── tasks.py │ └── users.py ├── services │ ├── auth_service.py │ ├── catalog_service.py │ ├── credentials_service.py │ ├── deezer_service.py │ ├── factories │ │ └── service_driver_factory.py │ ├── library_service.py │ ├── oauth2_linking │ │ ├── base_oauth2_handler.py │ │ ├── spotify_oauth2_handler.py │ │ └── youtube_oauth2_handler.py │ ├── provider_service.py │ ├── providers │ │ ├── base_provider.py │ │ ├── deezer_provider.py │ │ ├── provider_factory.py │ │ ├── spotify_provider.py │ │ ├── subsonic_provider.py │ │ └── youtube_provider.py │ ├── service_driver_helper_service.py │ ├── subsonic_service.py │ ├── task_service.py │ ├── track_matching_service.py │ └── user_service.py ├── static │ └── providers │ │ ├── deezer_128.png │ │ ├── spotify_128.png │ │ ├── subsonic_128.png │ │ └── youtube_128.png └── workers │ ├── dispatcher.py │ └── handlers │ ├── helpers.py │ └── playlist_transfer_handler.py └── frontend ├── .editorconfig ├── .env.example ├── .gitattributes ├── .gitignore ├── .prettierignore ├── .prettierrc.json ├── .vscode └── extensions.json ├── Dockerfile ├── README.md ├── env.d.ts ├── eslint.config.ts ├── index.html ├── openapitools.json ├── package-lock.json ├── package.json ├── public └── favicon.ico ├── src ├── App.vue ├── api │ ├── .gitignore │ ├── .npmignore │ ├── .openapi-generator-ignore │ ├── .openapi-generator │ │ ├── FILES │ │ └── VERSION │ ├── api.ts │ ├── api │ │ ├── authentication-api.ts │ │ ├── catalog-api.ts │ │ ├── deezer-api.ts │ │ ├── library-api.ts │ │ ├── providers-api.ts │ │ ├── spotify-api.ts │ │ ├── subsonic-api.ts │ │ ├── tasks-api.ts │ │ ├── users-api.ts │ │ └── you-tube-api.ts │ ├── base.ts │ ├── common.ts │ ├── configuration.ts │ ├── git_push.sh │ ├── index.ts │ └── models │ │ ├── access-token.ts │ │ ├── arlcreate.ts │ │ ├── collection-playlist-read.ts │ │ ├── collection-playlist-task-status.ts │ │ ├── collection-provider-read.ts │ │ ├── collection-provider-state.ts │ │ ├── collection-track-read.ts │ │ ├── entity-assets-base.ts │ │ ├── entity-identifiers-base.ts │ │ ├── entity-meta-read.ts │ │ ├── entity-multi-author-read.ts │ │ ├── entity-single-author-read.ts │ │ ├── httpvalidation-error.ts │ │ ├── index.ts │ │ ├── oauth2-state-create.ts │ │ ├── playlist-create.ts │ │ ├── playlist-multi-track-insert.ts │ │ ├── playlist-read.ts │ │ ├── playlist-task-create.ts │ │ ├── playlist-task-progress.ts │ │ ├── playlist-task-status.ts │ │ ├── provider-about-read.ts │ │ ├── provider-link-type.ts │ │ ├── provider-linking-read.ts │ │ ├── provider-read.ts │ │ ├── provider-state.ts │ │ ├── search-result-collection-track-read.ts │ │ ├── subsonic-credentials.ts │ │ ├── task-kind.ts │ │ ├── task-status.ts │ │ ├── track-assets-read.ts │ │ ├── track-identifiers-read.ts │ │ ├── track-identifiers-third-party-base.ts │ │ ├── track-match-create.ts │ │ ├── track-read.ts │ │ ├── user-create.ts │ │ ├── user-read.ts │ │ ├── validation-error-loc-inner.ts │ │ └── validation-error.ts ├── assets │ └── main.css ├── components │ ├── AppNav.vue │ ├── button │ │ ├── AppButton.vue │ │ └── AppButtonBase.vue │ ├── card │ │ └── AppCard.vue │ ├── form │ │ ├── AppField.vue │ │ └── AppFormSpacer.vue │ ├── generic │ │ ├── AppContainer.vue │ │ ├── AppForeground.vue │ │ ├── AppLoaderScreen.vue │ │ ├── AppPageHeader.vue │ │ └── AppWarningBar.vue │ ├── image │ │ ├── PlaylistCover.vue │ │ ├── PlaylistSelectorCover.vue │ │ ├── TaskCover.vue │ │ └── TrackCover.vue │ ├── library │ │ ├── PlaylistCard.vue │ │ ├── PlaylistPageHeader.vue │ │ ├── ServiceProvider.vue │ │ ├── Task.vue │ │ └── TrackResult.vue │ ├── service │ │ ├── DeezerARLForm.vue │ │ ├── PlaylistSelector.vue │ │ ├── PlaylistTaskForm.vue │ │ ├── ProviderSelector.vue │ │ ├── SimpleSearchForm.vue │ │ └── SubsonicLoginForm.vue │ └── text │ │ └── AppH1.vue ├── composables │ ├── useProviders.ts │ └── useUser.ts ├── main.ts ├── router │ └── index.ts ├── services │ └── api.ts ├── utils │ └── id.ts ├── views │ ├── AccountsView.vue │ ├── HomeView.vue │ ├── LoginView.vue │ ├── PlaylistView.vue │ ├── RegistrationView.vue │ ├── SearchView.vue │ └── TasksView.vue └── vite-env.d.ts ├── tsconfig.app.json ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/.env.example -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/.github/FUNDING.yml -------------------------------------------------------------------------------- /.github/workflows/python-package.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/.github/workflows/python-package.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/.gitignore -------------------------------------------------------------------------------- /.pypirc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/.pypirc -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/README.md -------------------------------------------------------------------------------- /docker-compose-dev.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/docker-compose-dev.yml -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /examples/copy_spotify_playlist_to_navidrome.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/examples/copy_spotify_playlist_to_navidrome.py -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/pyproject.toml -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/requirements.txt -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tests/__init__.py -------------------------------------------------------------------------------- /tests/matching/test_normalization.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tests/matching/test_normalization.py -------------------------------------------------------------------------------- /tests/mock/spotify_playlist.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tests/mock/spotify_playlist.json -------------------------------------------------------------------------------- /tests/mock/spotify_track.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tests/mock/spotify_track.json -------------------------------------------------------------------------------- /tests/mock/subsonic_playlist.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tests/mock/subsonic_playlist.json -------------------------------------------------------------------------------- /tests/mock/subsonic_track.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tests/mock/subsonic_track.json -------------------------------------------------------------------------------- /tests/mock/youtube_playlist.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tests/mock/youtube_playlist.json -------------------------------------------------------------------------------- /tests/mock/youtube_search.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tests/mock/youtube_search.json -------------------------------------------------------------------------------- /tests/mock/youtube_track.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tests/mock/youtube_track.json -------------------------------------------------------------------------------- /tests/models/test_playlist.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tests/models/test_playlist.py -------------------------------------------------------------------------------- /tests/models/test_track.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tests/models/test_track.py -------------------------------------------------------------------------------- /tests/spotify_driver/test_spotify_mapping.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tests/spotify_driver/test_spotify_mapping.py -------------------------------------------------------------------------------- /tests/subsonic_driver/test_subsonic_mapping.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tests/subsonic_driver/test_subsonic_mapping.py -------------------------------------------------------------------------------- /tests/youtube_driver/test_youtube_mapping.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tests/youtube_driver/test_youtube_mapping.py -------------------------------------------------------------------------------- /tunesynctool/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/__init__.py -------------------------------------------------------------------------------- /tunesynctool/cli/__init__.py: -------------------------------------------------------------------------------- 1 | # init -------------------------------------------------------------------------------- /tunesynctool/cli/commands/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/cli/commands/__init__.py -------------------------------------------------------------------------------- /tunesynctool/cli/commands/sync.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/cli/commands/sync.py -------------------------------------------------------------------------------- /tunesynctool/cli/commands/transfer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/cli/commands/transfer.py -------------------------------------------------------------------------------- /tunesynctool/cli/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/cli/main.py -------------------------------------------------------------------------------- /tunesynctool/cli/utils/driver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/cli/utils/driver.py -------------------------------------------------------------------------------- /tunesynctool/drivers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/drivers/__init__.py -------------------------------------------------------------------------------- /tunesynctool/drivers/async_service_driver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/drivers/async_service_driver.py -------------------------------------------------------------------------------- /tunesynctool/drivers/common/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/drivers/common/__init__.py -------------------------------------------------------------------------------- /tunesynctool/drivers/common/deezer/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/drivers/common/deezer/__init__.py -------------------------------------------------------------------------------- /tunesynctool/drivers/common/deezer/async_driver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/drivers/common/deezer/async_driver.py -------------------------------------------------------------------------------- /tunesynctool/drivers/common/deezer/driver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/drivers/common/deezer/driver.py -------------------------------------------------------------------------------- /tunesynctool/drivers/common/deezer/mapper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/drivers/common/deezer/mapper.py -------------------------------------------------------------------------------- /tunesynctool/drivers/common/spotify/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/drivers/common/spotify/__init__.py -------------------------------------------------------------------------------- /tunesynctool/drivers/common/spotify/async_driver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/drivers/common/spotify/async_driver.py -------------------------------------------------------------------------------- /tunesynctool/drivers/common/spotify/driver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/drivers/common/spotify/driver.py -------------------------------------------------------------------------------- /tunesynctool/drivers/common/spotify/mapper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/drivers/common/spotify/mapper.py -------------------------------------------------------------------------------- /tunesynctool/drivers/common/subsonic/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/drivers/common/subsonic/__init__.py -------------------------------------------------------------------------------- /tunesynctool/drivers/common/subsonic/async_driver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/drivers/common/subsonic/async_driver.py -------------------------------------------------------------------------------- /tunesynctool/drivers/common/subsonic/driver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/drivers/common/subsonic/driver.py -------------------------------------------------------------------------------- /tunesynctool/drivers/common/subsonic/mapper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/drivers/common/subsonic/mapper.py -------------------------------------------------------------------------------- /tunesynctool/drivers/common/youtube/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/drivers/common/youtube/__init__.py -------------------------------------------------------------------------------- /tunesynctool/drivers/common/youtube/async_driver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/drivers/common/youtube/async_driver.py -------------------------------------------------------------------------------- /tunesynctool/drivers/common/youtube/driver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/drivers/common/youtube/driver.py -------------------------------------------------------------------------------- /tunesynctool/drivers/common/youtube/mapper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/drivers/common/youtube/mapper.py -------------------------------------------------------------------------------- /tunesynctool/drivers/service_driver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/drivers/service_driver.py -------------------------------------------------------------------------------- /tunesynctool/drivers/service_mapper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/drivers/service_mapper.py -------------------------------------------------------------------------------- /tunesynctool/exceptions/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/exceptions/__init__.py -------------------------------------------------------------------------------- /tunesynctool/features/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/features/__init__.py -------------------------------------------------------------------------------- /tunesynctool/features/async_track_matcher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/features/async_track_matcher.py -------------------------------------------------------------------------------- /tunesynctool/features/playlist_sync.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/features/playlist_sync.py -------------------------------------------------------------------------------- /tunesynctool/features/track_matcher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/features/track_matcher.py -------------------------------------------------------------------------------- /tunesynctool/integrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/integrations/__init__.py -------------------------------------------------------------------------------- /tunesynctool/integrations/musicbrainz.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/integrations/musicbrainz.py -------------------------------------------------------------------------------- /tunesynctool/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/models/__init__.py -------------------------------------------------------------------------------- /tunesynctool/models/configuration.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/models/configuration.py -------------------------------------------------------------------------------- /tunesynctool/models/playlist.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/models/playlist.py -------------------------------------------------------------------------------- /tunesynctool/models/track.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/models/track.py -------------------------------------------------------------------------------- /tunesynctool/utilities/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/utilities/__init__.py -------------------------------------------------------------------------------- /tunesynctool/utilities/collections.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/utilities/collections.py -------------------------------------------------------------------------------- /tunesynctool/utilities/comparison.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/utilities/comparison.py -------------------------------------------------------------------------------- /tunesynctool/utilities/normalization.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/tunesynctool/utilities/normalization.py -------------------------------------------------------------------------------- /webui/api/.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/.env.example -------------------------------------------------------------------------------- /webui/api/__init__.py: -------------------------------------------------------------------------------- 1 | # init -------------------------------------------------------------------------------- /webui/api/core/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/core/__init__.py -------------------------------------------------------------------------------- /webui/api/core/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/core/config.py -------------------------------------------------------------------------------- /webui/api/core/context.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/core/context.py -------------------------------------------------------------------------------- /webui/api/core/database.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/core/database.py -------------------------------------------------------------------------------- /webui/api/core/logging.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/core/logging.py -------------------------------------------------------------------------------- /webui/api/core/security.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/core/security.py -------------------------------------------------------------------------------- /webui/api/drivers/cached/async_cached_driver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/drivers/cached/async_cached_driver.py -------------------------------------------------------------------------------- /webui/api/drivers/youtube/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/drivers/youtube/__init__.py -------------------------------------------------------------------------------- /webui/api/drivers/youtube/async_driver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/drivers/youtube/async_driver.py -------------------------------------------------------------------------------- /webui/api/drivers/youtube/driver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/drivers/youtube/driver.py -------------------------------------------------------------------------------- /webui/api/drivers/youtube/mapper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/drivers/youtube/mapper.py -------------------------------------------------------------------------------- /webui/api/exceptions/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/exceptions/auth.py -------------------------------------------------------------------------------- /webui/api/exceptions/http/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/exceptions/http/auth.py -------------------------------------------------------------------------------- /webui/api/exceptions/http/provider.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/exceptions/http/provider.py -------------------------------------------------------------------------------- /webui/api/exceptions/http/service_driver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/exceptions/http/service_driver.py -------------------------------------------------------------------------------- /webui/api/helpers/database.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/helpers/database.py -------------------------------------------------------------------------------- /webui/api/helpers/encryption.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/helpers/encryption.py -------------------------------------------------------------------------------- /webui/api/helpers/extraction.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/helpers/extraction.py -------------------------------------------------------------------------------- /webui/api/helpers/mapping.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/helpers/mapping.py -------------------------------------------------------------------------------- /webui/api/helpers/route_level_dependencies.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/helpers/route_level_dependencies.py -------------------------------------------------------------------------------- /webui/api/helpers/service_driver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/helpers/service_driver.py -------------------------------------------------------------------------------- /webui/api/helpers/ytmusicapi.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/helpers/ytmusicapi.py -------------------------------------------------------------------------------- /webui/api/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/main.py -------------------------------------------------------------------------------- /webui/api/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/models/__init__.py -------------------------------------------------------------------------------- /webui/api/models/collection.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/models/collection.py -------------------------------------------------------------------------------- /webui/api/models/deezer_arl.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/models/deezer_arl.py -------------------------------------------------------------------------------- /webui/api/models/entity.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/models/entity.py -------------------------------------------------------------------------------- /webui/api/models/playlist.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/models/playlist.py -------------------------------------------------------------------------------- /webui/api/models/search.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/models/search.py -------------------------------------------------------------------------------- /webui/api/models/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/models/service.py -------------------------------------------------------------------------------- /webui/api/models/state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/models/state.py -------------------------------------------------------------------------------- /webui/api/models/subsonic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/models/subsonic.py -------------------------------------------------------------------------------- /webui/api/models/task.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/models/task.py -------------------------------------------------------------------------------- /webui/api/models/token.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/models/token.py -------------------------------------------------------------------------------- /webui/api/models/track.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/models/track.py -------------------------------------------------------------------------------- /webui/api/models/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/models/user.py -------------------------------------------------------------------------------- /webui/api/routes/__init__.py: -------------------------------------------------------------------------------- 1 | from .router import endpoints -------------------------------------------------------------------------------- /webui/api/routes/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/routes/auth.py -------------------------------------------------------------------------------- /webui/api/routes/catalog.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/routes/catalog.py -------------------------------------------------------------------------------- /webui/api/routes/library.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/routes/library.py -------------------------------------------------------------------------------- /webui/api/routes/providers/__init__.py: -------------------------------------------------------------------------------- 1 | from .providers import router -------------------------------------------------------------------------------- /webui/api/routes/providers/deezer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/routes/providers/deezer.py -------------------------------------------------------------------------------- /webui/api/routes/providers/providers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/routes/providers/providers.py -------------------------------------------------------------------------------- /webui/api/routes/providers/spotify.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/routes/providers/spotify.py -------------------------------------------------------------------------------- /webui/api/routes/providers/subsonic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/routes/providers/subsonic.py -------------------------------------------------------------------------------- /webui/api/routes/providers/youtube.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/routes/providers/youtube.py -------------------------------------------------------------------------------- /webui/api/routes/router.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/routes/router.py -------------------------------------------------------------------------------- /webui/api/routes/tasks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/routes/tasks.py -------------------------------------------------------------------------------- /webui/api/routes/users.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/routes/users.py -------------------------------------------------------------------------------- /webui/api/services/auth_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/services/auth_service.py -------------------------------------------------------------------------------- /webui/api/services/catalog_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/services/catalog_service.py -------------------------------------------------------------------------------- /webui/api/services/credentials_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/services/credentials_service.py -------------------------------------------------------------------------------- /webui/api/services/deezer_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/services/deezer_service.py -------------------------------------------------------------------------------- /webui/api/services/factories/service_driver_factory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/services/factories/service_driver_factory.py -------------------------------------------------------------------------------- /webui/api/services/library_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/services/library_service.py -------------------------------------------------------------------------------- /webui/api/services/oauth2_linking/base_oauth2_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/services/oauth2_linking/base_oauth2_handler.py -------------------------------------------------------------------------------- /webui/api/services/oauth2_linking/spotify_oauth2_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/services/oauth2_linking/spotify_oauth2_handler.py -------------------------------------------------------------------------------- /webui/api/services/oauth2_linking/youtube_oauth2_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/services/oauth2_linking/youtube_oauth2_handler.py -------------------------------------------------------------------------------- /webui/api/services/provider_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/services/provider_service.py -------------------------------------------------------------------------------- /webui/api/services/providers/base_provider.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/services/providers/base_provider.py -------------------------------------------------------------------------------- /webui/api/services/providers/deezer_provider.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/services/providers/deezer_provider.py -------------------------------------------------------------------------------- /webui/api/services/providers/provider_factory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/services/providers/provider_factory.py -------------------------------------------------------------------------------- /webui/api/services/providers/spotify_provider.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/services/providers/spotify_provider.py -------------------------------------------------------------------------------- /webui/api/services/providers/subsonic_provider.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/services/providers/subsonic_provider.py -------------------------------------------------------------------------------- /webui/api/services/providers/youtube_provider.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/services/providers/youtube_provider.py -------------------------------------------------------------------------------- /webui/api/services/service_driver_helper_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/services/service_driver_helper_service.py -------------------------------------------------------------------------------- /webui/api/services/subsonic_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/services/subsonic_service.py -------------------------------------------------------------------------------- /webui/api/services/task_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/services/task_service.py -------------------------------------------------------------------------------- /webui/api/services/track_matching_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/services/track_matching_service.py -------------------------------------------------------------------------------- /webui/api/services/user_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/services/user_service.py -------------------------------------------------------------------------------- /webui/api/static/providers/deezer_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/static/providers/deezer_128.png -------------------------------------------------------------------------------- /webui/api/static/providers/spotify_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/static/providers/spotify_128.png -------------------------------------------------------------------------------- /webui/api/static/providers/subsonic_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/static/providers/subsonic_128.png -------------------------------------------------------------------------------- /webui/api/static/providers/youtube_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/static/providers/youtube_128.png -------------------------------------------------------------------------------- /webui/api/workers/dispatcher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/workers/dispatcher.py -------------------------------------------------------------------------------- /webui/api/workers/handlers/helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/workers/handlers/helpers.py -------------------------------------------------------------------------------- /webui/api/workers/handlers/playlist_transfer_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/api/workers/handlers/playlist_transfer_handler.py -------------------------------------------------------------------------------- /webui/frontend/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/.editorconfig -------------------------------------------------------------------------------- /webui/frontend/.env.example: -------------------------------------------------------------------------------- 1 | VITE_API_BASE_URL= -------------------------------------------------------------------------------- /webui/frontend/.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | -------------------------------------------------------------------------------- /webui/frontend/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/.gitignore -------------------------------------------------------------------------------- /webui/frontend/.prettierignore: -------------------------------------------------------------------------------- 1 | src/api 2 | openapitools.json -------------------------------------------------------------------------------- /webui/frontend/.prettierrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/.prettierrc.json -------------------------------------------------------------------------------- /webui/frontend/.vscode/extensions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/.vscode/extensions.json -------------------------------------------------------------------------------- /webui/frontend/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/Dockerfile -------------------------------------------------------------------------------- /webui/frontend/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/README.md -------------------------------------------------------------------------------- /webui/frontend/env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /webui/frontend/eslint.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/eslint.config.ts -------------------------------------------------------------------------------- /webui/frontend/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/index.html -------------------------------------------------------------------------------- /webui/frontend/openapitools.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/openapitools.json -------------------------------------------------------------------------------- /webui/frontend/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/package-lock.json -------------------------------------------------------------------------------- /webui/frontend/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/package.json -------------------------------------------------------------------------------- /webui/frontend/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/public/favicon.ico -------------------------------------------------------------------------------- /webui/frontend/src/App.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/App.vue -------------------------------------------------------------------------------- /webui/frontend/src/api/.gitignore: -------------------------------------------------------------------------------- 1 | wwwroot/*.js 2 | node_modules 3 | typings 4 | dist 5 | -------------------------------------------------------------------------------- /webui/frontend/src/api/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/.npmignore -------------------------------------------------------------------------------- /webui/frontend/src/api/.openapi-generator-ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/.openapi-generator-ignore -------------------------------------------------------------------------------- /webui/frontend/src/api/.openapi-generator/FILES: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/.openapi-generator/FILES -------------------------------------------------------------------------------- /webui/frontend/src/api/.openapi-generator/VERSION: -------------------------------------------------------------------------------- 1 | 7.12.0 2 | -------------------------------------------------------------------------------- /webui/frontend/src/api/api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/api.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/api/authentication-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/api/authentication-api.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/api/catalog-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/api/catalog-api.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/api/deezer-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/api/deezer-api.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/api/library-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/api/library-api.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/api/providers-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/api/providers-api.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/api/spotify-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/api/spotify-api.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/api/subsonic-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/api/subsonic-api.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/api/tasks-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/api/tasks-api.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/api/users-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/api/users-api.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/api/you-tube-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/api/you-tube-api.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/base.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/base.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/common.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/common.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/configuration.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/configuration.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/git_push.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/git_push.sh -------------------------------------------------------------------------------- /webui/frontend/src/api/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/index.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/access-token.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/access-token.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/arlcreate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/arlcreate.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/collection-playlist-read.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/collection-playlist-read.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/collection-playlist-task-status.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/collection-playlist-task-status.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/collection-provider-read.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/collection-provider-read.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/collection-provider-state.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/collection-provider-state.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/collection-track-read.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/collection-track-read.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/entity-assets-base.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/entity-assets-base.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/entity-identifiers-base.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/entity-identifiers-base.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/entity-meta-read.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/entity-meta-read.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/entity-multi-author-read.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/entity-multi-author-read.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/entity-single-author-read.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/entity-single-author-read.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/httpvalidation-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/httpvalidation-error.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/index.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/oauth2-state-create.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/oauth2-state-create.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/playlist-create.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/playlist-create.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/playlist-multi-track-insert.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/playlist-multi-track-insert.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/playlist-read.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/playlist-read.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/playlist-task-create.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/playlist-task-create.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/playlist-task-progress.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/playlist-task-progress.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/playlist-task-status.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/playlist-task-status.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/provider-about-read.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/provider-about-read.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/provider-link-type.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/provider-link-type.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/provider-linking-read.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/provider-linking-read.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/provider-read.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/provider-read.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/provider-state.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/provider-state.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/search-result-collection-track-read.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/search-result-collection-track-read.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/subsonic-credentials.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/subsonic-credentials.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/task-kind.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/task-kind.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/task-status.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/task-status.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/track-assets-read.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/track-assets-read.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/track-identifiers-read.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/track-identifiers-read.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/track-identifiers-third-party-base.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/track-identifiers-third-party-base.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/track-match-create.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/track-match-create.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/track-read.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/track-read.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/user-create.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/user-create.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/user-read.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/user-read.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/validation-error-loc-inner.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/validation-error-loc-inner.ts -------------------------------------------------------------------------------- /webui/frontend/src/api/models/validation-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/api/models/validation-error.ts -------------------------------------------------------------------------------- /webui/frontend/src/assets/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/assets/main.css -------------------------------------------------------------------------------- /webui/frontend/src/components/AppNav.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/AppNav.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/button/AppButton.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/button/AppButton.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/button/AppButtonBase.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/button/AppButtonBase.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/card/AppCard.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/card/AppCard.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/form/AppField.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/form/AppField.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/form/AppFormSpacer.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/form/AppFormSpacer.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/generic/AppContainer.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/generic/AppContainer.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/generic/AppForeground.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/generic/AppForeground.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/generic/AppLoaderScreen.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/generic/AppLoaderScreen.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/generic/AppPageHeader.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/generic/AppPageHeader.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/generic/AppWarningBar.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/generic/AppWarningBar.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/image/PlaylistCover.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/image/PlaylistCover.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/image/PlaylistSelectorCover.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/image/PlaylistSelectorCover.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/image/TaskCover.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/image/TaskCover.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/image/TrackCover.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/image/TrackCover.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/library/PlaylistCard.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/library/PlaylistCard.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/library/PlaylistPageHeader.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/library/PlaylistPageHeader.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/library/ServiceProvider.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/library/ServiceProvider.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/library/Task.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/library/Task.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/library/TrackResult.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/library/TrackResult.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/service/DeezerARLForm.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/service/DeezerARLForm.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/service/PlaylistSelector.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/service/PlaylistSelector.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/service/PlaylistTaskForm.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/service/PlaylistTaskForm.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/service/ProviderSelector.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/service/ProviderSelector.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/service/SimpleSearchForm.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/service/SimpleSearchForm.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/service/SubsonicLoginForm.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/service/SubsonicLoginForm.vue -------------------------------------------------------------------------------- /webui/frontend/src/components/text/AppH1.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/components/text/AppH1.vue -------------------------------------------------------------------------------- /webui/frontend/src/composables/useProviders.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/composables/useProviders.ts -------------------------------------------------------------------------------- /webui/frontend/src/composables/useUser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/composables/useUser.ts -------------------------------------------------------------------------------- /webui/frontend/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/main.ts -------------------------------------------------------------------------------- /webui/frontend/src/router/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/router/index.ts -------------------------------------------------------------------------------- /webui/frontend/src/services/api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/services/api.ts -------------------------------------------------------------------------------- /webui/frontend/src/utils/id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/utils/id.ts -------------------------------------------------------------------------------- /webui/frontend/src/views/AccountsView.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/views/AccountsView.vue -------------------------------------------------------------------------------- /webui/frontend/src/views/HomeView.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/views/HomeView.vue -------------------------------------------------------------------------------- /webui/frontend/src/views/LoginView.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/views/LoginView.vue -------------------------------------------------------------------------------- /webui/frontend/src/views/PlaylistView.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/views/PlaylistView.vue -------------------------------------------------------------------------------- /webui/frontend/src/views/RegistrationView.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/views/RegistrationView.vue -------------------------------------------------------------------------------- /webui/frontend/src/views/SearchView.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/views/SearchView.vue -------------------------------------------------------------------------------- /webui/frontend/src/views/TasksView.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/views/TasksView.vue -------------------------------------------------------------------------------- /webui/frontend/src/vite-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/src/vite-env.d.ts -------------------------------------------------------------------------------- /webui/frontend/tsconfig.app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/tsconfig.app.json -------------------------------------------------------------------------------- /webui/frontend/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/tsconfig.json -------------------------------------------------------------------------------- /webui/frontend/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/tsconfig.node.json -------------------------------------------------------------------------------- /webui/frontend/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WilliamNT/tunesynctool/HEAD/webui/frontend/vite.config.ts --------------------------------------------------------------------------------