├── .codecov.yml ├── .commitlintrc.json ├── .conventional-pre-commit-config.yaml ├── .github └── workflows │ ├── docker-publish.yml │ ├── release.yml │ ├── slsa-build.yml.disabled │ └── test.yml ├── .gitignore ├── .goreleaser.yaml ├── .pre-commit-config.yaml ├── Dockerfile ├── LICENSE ├── Makefile ├── README.md ├── cmd ├── gui.go ├── gui_test.go ├── root.go ├── root_filename_prototype.go.example ├── tests │ ├── embedded_metadata │ │ └── main.go │ ├── field_mapping │ │ └── main.go │ ├── multi_file_album │ │ ├── album_display │ │ │ └── main.go │ │ └── main.go │ └── special_character_album │ │ └── main.go ├── update.go ├── update_test.go ├── version.go └── version_test.go ├── docs ├── issues.jpg ├── logo.png ├── remove_books.jpg └── store_metadata.jpg ├── go.mod ├── go.sum ├── internal ├── organizer │ ├── album_detection.go │ ├── album_detection_test.go │ ├── album_detection_test_new.go │ ├── album_handler.go │ ├── album_utils.go │ ├── field_mapping_test.go │ ├── integration │ │ ├── integration_test.go │ │ ├── organizer_integration_test.go │ │ ├── organizer_test.go │ │ └── test_utils.go │ ├── layout_integration_test.go │ ├── layout_test.go │ ├── logging.go │ ├── logging_test.go │ ├── metadata_formatter.go │ ├── metadata_formatter_test.go │ ├── metadata_providers.go │ ├── metadata_providers_test.go │ ├── organize.go │ ├── organize_test.go │ ├── organizer.go │ ├── organizer_execute_test.go │ ├── path.go │ ├── path_test.go │ ├── prompt.go │ ├── prompt_test.go │ ├── series_extraction_test.go │ ├── styles.go │ ├── tests │ │ └── embedded_metadata_test.go │ └── types.go └── tui │ ├── app.go │ └── models │ ├── booklist.go │ ├── booklist_test.go │ ├── command_output.go │ ├── dirpicker.go │ ├── main.go │ ├── main_test.go │ ├── output_path.go │ ├── path_utils.go │ ├── preview.go │ ├── preview_test.go │ ├── process.go │ ├── process_test.go │ ├── scan.go │ ├── scan_test.go │ ├── settings.go │ ├── settings_redesign.go │ └── settings_test.go ├── main.go ├── main_test.go ├── sonar-project.properties └── testdata ├── README.md ├── create_bad_metadata_ffmpeg.sh ├── create_bad_metadata_test_files.sh ├── epub ├── strange_book_10__.epub ├── strange_book_11_Long_Title_With_Colons_(Part_1)_.epub ├── strange_book_12_Book.With.Dots_.epub ├── strange_book_13__Book_With_Leading_Spaces_.epub ├── strange_book_14_Book_With_Trailing_Spaces_.epub ├── strange_book_15_Book_With_Multiple_Spaces_.epub ├── strange_book_16_Book_With_Emoji_🔍_.epub ├── strange_book_17_Book_With_HTML_bTagsb_.epub ├── strange_book_18_Multi-Author_Book_.epub ├── strange_book_19_Three_Author_Book_.epub ├── strange_book_1_The_Book_With_Colons_.epub ├── strange_book_20_Complex_Authors_.epub ├── strange_book_2_Book_&_Symbols_%_$_#_@_!_.epub ├── strange_book_3_Café_au_lait_.epub ├── strange_book_4_This_is_an_extremely_long_title_that_goes_on_and_on_.epub ├── strange_book_5_Book_With_Control_Characters_.epub ├── strange_book_6__Book_With_Many_Spaces_.epub ├── strange_book_7_Book_Quoted_Title_.epub ├── strange_book_8__.epub ├── strange_book_9_Book_Café_&_Symbols!_.epub ├── title-author-series1.epub ├── title-author-series2.epub ├── title-author-series3.epub └── title-author.epub ├── m4b ├── bad_metadata │ ├── empty.m4a │ ├── empty_metadata.m4a │ ├── invalid_track.m4a │ ├── long_fields.m4a │ ├── missing_album.m4a │ ├── missing_artist.m4a │ ├── missing_title.m4a │ ├── missing_track.m4a │ ├── no_album.m4a │ ├── no_artist.m4a │ ├── no_title.m4a │ ├── no_track.m4a │ ├── only_album.m4a │ ├── only_artist.m4a │ ├── only_title.m4a │ └── special_chars.m4a ├── strange_audiobook_10_Epic_Saga__Adventure__Quest___Glory__John_Smith.m4b ├── strange_audiobook_14_Tales_of__ngstr_m___Caf__Chronicles_Mar_a_L_pez_Tr1.m4b ├── strange_audiobook_15_Tales_of__ngstr_m___Caf__Chronicles_Mar_a_L_pez.m4b ├── strange_audiobook_19_Saga_of_Endless_Horizons_The_Epic_Tale_That_Spans_Generations_Alexander_von_Longname_Tr1.m4b ├── strange_audiobook_20_Saga_of_Endless_Horizons_The_Epic_Tale_That_Spans_Generations_Alexander_von_Longname.m4b ├── strange_audiobook_24_Audiobook___Symbols___________Audiobook___Symbols___________Author_Plus-Minus___Tr1.m4b ├── strange_audiobook_25_Audiobook___Symbols___________Audiobook___Symbols___________Author_Plus-Minus__.m4b ├── strange_audiobook_29_Series_With_Tabs__Audiobook_With_Spaces__Author_With_Spaces__Tr1.m4b ├── strange_audiobook_30_Series_With_Tabs__Audiobook_With_Spaces__Author_With_Spaces_.m4b ├── strange_audiobook_34_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji_____Tr1.m4b ├── strange_audiobook_35_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji____.m4b ├── strange_audiobook_4_Mystery_Series_Mystery_of_the_Lost_City_Jane_Doe_Tr1.m4b ├── strange_audiobook_5_Mystery_Series_Mystery_of_the_Lost_City_Jane_Doe.m4b └── strange_audiobook_9_Epic_Saga__Adventure__Quest___Glory__John_Smith_Tr1.m4b ├── mp3-badmetadata ├── empty.mp3 ├── empty_metadata.mp3 ├── invalid_track.mp3 ├── long_fields.mp3 ├── missing_album.mp3 ├── missing_artist.mp3 ├── missing_title.mp3 ├── missing_track.mp3 ├── no_album.mp3 ├── no_artist.mp3 ├── no_title.mp3 ├── no_track.mp3 ├── only_album.mp3 ├── only_artist.mp3 ├── only_title.mp3 └── special_chars.mp3 ├── mp3 ├── strange_audiobook_11_Tales_of__ngstr_m___Caf__Chronicles_Mar_a_L_pez_Tr1.mp3 ├── strange_audiobook_12_Tales_of__ngstr_m___Caf__Chronicles_Mar_a_L_pez_Tr2.mp3 ├── strange_audiobook_13_Tales_of__ngstr_m___Caf__Chronicles_Mar_a_L_pez_Tr3.mp3 ├── strange_audiobook_16_Saga_of_Endless_Horizons_The_Epic_Tale_That_Spans_Generations_Alexander_von_Longname_Tr1.mp3 ├── strange_audiobook_17_Saga_of_Endless_Horizons_The_Epic_Tale_That_Spans_Generations_Alexander_von_Longname_Tr2.mp3 ├── strange_audiobook_18_Saga_of_Endless_Horizons_The_Epic_Tale_That_Spans_Generations_Alexander_von_Longname_Tr3.mp3 ├── strange_audiobook_1_Mystery_Series_Mystery_of_the_Lost_City_Jane_Doe_Tr1.mp3 ├── strange_audiobook_21_Audiobook___Symbols___________Audiobook___Symbols___________Author_Plus-Minus___Tr1.mp3 ├── strange_audiobook_22_Audiobook___Symbols___________Audiobook___Symbols___________Author_Plus-Minus___Tr2.mp3 ├── strange_audiobook_23_Audiobook___Symbols___________Audiobook___Symbols___________Author_Plus-Minus___Tr3.mp3 ├── strange_audiobook_26_Series_With_Tabs__Audiobook_With_Spaces__Author_With_Spaces__Tr1.mp3 ├── strange_audiobook_27_Series_With_Tabs__Audiobook_With_Spaces__Author_With_Spaces__Tr2.mp3 ├── strange_audiobook_28_Series_With_Tabs__Audiobook_With_Spaces__Author_With_Spaces__Tr3.mp3 ├── strange_audiobook_2_Mystery_Series_Mystery_of_the_Lost_City_Jane_Doe_Tr2.mp3 ├── strange_audiobook_31_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji_____Tr1.mp3 ├── strange_audiobook_32_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji_____Tr2.mp3 ├── strange_audiobook_33_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji_____Tr3.mp3 ├── strange_audiobook_3_Mystery_Series_Mystery_of_the_Lost_City_Jane_Doe_Tr3.mp3 ├── strange_audiobook_6_Epic_Saga__Adventure__Quest___Glory__John_Smith_Tr1.mp3 ├── strange_audiobook_7_Epic_Saga__Adventure__Quest___Glory__John_Smith_Tr2.mp3 └── strange_audiobook_8_Epic_Saga__Adventure__Quest___Glory__John_Smith_Tr3.mp3 ├── mp3flat ├── charlesdexterward_01_lovecraft_64kb.mp3 ├── falstaffswedding1766version_1_kenrick_64kb.mp3 └── perouse_01_scott_64kb.mp3 ├── mp3track ├── strange_audiobook_31_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji_____Tr1.mp3 ├── strange_audiobook_32_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji_____Tr2.mp3 └── strange_audiobook_33_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji_____Tr3.mp3 ├── randomAudiobooks.sh ├── randombooks.sh └── test-scenarios ├── mixed-unrelated ├── book1.mp3 └── book2.mp3 ├── no-tracks ├── part1_notracks.mp3 └── part2_notracks.mp3 ├── non-audio-only ├── book.xml └── readme.txt └── single-file └── single_book.mp3 /.codecov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/.codecov.yml -------------------------------------------------------------------------------- /.commitlintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/.commitlintrc.json -------------------------------------------------------------------------------- /.conventional-pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/.conventional-pre-commit-config.yaml -------------------------------------------------------------------------------- /.github/workflows/docker-publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/.github/workflows/docker-publish.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/slsa-build.yml.disabled: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/.github/workflows/slsa-build.yml.disabled -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .DS_Store 3 | dist/ 4 | .idea/ 5 | -------------------------------------------------------------------------------- /.goreleaser.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/.goreleaser.yaml -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/README.md -------------------------------------------------------------------------------- /cmd/gui.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/cmd/gui.go -------------------------------------------------------------------------------- /cmd/gui_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/cmd/gui_test.go -------------------------------------------------------------------------------- /cmd/root.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/cmd/root.go -------------------------------------------------------------------------------- /cmd/root_filename_prototype.go.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/cmd/root_filename_prototype.go.example -------------------------------------------------------------------------------- /cmd/tests/embedded_metadata/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/cmd/tests/embedded_metadata/main.go -------------------------------------------------------------------------------- /cmd/tests/field_mapping/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/cmd/tests/field_mapping/main.go -------------------------------------------------------------------------------- /cmd/tests/multi_file_album/album_display/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/cmd/tests/multi_file_album/album_display/main.go -------------------------------------------------------------------------------- /cmd/tests/multi_file_album/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/cmd/tests/multi_file_album/main.go -------------------------------------------------------------------------------- /cmd/tests/special_character_album/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/cmd/tests/special_character_album/main.go -------------------------------------------------------------------------------- /cmd/update.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/cmd/update.go -------------------------------------------------------------------------------- /cmd/update_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/cmd/update_test.go -------------------------------------------------------------------------------- /cmd/version.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/cmd/version.go -------------------------------------------------------------------------------- /cmd/version_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/cmd/version_test.go -------------------------------------------------------------------------------- /docs/issues.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/docs/issues.jpg -------------------------------------------------------------------------------- /docs/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/docs/logo.png -------------------------------------------------------------------------------- /docs/remove_books.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/docs/remove_books.jpg -------------------------------------------------------------------------------- /docs/store_metadata.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/docs/store_metadata.jpg -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/go.sum -------------------------------------------------------------------------------- /internal/organizer/album_detection.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/album_detection.go -------------------------------------------------------------------------------- /internal/organizer/album_detection_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/album_detection_test.go -------------------------------------------------------------------------------- /internal/organizer/album_detection_test_new.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/album_detection_test_new.go -------------------------------------------------------------------------------- /internal/organizer/album_handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/album_handler.go -------------------------------------------------------------------------------- /internal/organizer/album_utils.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/album_utils.go -------------------------------------------------------------------------------- /internal/organizer/field_mapping_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/field_mapping_test.go -------------------------------------------------------------------------------- /internal/organizer/integration/integration_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/integration/integration_test.go -------------------------------------------------------------------------------- /internal/organizer/integration/organizer_integration_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/integration/organizer_integration_test.go -------------------------------------------------------------------------------- /internal/organizer/integration/organizer_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/integration/organizer_test.go -------------------------------------------------------------------------------- /internal/organizer/integration/test_utils.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/integration/test_utils.go -------------------------------------------------------------------------------- /internal/organizer/layout_integration_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/layout_integration_test.go -------------------------------------------------------------------------------- /internal/organizer/layout_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/layout_test.go -------------------------------------------------------------------------------- /internal/organizer/logging.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/logging.go -------------------------------------------------------------------------------- /internal/organizer/logging_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/logging_test.go -------------------------------------------------------------------------------- /internal/organizer/metadata_formatter.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/metadata_formatter.go -------------------------------------------------------------------------------- /internal/organizer/metadata_formatter_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/metadata_formatter_test.go -------------------------------------------------------------------------------- /internal/organizer/metadata_providers.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/metadata_providers.go -------------------------------------------------------------------------------- /internal/organizer/metadata_providers_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/metadata_providers_test.go -------------------------------------------------------------------------------- /internal/organizer/organize.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/organize.go -------------------------------------------------------------------------------- /internal/organizer/organize_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/organize_test.go -------------------------------------------------------------------------------- /internal/organizer/organizer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/organizer.go -------------------------------------------------------------------------------- /internal/organizer/organizer_execute_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/organizer_execute_test.go -------------------------------------------------------------------------------- /internal/organizer/path.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/path.go -------------------------------------------------------------------------------- /internal/organizer/path_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/path_test.go -------------------------------------------------------------------------------- /internal/organizer/prompt.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/prompt.go -------------------------------------------------------------------------------- /internal/organizer/prompt_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/prompt_test.go -------------------------------------------------------------------------------- /internal/organizer/series_extraction_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/series_extraction_test.go -------------------------------------------------------------------------------- /internal/organizer/styles.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/styles.go -------------------------------------------------------------------------------- /internal/organizer/tests/embedded_metadata_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/tests/embedded_metadata_test.go -------------------------------------------------------------------------------- /internal/organizer/types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/organizer/types.go -------------------------------------------------------------------------------- /internal/tui/app.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/tui/app.go -------------------------------------------------------------------------------- /internal/tui/models/booklist.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/tui/models/booklist.go -------------------------------------------------------------------------------- /internal/tui/models/booklist_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/tui/models/booklist_test.go -------------------------------------------------------------------------------- /internal/tui/models/command_output.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/tui/models/command_output.go -------------------------------------------------------------------------------- /internal/tui/models/dirpicker.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/tui/models/dirpicker.go -------------------------------------------------------------------------------- /internal/tui/models/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/tui/models/main.go -------------------------------------------------------------------------------- /internal/tui/models/main_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/tui/models/main_test.go -------------------------------------------------------------------------------- /internal/tui/models/output_path.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/tui/models/output_path.go -------------------------------------------------------------------------------- /internal/tui/models/path_utils.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/tui/models/path_utils.go -------------------------------------------------------------------------------- /internal/tui/models/preview.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/tui/models/preview.go -------------------------------------------------------------------------------- /internal/tui/models/preview_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/tui/models/preview_test.go -------------------------------------------------------------------------------- /internal/tui/models/process.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/tui/models/process.go -------------------------------------------------------------------------------- /internal/tui/models/process_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/tui/models/process_test.go -------------------------------------------------------------------------------- /internal/tui/models/scan.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/tui/models/scan.go -------------------------------------------------------------------------------- /internal/tui/models/scan_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/tui/models/scan_test.go -------------------------------------------------------------------------------- /internal/tui/models/settings.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/tui/models/settings.go -------------------------------------------------------------------------------- /internal/tui/models/settings_redesign.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/tui/models/settings_redesign.go -------------------------------------------------------------------------------- /internal/tui/models/settings_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/internal/tui/models/settings_test.go -------------------------------------------------------------------------------- /main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/main.go -------------------------------------------------------------------------------- /main_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/main_test.go -------------------------------------------------------------------------------- /sonar-project.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/sonar-project.properties -------------------------------------------------------------------------------- /testdata/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/README.md -------------------------------------------------------------------------------- /testdata/create_bad_metadata_ffmpeg.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/create_bad_metadata_ffmpeg.sh -------------------------------------------------------------------------------- /testdata/create_bad_metadata_test_files.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/create_bad_metadata_test_files.sh -------------------------------------------------------------------------------- /testdata/epub/strange_book_10__.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/strange_book_10__.epub -------------------------------------------------------------------------------- /testdata/epub/strange_book_11_Long_Title_With_Colons_(Part_1)_.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/strange_book_11_Long_Title_With_Colons_(Part_1)_.epub -------------------------------------------------------------------------------- /testdata/epub/strange_book_12_Book.With.Dots_.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/strange_book_12_Book.With.Dots_.epub -------------------------------------------------------------------------------- /testdata/epub/strange_book_13__Book_With_Leading_Spaces_.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/strange_book_13__Book_With_Leading_Spaces_.epub -------------------------------------------------------------------------------- /testdata/epub/strange_book_14_Book_With_Trailing_Spaces_.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/strange_book_14_Book_With_Trailing_Spaces_.epub -------------------------------------------------------------------------------- /testdata/epub/strange_book_15_Book_With_Multiple_Spaces_.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/strange_book_15_Book_With_Multiple_Spaces_.epub -------------------------------------------------------------------------------- /testdata/epub/strange_book_16_Book_With_Emoji_🔍_.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/strange_book_16_Book_With_Emoji_🔍_.epub -------------------------------------------------------------------------------- /testdata/epub/strange_book_17_Book_With_HTML_bTagsb_.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/strange_book_17_Book_With_HTML_bTagsb_.epub -------------------------------------------------------------------------------- /testdata/epub/strange_book_18_Multi-Author_Book_.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/strange_book_18_Multi-Author_Book_.epub -------------------------------------------------------------------------------- /testdata/epub/strange_book_19_Three_Author_Book_.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/strange_book_19_Three_Author_Book_.epub -------------------------------------------------------------------------------- /testdata/epub/strange_book_1_The_Book_With_Colons_.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/strange_book_1_The_Book_With_Colons_.epub -------------------------------------------------------------------------------- /testdata/epub/strange_book_20_Complex_Authors_.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/strange_book_20_Complex_Authors_.epub -------------------------------------------------------------------------------- /testdata/epub/strange_book_2_Book_&_Symbols_%_$_#_@_!_.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/strange_book_2_Book_&_Symbols_%_$_#_@_!_.epub -------------------------------------------------------------------------------- /testdata/epub/strange_book_3_Café_au_lait_.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/strange_book_3_Café_au_lait_.epub -------------------------------------------------------------------------------- /testdata/epub/strange_book_4_This_is_an_extremely_long_title_that_goes_on_and_on_.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/strange_book_4_This_is_an_extremely_long_title_that_goes_on_and_on_.epub -------------------------------------------------------------------------------- /testdata/epub/strange_book_5_Book_With_Control_Characters_.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/strange_book_5_Book_With_Control_Characters_.epub -------------------------------------------------------------------------------- /testdata/epub/strange_book_6__Book_With_Many_Spaces_.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/strange_book_6__Book_With_Many_Spaces_.epub -------------------------------------------------------------------------------- /testdata/epub/strange_book_7_Book_Quoted_Title_.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/strange_book_7_Book_Quoted_Title_.epub -------------------------------------------------------------------------------- /testdata/epub/strange_book_8__.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/strange_book_8__.epub -------------------------------------------------------------------------------- /testdata/epub/strange_book_9_Book_Café_&_Symbols!_.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/strange_book_9_Book_Café_&_Symbols!_.epub -------------------------------------------------------------------------------- /testdata/epub/title-author-series1.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/title-author-series1.epub -------------------------------------------------------------------------------- /testdata/epub/title-author-series2.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/title-author-series2.epub -------------------------------------------------------------------------------- /testdata/epub/title-author-series3.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/title-author-series3.epub -------------------------------------------------------------------------------- /testdata/epub/title-author.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/epub/title-author.epub -------------------------------------------------------------------------------- /testdata/m4b/bad_metadata/empty.m4a: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /testdata/m4b/bad_metadata/empty_metadata.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/bad_metadata/empty_metadata.m4a -------------------------------------------------------------------------------- /testdata/m4b/bad_metadata/invalid_track.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/bad_metadata/invalid_track.m4a -------------------------------------------------------------------------------- /testdata/m4b/bad_metadata/long_fields.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/bad_metadata/long_fields.m4a -------------------------------------------------------------------------------- /testdata/m4b/bad_metadata/missing_album.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/bad_metadata/missing_album.m4a -------------------------------------------------------------------------------- /testdata/m4b/bad_metadata/missing_artist.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/bad_metadata/missing_artist.m4a -------------------------------------------------------------------------------- /testdata/m4b/bad_metadata/missing_title.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/bad_metadata/missing_title.m4a -------------------------------------------------------------------------------- /testdata/m4b/bad_metadata/missing_track.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/bad_metadata/missing_track.m4a -------------------------------------------------------------------------------- /testdata/m4b/bad_metadata/no_album.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/bad_metadata/no_album.m4a -------------------------------------------------------------------------------- /testdata/m4b/bad_metadata/no_artist.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/bad_metadata/no_artist.m4a -------------------------------------------------------------------------------- /testdata/m4b/bad_metadata/no_title.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/bad_metadata/no_title.m4a -------------------------------------------------------------------------------- /testdata/m4b/bad_metadata/no_track.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/bad_metadata/no_track.m4a -------------------------------------------------------------------------------- /testdata/m4b/bad_metadata/only_album.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/bad_metadata/only_album.m4a -------------------------------------------------------------------------------- /testdata/m4b/bad_metadata/only_artist.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/bad_metadata/only_artist.m4a -------------------------------------------------------------------------------- /testdata/m4b/bad_metadata/only_title.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/bad_metadata/only_title.m4a -------------------------------------------------------------------------------- /testdata/m4b/bad_metadata/special_chars.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/bad_metadata/special_chars.m4a -------------------------------------------------------------------------------- /testdata/m4b/strange_audiobook_10_Epic_Saga__Adventure__Quest___Glory__John_Smith.m4b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/strange_audiobook_10_Epic_Saga__Adventure__Quest___Glory__John_Smith.m4b -------------------------------------------------------------------------------- /testdata/m4b/strange_audiobook_14_Tales_of__ngstr_m___Caf__Chronicles_Mar_a_L_pez_Tr1.m4b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/strange_audiobook_14_Tales_of__ngstr_m___Caf__Chronicles_Mar_a_L_pez_Tr1.m4b -------------------------------------------------------------------------------- /testdata/m4b/strange_audiobook_15_Tales_of__ngstr_m___Caf__Chronicles_Mar_a_L_pez.m4b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/strange_audiobook_15_Tales_of__ngstr_m___Caf__Chronicles_Mar_a_L_pez.m4b -------------------------------------------------------------------------------- /testdata/m4b/strange_audiobook_19_Saga_of_Endless_Horizons_The_Epic_Tale_That_Spans_Generations_Alexander_von_Longname_Tr1.m4b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/strange_audiobook_19_Saga_of_Endless_Horizons_The_Epic_Tale_That_Spans_Generations_Alexander_von_Longname_Tr1.m4b -------------------------------------------------------------------------------- /testdata/m4b/strange_audiobook_20_Saga_of_Endless_Horizons_The_Epic_Tale_That_Spans_Generations_Alexander_von_Longname.m4b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/strange_audiobook_20_Saga_of_Endless_Horizons_The_Epic_Tale_That_Spans_Generations_Alexander_von_Longname.m4b -------------------------------------------------------------------------------- /testdata/m4b/strange_audiobook_24_Audiobook___Symbols___________Audiobook___Symbols___________Author_Plus-Minus___Tr1.m4b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/strange_audiobook_24_Audiobook___Symbols___________Audiobook___Symbols___________Author_Plus-Minus___Tr1.m4b -------------------------------------------------------------------------------- /testdata/m4b/strange_audiobook_25_Audiobook___Symbols___________Audiobook___Symbols___________Author_Plus-Minus__.m4b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/strange_audiobook_25_Audiobook___Symbols___________Audiobook___Symbols___________Author_Plus-Minus__.m4b -------------------------------------------------------------------------------- /testdata/m4b/strange_audiobook_29_Series_With_Tabs__Audiobook_With_Spaces__Author_With_Spaces__Tr1.m4b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/strange_audiobook_29_Series_With_Tabs__Audiobook_With_Spaces__Author_With_Spaces__Tr1.m4b -------------------------------------------------------------------------------- /testdata/m4b/strange_audiobook_30_Series_With_Tabs__Audiobook_With_Spaces__Author_With_Spaces_.m4b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/strange_audiobook_30_Series_With_Tabs__Audiobook_With_Spaces__Author_With_Spaces_.m4b -------------------------------------------------------------------------------- /testdata/m4b/strange_audiobook_34_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji_____Tr1.m4b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/strange_audiobook_34_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji_____Tr1.m4b -------------------------------------------------------------------------------- /testdata/m4b/strange_audiobook_35_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji____.m4b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/strange_audiobook_35_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji____.m4b -------------------------------------------------------------------------------- /testdata/m4b/strange_audiobook_4_Mystery_Series_Mystery_of_the_Lost_City_Jane_Doe_Tr1.m4b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/strange_audiobook_4_Mystery_Series_Mystery_of_the_Lost_City_Jane_Doe_Tr1.m4b -------------------------------------------------------------------------------- /testdata/m4b/strange_audiobook_5_Mystery_Series_Mystery_of_the_Lost_City_Jane_Doe.m4b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/strange_audiobook_5_Mystery_Series_Mystery_of_the_Lost_City_Jane_Doe.m4b -------------------------------------------------------------------------------- /testdata/m4b/strange_audiobook_9_Epic_Saga__Adventure__Quest___Glory__John_Smith_Tr1.m4b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/m4b/strange_audiobook_9_Epic_Saga__Adventure__Quest___Glory__John_Smith_Tr1.m4b -------------------------------------------------------------------------------- /testdata/mp3-badmetadata/empty.mp3: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /testdata/mp3-badmetadata/empty_metadata.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3-badmetadata/empty_metadata.mp3 -------------------------------------------------------------------------------- /testdata/mp3-badmetadata/invalid_track.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3-badmetadata/invalid_track.mp3 -------------------------------------------------------------------------------- /testdata/mp3-badmetadata/long_fields.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3-badmetadata/long_fields.mp3 -------------------------------------------------------------------------------- /testdata/mp3-badmetadata/missing_album.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3-badmetadata/missing_album.mp3 -------------------------------------------------------------------------------- /testdata/mp3-badmetadata/missing_artist.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3-badmetadata/missing_artist.mp3 -------------------------------------------------------------------------------- /testdata/mp3-badmetadata/missing_title.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3-badmetadata/missing_title.mp3 -------------------------------------------------------------------------------- /testdata/mp3-badmetadata/missing_track.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3-badmetadata/missing_track.mp3 -------------------------------------------------------------------------------- /testdata/mp3-badmetadata/no_album.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3-badmetadata/no_album.mp3 -------------------------------------------------------------------------------- /testdata/mp3-badmetadata/no_artist.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3-badmetadata/no_artist.mp3 -------------------------------------------------------------------------------- /testdata/mp3-badmetadata/no_title.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3-badmetadata/no_title.mp3 -------------------------------------------------------------------------------- /testdata/mp3-badmetadata/no_track.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3-badmetadata/no_track.mp3 -------------------------------------------------------------------------------- /testdata/mp3-badmetadata/only_album.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3-badmetadata/only_album.mp3 -------------------------------------------------------------------------------- /testdata/mp3-badmetadata/only_artist.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3-badmetadata/only_artist.mp3 -------------------------------------------------------------------------------- /testdata/mp3-badmetadata/only_title.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3-badmetadata/only_title.mp3 -------------------------------------------------------------------------------- /testdata/mp3-badmetadata/special_chars.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3-badmetadata/special_chars.mp3 -------------------------------------------------------------------------------- /testdata/mp3/strange_audiobook_11_Tales_of__ngstr_m___Caf__Chronicles_Mar_a_L_pez_Tr1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3/strange_audiobook_11_Tales_of__ngstr_m___Caf__Chronicles_Mar_a_L_pez_Tr1.mp3 -------------------------------------------------------------------------------- /testdata/mp3/strange_audiobook_12_Tales_of__ngstr_m___Caf__Chronicles_Mar_a_L_pez_Tr2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3/strange_audiobook_12_Tales_of__ngstr_m___Caf__Chronicles_Mar_a_L_pez_Tr2.mp3 -------------------------------------------------------------------------------- /testdata/mp3/strange_audiobook_13_Tales_of__ngstr_m___Caf__Chronicles_Mar_a_L_pez_Tr3.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3/strange_audiobook_13_Tales_of__ngstr_m___Caf__Chronicles_Mar_a_L_pez_Tr3.mp3 -------------------------------------------------------------------------------- /testdata/mp3/strange_audiobook_16_Saga_of_Endless_Horizons_The_Epic_Tale_That_Spans_Generations_Alexander_von_Longname_Tr1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3/strange_audiobook_16_Saga_of_Endless_Horizons_The_Epic_Tale_That_Spans_Generations_Alexander_von_Longname_Tr1.mp3 -------------------------------------------------------------------------------- /testdata/mp3/strange_audiobook_17_Saga_of_Endless_Horizons_The_Epic_Tale_That_Spans_Generations_Alexander_von_Longname_Tr2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3/strange_audiobook_17_Saga_of_Endless_Horizons_The_Epic_Tale_That_Spans_Generations_Alexander_von_Longname_Tr2.mp3 -------------------------------------------------------------------------------- /testdata/mp3/strange_audiobook_18_Saga_of_Endless_Horizons_The_Epic_Tale_That_Spans_Generations_Alexander_von_Longname_Tr3.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3/strange_audiobook_18_Saga_of_Endless_Horizons_The_Epic_Tale_That_Spans_Generations_Alexander_von_Longname_Tr3.mp3 -------------------------------------------------------------------------------- /testdata/mp3/strange_audiobook_1_Mystery_Series_Mystery_of_the_Lost_City_Jane_Doe_Tr1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3/strange_audiobook_1_Mystery_Series_Mystery_of_the_Lost_City_Jane_Doe_Tr1.mp3 -------------------------------------------------------------------------------- /testdata/mp3/strange_audiobook_21_Audiobook___Symbols___________Audiobook___Symbols___________Author_Plus-Minus___Tr1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3/strange_audiobook_21_Audiobook___Symbols___________Audiobook___Symbols___________Author_Plus-Minus___Tr1.mp3 -------------------------------------------------------------------------------- /testdata/mp3/strange_audiobook_22_Audiobook___Symbols___________Audiobook___Symbols___________Author_Plus-Minus___Tr2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3/strange_audiobook_22_Audiobook___Symbols___________Audiobook___Symbols___________Author_Plus-Minus___Tr2.mp3 -------------------------------------------------------------------------------- /testdata/mp3/strange_audiobook_23_Audiobook___Symbols___________Audiobook___Symbols___________Author_Plus-Minus___Tr3.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3/strange_audiobook_23_Audiobook___Symbols___________Audiobook___Symbols___________Author_Plus-Minus___Tr3.mp3 -------------------------------------------------------------------------------- /testdata/mp3/strange_audiobook_26_Series_With_Tabs__Audiobook_With_Spaces__Author_With_Spaces__Tr1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3/strange_audiobook_26_Series_With_Tabs__Audiobook_With_Spaces__Author_With_Spaces__Tr1.mp3 -------------------------------------------------------------------------------- /testdata/mp3/strange_audiobook_27_Series_With_Tabs__Audiobook_With_Spaces__Author_With_Spaces__Tr2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3/strange_audiobook_27_Series_With_Tabs__Audiobook_With_Spaces__Author_With_Spaces__Tr2.mp3 -------------------------------------------------------------------------------- /testdata/mp3/strange_audiobook_28_Series_With_Tabs__Audiobook_With_Spaces__Author_With_Spaces__Tr3.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3/strange_audiobook_28_Series_With_Tabs__Audiobook_With_Spaces__Author_With_Spaces__Tr3.mp3 -------------------------------------------------------------------------------- /testdata/mp3/strange_audiobook_2_Mystery_Series_Mystery_of_the_Lost_City_Jane_Doe_Tr2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3/strange_audiobook_2_Mystery_Series_Mystery_of_the_Lost_City_Jane_Doe_Tr2.mp3 -------------------------------------------------------------------------------- /testdata/mp3/strange_audiobook_31_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji_____Tr1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3/strange_audiobook_31_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji_____Tr1.mp3 -------------------------------------------------------------------------------- /testdata/mp3/strange_audiobook_32_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji_____Tr2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3/strange_audiobook_32_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji_____Tr2.mp3 -------------------------------------------------------------------------------- /testdata/mp3/strange_audiobook_33_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji_____Tr3.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3/strange_audiobook_33_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji_____Tr3.mp3 -------------------------------------------------------------------------------- /testdata/mp3/strange_audiobook_3_Mystery_Series_Mystery_of_the_Lost_City_Jane_Doe_Tr3.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3/strange_audiobook_3_Mystery_Series_Mystery_of_the_Lost_City_Jane_Doe_Tr3.mp3 -------------------------------------------------------------------------------- /testdata/mp3/strange_audiobook_6_Epic_Saga__Adventure__Quest___Glory__John_Smith_Tr1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3/strange_audiobook_6_Epic_Saga__Adventure__Quest___Glory__John_Smith_Tr1.mp3 -------------------------------------------------------------------------------- /testdata/mp3/strange_audiobook_7_Epic_Saga__Adventure__Quest___Glory__John_Smith_Tr2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3/strange_audiobook_7_Epic_Saga__Adventure__Quest___Glory__John_Smith_Tr2.mp3 -------------------------------------------------------------------------------- /testdata/mp3/strange_audiobook_8_Epic_Saga__Adventure__Quest___Glory__John_Smith_Tr3.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3/strange_audiobook_8_Epic_Saga__Adventure__Quest___Glory__John_Smith_Tr3.mp3 -------------------------------------------------------------------------------- /testdata/mp3flat/charlesdexterward_01_lovecraft_64kb.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3flat/charlesdexterward_01_lovecraft_64kb.mp3 -------------------------------------------------------------------------------- /testdata/mp3flat/falstaffswedding1766version_1_kenrick_64kb.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3flat/falstaffswedding1766version_1_kenrick_64kb.mp3 -------------------------------------------------------------------------------- /testdata/mp3flat/perouse_01_scott_64kb.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3flat/perouse_01_scott_64kb.mp3 -------------------------------------------------------------------------------- /testdata/mp3track/strange_audiobook_31_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji_____Tr1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3track/strange_audiobook_31_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji_____Tr1.mp3 -------------------------------------------------------------------------------- /testdata/mp3track/strange_audiobook_32_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji_____Tr2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3track/strange_audiobook_32_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji_____Tr2.mp3 -------------------------------------------------------------------------------- /testdata/mp3track/strange_audiobook_33_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji_____Tr3.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/mp3track/strange_audiobook_33_Series_With_Emoji____Audiobook_With_Emoji____Author_With_Emoji_____Tr3.mp3 -------------------------------------------------------------------------------- /testdata/randomAudiobooks.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/randomAudiobooks.sh -------------------------------------------------------------------------------- /testdata/randombooks.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/randombooks.sh -------------------------------------------------------------------------------- /testdata/test-scenarios/mixed-unrelated/book1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/test-scenarios/mixed-unrelated/book1.mp3 -------------------------------------------------------------------------------- /testdata/test-scenarios/mixed-unrelated/book2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/test-scenarios/mixed-unrelated/book2.mp3 -------------------------------------------------------------------------------- /testdata/test-scenarios/no-tracks/part1_notracks.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/test-scenarios/no-tracks/part1_notracks.mp3 -------------------------------------------------------------------------------- /testdata/test-scenarios/no-tracks/part2_notracks.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/test-scenarios/no-tracks/part2_notracks.mp3 -------------------------------------------------------------------------------- /testdata/test-scenarios/non-audio-only/book.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/test-scenarios/non-audio-only/book.xml -------------------------------------------------------------------------------- /testdata/test-scenarios/non-audio-only/readme.txt: -------------------------------------------------------------------------------- 1 | This is a text file 2 | -------------------------------------------------------------------------------- /testdata/test-scenarios/single-file/single_book.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeeftor/audiobook-organizer/HEAD/testdata/test-scenarios/single-file/single_book.mp3 --------------------------------------------------------------------------------