audiometa-python 0.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. audiometa/__init__.py +1297 -0
  2. audiometa/__main__.py +6 -0
  3. audiometa/_audio_file.py +607 -0
  4. audiometa/cli.py +476 -0
  5. audiometa/exceptions.py +167 -0
  6. audiometa/manager/_MetadataManager.py +768 -0
  7. audiometa/manager/__init__.py +1 -0
  8. audiometa/manager/_rating_supporting/_RatingSupportingMetadataManager.py +250 -0
  9. audiometa/manager/_rating_supporting/__init__.py +1 -0
  10. audiometa/manager/_rating_supporting/id3v2/_Id3v2Manager.py +1032 -0
  11. audiometa/manager/_rating_supporting/id3v2/__init__.py +25 -0
  12. audiometa/manager/_rating_supporting/id3v2/_id3v2_constants.py +11 -0
  13. audiometa/manager/_rating_supporting/riff/_RiffManager.py +1002 -0
  14. audiometa/manager/_rating_supporting/riff/__init__.py +25 -0
  15. audiometa/manager/_rating_supporting/riff/_riff_constants.py +17 -0
  16. audiometa/manager/_rating_supporting/vorbis/_VorbisManager.py +542 -0
  17. audiometa/manager/_rating_supporting/vorbis/__init__.py +17 -0
  18. audiometa/manager/_rating_supporting/vorbis/_vorbis_constants.py +6 -0
  19. audiometa/manager/id3v1/_Id3v1Manager.py +512 -0
  20. audiometa/manager/id3v1/__init__.py +1 -0
  21. audiometa/manager/id3v1/_constants.py +8 -0
  22. audiometa/manager/id3v1/id3v1_raw_metadata.py +242 -0
  23. audiometa/manager/id3v1/id3v1_raw_metadata_key.py +13 -0
  24. audiometa/test/__init__.py +1 -0
  25. audiometa/test/assets/create_test_files.py +72 -0
  26. audiometa/test/helpers/__init__.py +51 -0
  27. audiometa/test/helpers/common/__init__.py +6 -0
  28. audiometa/test/helpers/common/audio_file_creator.py +68 -0
  29. audiometa/test/helpers/common/external_tool_runner.py +74 -0
  30. audiometa/test/helpers/id3v1/__init__.py +8 -0
  31. audiometa/test/helpers/id3v1/id3v1_header_verifier.py +18 -0
  32. audiometa/test/helpers/id3v1/id3v1_metadata_deleter.py +37 -0
  33. audiometa/test/helpers/id3v1/id3v1_metadata_getter.py +61 -0
  34. audiometa/test/helpers/id3v1/id3v1_metadata_setter.py +82 -0
  35. audiometa/test/helpers/id3v2/__init__.py +28 -0
  36. audiometa/test/helpers/id3v2/id3v2_frame_manual_creator.py +349 -0
  37. audiometa/test/helpers/id3v2/id3v2_header_verifier.py +38 -0
  38. audiometa/test/helpers/id3v2/id3v2_metadata_deleter.py +56 -0
  39. audiometa/test/helpers/id3v2/id3v2_metadata_getter.py +189 -0
  40. audiometa/test/helpers/id3v2/id3v2_metadata_setter.py +506 -0
  41. audiometa/test/helpers/riff/__init__.py +8 -0
  42. audiometa/test/helpers/riff/riff_header_verifier.py +85 -0
  43. audiometa/test/helpers/riff/riff_manual_metadata_creator.py +298 -0
  44. audiometa/test/helpers/riff/riff_metadata_deleter.py +56 -0
  45. audiometa/test/helpers/riff/riff_metadata_getter.py +219 -0
  46. audiometa/test/helpers/riff/riff_metadata_setter.py +374 -0
  47. audiometa/test/helpers/scripts/__init__.py +0 -0
  48. audiometa/test/helpers/technical_info_inspector.py +115 -0
  49. audiometa/test/helpers/temp_file_with_metadata.py +82 -0
  50. audiometa/test/helpers/vorbis/__init__.py +8 -0
  51. audiometa/test/helpers/vorbis/vorbis_header_verifier.py +31 -0
  52. audiometa/test/helpers/vorbis/vorbis_metadata_deleter.py +49 -0
  53. audiometa/test/helpers/vorbis/vorbis_metadata_getter.py +67 -0
  54. audiometa/test/helpers/vorbis/vorbis_metadata_setter.py +221 -0
  55. audiometa/test/tests/__init__.py +0 -0
  56. audiometa/test/tests/conftest.py +276 -0
  57. audiometa/test/tests/e2e/__init__.py +0 -0
  58. audiometa/test/tests/e2e/cli/__init__.py +0 -0
  59. audiometa/test/tests/e2e/cli/error_handling/__init__.py +1 -0
  60. audiometa/test/tests/e2e/cli/error_handling/test_command_structure_errors.py +77 -0
  61. audiometa/test/tests/e2e/cli/error_handling/test_file_access_errors.py +130 -0
  62. audiometa/test/tests/e2e/cli/error_handling/test_format_output_errors.py +118 -0
  63. audiometa/test/tests/e2e/cli/error_handling/test_input_validation_errors.py +172 -0
  64. audiometa/test/tests/e2e/cli/error_handling/test_missing_fields_validation.py +49 -0
  65. audiometa/test/tests/e2e/cli/error_handling/test_multiple_files_errors.py +160 -0
  66. audiometa/test/tests/e2e/cli/error_handling/test_rating_validation.py +90 -0
  67. audiometa/test/tests/e2e/cli/error_handling/test_year_validation.py +51 -0
  68. audiometa/test/tests/e2e/cli/read/__init__.py +0 -0
  69. audiometa/test/tests/e2e/cli/read/test_basic.py +58 -0
  70. audiometa/test/tests/e2e/cli/read/test_comprehensive.py +240 -0
  71. audiometa/test/tests/e2e/cli/read/test_formats.py +55 -0
  72. audiometa/test/tests/e2e/cli/read/test_metadata_content.py +164 -0
  73. audiometa/test/tests/e2e/cli/read/test_multiple_files.py +149 -0
  74. audiometa/test/tests/e2e/cli/read/test_options.py +88 -0
  75. audiometa/test/tests/e2e/cli/read/test_unified.py +84 -0
  76. audiometa/test/tests/e2e/cli/test_delete.py +20 -0
  77. audiometa/test/tests/e2e/cli/test_formatting.py +31 -0
  78. audiometa/test/tests/e2e/cli/test_help.py +41 -0
  79. audiometa/test/tests/e2e/cli/write/__init__.py +0 -0
  80. audiometa/test/tests/e2e/cli/write/test_basic.py +51 -0
  81. audiometa/test/tests/e2e/cli/write/test_comprehensive.py +210 -0
  82. audiometa/test/tests/e2e/cli/write/test_force_format.py +336 -0
  83. audiometa/test/tests/e2e/cli/write/test_integer_fields.py +145 -0
  84. audiometa/test/tests/e2e/cli/write/test_list_fields.py +107 -0
  85. audiometa/test/tests/e2e/cli/write/test_rating.py +74 -0
  86. audiometa/test/tests/e2e/cli/write/test_string_fields.py +54 -0
  87. audiometa/test/tests/e2e/cli/write/test_validation.py +85 -0
  88. audiometa/test/tests/e2e/scenarios/__init__.py +0 -0
  89. audiometa/test/tests/e2e/scenarios/test_user_scenarios.py +166 -0
  90. audiometa/test/tests/e2e/workflows/__init__.py +0 -0
  91. audiometa/test/tests/e2e/workflows/test_core_workflows.py +166 -0
  92. audiometa/test/tests/e2e/workflows/test_deletion_workflows.py +318 -0
  93. audiometa/test/tests/e2e/workflows/test_error_handling_workflows.py +165 -0
  94. audiometa/test/tests/e2e/workflows/test_format_specific_workflows.py +129 -0
  95. audiometa/test/tests/e2e/workflows/test_rating_workflows.py +124 -0
  96. audiometa/test/tests/integration/__init__.py +0 -0
  97. audiometa/test/tests/integration/audio_format/__init__.py +0 -0
  98. audiometa/test/tests/integration/audio_format/flac/__init__.py +0 -0
  99. audiometa/test/tests/integration/audio_format/flac/test_flac_delete_all.py +108 -0
  100. audiometa/test/tests/integration/audio_format/flac/test_flac_reading_all.py +61 -0
  101. audiometa/test/tests/integration/audio_format/flac/test_flac_reading_field.py +65 -0
  102. audiometa/test/tests/integration/audio_format/flac/test_flac_writing.py +69 -0
  103. audiometa/test/tests/integration/audio_format/mp3/__init__.py +0 -0
  104. audiometa/test/tests/integration/audio_format/mp3/test_mp3_delete_all.py +79 -0
  105. audiometa/test/tests/integration/audio_format/mp3/test_mp3_reading_all.py +61 -0
  106. audiometa/test/tests/integration/audio_format/mp3/test_mp3_reading_field.py +67 -0
  107. audiometa/test/tests/integration/audio_format/mp3/test_mp3_writing.py +60 -0
  108. audiometa/test/tests/integration/audio_format/wav/__init__.py +0 -0
  109. audiometa/test/tests/integration/audio_format/wav/test_wav_delete_all.py +87 -0
  110. audiometa/test/tests/integration/audio_format/wav/test_wav_reading_all.py +62 -0
  111. audiometa/test/tests/integration/audio_format/wav/test_wav_reading_field.py +57 -0
  112. audiometa/test/tests/integration/audio_format/wav/test_wav_with_id3v2_tags.py +83 -0
  113. audiometa/test/tests/integration/audio_format/wav/test_wav_writing.py +62 -0
  114. audiometa/test/tests/integration/conftest.py +29 -0
  115. audiometa/test/tests/integration/delete_all_metadata/__init__.py +1 -0
  116. audiometa/test/tests/integration/delete_all_metadata/test_audio_format_all.py +102 -0
  117. audiometa/test/tests/integration/delete_all_metadata/test_audio_format_header_deletion.py +77 -0
  118. audiometa/test/tests/integration/delete_all_metadata/test_basic_functionality.py +47 -0
  119. audiometa/test/tests/integration/delete_all_metadata/test_error_handling.py +24 -0
  120. audiometa/test/tests/integration/encoding/__init__.py +1 -0
  121. audiometa/test/tests/integration/encoding/test_encoding.py +88 -0
  122. audiometa/test/tests/integration/encoding/test_special_characters_edge_cases.py +223 -0
  123. audiometa/test/tests/integration/get_full_metadata/__init__.py +0 -0
  124. audiometa/test/tests/integration/get_full_metadata/test_audio_formats.py +122 -0
  125. audiometa/test/tests/integration/get_full_metadata/test_binary_data_filtering.py +250 -0
  126. audiometa/test/tests/integration/get_full_metadata/test_consistency.py +67 -0
  127. audiometa/test/tests/integration/get_full_metadata/test_edge_cases.py +123 -0
  128. audiometa/test/tests/integration/get_full_metadata/test_error_handling.py +40 -0
  129. audiometa/test/tests/integration/get_full_metadata/test_get_full_metadata.py +43 -0
  130. audiometa/test/tests/integration/get_full_metadata/test_options.py +207 -0
  131. audiometa/test/tests/integration/get_full_metadata/test_performance.py +95 -0
  132. audiometa/test/tests/integration/get_full_metadata/test_riff_bext.py +128 -0
  133. audiometa/test/tests/integration/get_full_metadata/test_structure.py +161 -0
  134. audiometa/test/tests/integration/metadata_field/__init__.py +0 -0
  135. audiometa/test/tests/integration/metadata_field/album/__init__.py +0 -0
  136. audiometa/test/tests/integration/metadata_field/album/test_deleting.py +73 -0
  137. audiometa/test/tests/integration/metadata_field/album/test_reading.py +36 -0
  138. audiometa/test/tests/integration/metadata_field/album/test_writing.py +50 -0
  139. audiometa/test/tests/integration/metadata_field/album_artists/__init__.py +0 -0
  140. audiometa/test/tests/integration/metadata_field/album_artists/test_deleting.py +83 -0
  141. audiometa/test/tests/integration/metadata_field/album_artists/test_reading.py +38 -0
  142. audiometa/test/tests/integration/metadata_field/album_artists/test_writing.py +52 -0
  143. audiometa/test/tests/integration/metadata_field/artists/__init__.py +0 -0
  144. audiometa/test/tests/integration/metadata_field/artists/test_deleting.py +68 -0
  145. audiometa/test/tests/integration/metadata_field/artists/test_reading.py +36 -0
  146. audiometa/test/tests/integration/metadata_field/artists/test_writing.py +46 -0
  147. audiometa/test/tests/integration/metadata_field/bpm/__init__.py +0 -0
  148. audiometa/test/tests/integration/metadata_field/bpm/test_deleting.py +75 -0
  149. audiometa/test/tests/integration/metadata_field/bpm/test_reading.py +32 -0
  150. audiometa/test/tests/integration/metadata_field/bpm/test_writing.py +56 -0
  151. audiometa/test/tests/integration/metadata_field/comment/__init__.py +0 -0
  152. audiometa/test/tests/integration/metadata_field/comment/test_deleting.py +68 -0
  153. audiometa/test/tests/integration/metadata_field/comment/test_reading.py +36 -0
  154. audiometa/test/tests/integration/metadata_field/comment/test_writing.py +49 -0
  155. audiometa/test/tests/integration/metadata_field/composer/__init__.py +0 -0
  156. audiometa/test/tests/integration/metadata_field/composer/test_deleting.py +75 -0
  157. audiometa/test/tests/integration/metadata_field/composer/test_reading.py +34 -0
  158. audiometa/test/tests/integration/metadata_field/composer/test_writing.py +41 -0
  159. audiometa/test/tests/integration/metadata_field/copyright/__init__.py +0 -0
  160. audiometa/test/tests/integration/metadata_field/copyright/test_deleting.py +81 -0
  161. audiometa/test/tests/integration/metadata_field/copyright/test_reading.py +35 -0
  162. audiometa/test/tests/integration/metadata_field/copyright/test_writing.py +41 -0
  163. audiometa/test/tests/integration/metadata_field/disc_number/__init__.py +0 -0
  164. audiometa/test/tests/integration/metadata_field/disc_number/test_deleting.py +97 -0
  165. audiometa/test/tests/integration/metadata_field/disc_number/test_reading.py +92 -0
  166. audiometa/test/tests/integration/metadata_field/disc_number/test_writing.py +153 -0
  167. audiometa/test/tests/integration/metadata_field/field_not_supported/__init__.py +0 -0
  168. audiometa/test/tests/integration/metadata_field/field_not_supported/test_deleting.py +56 -0
  169. audiometa/test/tests/integration/metadata_field/field_not_supported/test_reading.py +54 -0
  170. audiometa/test/tests/integration/metadata_field/field_not_supported/test_writing.py +61 -0
  171. audiometa/test/tests/integration/metadata_field/genre/__init__.py +0 -0
  172. audiometa/test/tests/integration/metadata_field/genre/reading/__init__.py +0 -0
  173. audiometa/test/tests/integration/metadata_field/genre/reading/metadata_format/__init__.py +0 -0
  174. audiometa/test/tests/integration/metadata_field/genre/reading/metadata_format/test_id3v1_reading.py +65 -0
  175. audiometa/test/tests/integration/metadata_field/genre/reading/metadata_format/test_id3v2_reading.py +25 -0
  176. audiometa/test/tests/integration/metadata_field/genre/reading/metadata_format/test_riff_reading.py +58 -0
  177. audiometa/test/tests/integration/metadata_field/genre/reading/metadata_format/test_vorbis_reading.py +61 -0
  178. audiometa/test/tests/integration/metadata_field/genre/reading/test_smart_reading.py +191 -0
  179. audiometa/test/tests/integration/metadata_field/genre/test_deleting.py +62 -0
  180. audiometa/test/tests/integration/metadata_field/genre/test_writing.py +64 -0
  181. audiometa/test/tests/integration/metadata_field/isrc/__init__.py +1 -0
  182. audiometa/test/tests/integration/metadata_field/isrc/test_deleting.py +31 -0
  183. audiometa/test/tests/integration/metadata_field/isrc/test_reading.py +35 -0
  184. audiometa/test/tests/integration/metadata_field/isrc/test_writing.py +165 -0
  185. audiometa/test/tests/integration/metadata_field/language/__init__.py +0 -0
  186. audiometa/test/tests/integration/metadata_field/language/test_deleting.py +75 -0
  187. audiometa/test/tests/integration/metadata_field/language/test_reading.py +39 -0
  188. audiometa/test/tests/integration/metadata_field/language/test_writing.py +43 -0
  189. audiometa/test/tests/integration/metadata_field/lyrics/__init__.py +0 -0
  190. audiometa/test/tests/integration/metadata_field/lyrics/test_deleting.py +129 -0
  191. audiometa/test/tests/integration/metadata_field/lyrics/test_reading.py +57 -0
  192. audiometa/test/tests/integration/metadata_field/lyrics/test_writing.py +59 -0
  193. audiometa/test/tests/integration/metadata_field/publisher/__init__.py +0 -0
  194. audiometa/test/tests/integration/metadata_field/publisher/test_deleting.py +88 -0
  195. audiometa/test/tests/integration/metadata_field/publisher/test_reading.py +32 -0
  196. audiometa/test/tests/integration/metadata_field/publisher/test_writing.py +47 -0
  197. audiometa/test/tests/integration/metadata_field/rating/__init__.py +0 -0
  198. audiometa/test/tests/integration/metadata_field/rating/reading/__init__.py +0 -0
  199. audiometa/test/tests/integration/metadata_field/rating/reading/test_base_100_proportional.py +81 -0
  200. audiometa/test/tests/integration/metadata_field/rating/reading/test_base_255_non_proportional.py +33 -0
  201. audiometa/test/tests/integration/metadata_field/rating/reading/test_base_255_proportional.py +58 -0
  202. audiometa/test/tests/integration/metadata_field/rating/test_deleting.py +117 -0
  203. audiometa/test/tests/integration/metadata_field/rating/test_error_handling.py +137 -0
  204. audiometa/test/tests/integration/metadata_field/rating/writing/__init__.py +0 -0
  205. audiometa/test/tests/integration/metadata_field/rating/writing/metadata_format/__init__.py +0 -0
  206. audiometa/test/tests/integration/metadata_field/rating/writing/metadata_format/test_id3v2.py +77 -0
  207. audiometa/test/tests/integration/metadata_field/rating/writing/metadata_format/test_riff.py +55 -0
  208. audiometa/test/tests/integration/metadata_field/rating/writing/metadata_format/test_vorbis.py +57 -0
  209. audiometa/test/tests/integration/metadata_field/rating/writing/test_comprehensive.py +192 -0
  210. audiometa/test/tests/integration/metadata_field/release_date/__init__.py +0 -0
  211. audiometa/test/tests/integration/metadata_field/release_date/test_deleting.py +74 -0
  212. audiometa/test/tests/integration/metadata_field/release_date/test_error_handling.py +82 -0
  213. audiometa/test/tests/integration/metadata_field/release_date/test_reading.py +59 -0
  214. audiometa/test/tests/integration/metadata_field/release_date/test_writing.py +49 -0
  215. audiometa/test/tests/integration/metadata_field/test_metadata_field_validation.py +135 -0
  216. audiometa/test/tests/integration/metadata_field/title/__init__.py +0 -0
  217. audiometa/test/tests/integration/metadata_field/title/test_deleting.py +73 -0
  218. audiometa/test/tests/integration/metadata_field/title/test_error_handling.py +47 -0
  219. audiometa/test/tests/integration/metadata_field/title/test_reading.py +36 -0
  220. audiometa/test/tests/integration/metadata_field/title/test_writing.py +64 -0
  221. audiometa/test/tests/integration/metadata_field/track_number/__init__.py +0 -0
  222. audiometa/test/tests/integration/metadata_field/track_number/reading/__init__.py +0 -0
  223. audiometa/test/tests/integration/metadata_field/track_number/reading/test_edge_cases.py +43 -0
  224. audiometa/test/tests/integration/metadata_field/track_number/reading/test_metadata_format.py +32 -0
  225. audiometa/test/tests/integration/metadata_field/track_number/test_deleting.py +59 -0
  226. audiometa/test/tests/integration/metadata_field/track_number/test_writing.py +73 -0
  227. audiometa/test/tests/integration/multiple_values/__init__.py +1 -0
  228. audiometa/test/tests/integration/multiple_values/reading/__init__.py +1 -0
  229. audiometa/test/tests/integration/multiple_values/reading/metadata_format/__init__.py +1 -0
  230. audiometa/test/tests/integration/multiple_values/reading/metadata_format/test_id3v1.py +23 -0
  231. audiometa/test/tests/integration/multiple_values/reading/metadata_format/test_id3v2_3.py +92 -0
  232. audiometa/test/tests/integration/multiple_values/reading/metadata_format/test_id3v2_4.py +216 -0
  233. audiometa/test/tests/integration/multiple_values/reading/metadata_format/test_riff.py +84 -0
  234. audiometa/test/tests/integration/multiple_values/reading/metadata_format/test_vorbis.py +169 -0
  235. audiometa/test/tests/integration/multiple_values/reading/test_performance_large_data.py +209 -0
  236. audiometa/test/tests/integration/multiple_values/reading/test_smart_parsing_scenarios.py +198 -0
  237. audiometa/test/tests/integration/multiple_values/reading/test_unicode_handling.py +24 -0
  238. audiometa/test/tests/integration/multiple_values/writing/__init__.py +1 -0
  239. audiometa/test/tests/integration/multiple_values/writing/metadata_format/__init__.py +1 -0
  240. audiometa/test/tests/integration/multiple_values/writing/metadata_format/test_id3v1.py +62 -0
  241. audiometa/test/tests/integration/multiple_values/writing/metadata_format/test_id3v2_3.py +36 -0
  242. audiometa/test/tests/integration/multiple_values/writing/metadata_format/test_id3v2_4.py +34 -0
  243. audiometa/test/tests/integration/multiple_values/writing/metadata_format/test_riff.py +32 -0
  244. audiometa/test/tests/integration/multiple_values/writing/metadata_format/test_vorbis.py +54 -0
  245. audiometa/test/tests/integration/multiple_values/writing/test_error_handling.py +42 -0
  246. audiometa/test/tests/integration/multiple_values/writing/test_large_values.py +98 -0
  247. audiometa/test/tests/integration/reading/__init__.py +1 -0
  248. audiometa/test/tests/integration/reading/test_read_multiple_metadata.py +80 -0
  249. audiometa/test/tests/integration/reading/test_reading_error_handling.py +36 -0
  250. audiometa/test/tests/integration/real_audio_files/__init__.py +0 -0
  251. audiometa/test/tests/integration/real_audio_files/test_reading.py +146 -0
  252. audiometa/test/tests/integration/real_audio_files/test_writing.py +198 -0
  253. audiometa/test/tests/integration/technical_info/__init__.py +0 -0
  254. audiometa/test/tests/integration/technical_info/flac_md5/__init__.py +0 -0
  255. audiometa/test/tests/integration/technical_info/flac_md5/conftest.py +103 -0
  256. audiometa/test/tests/integration/technical_info/flac_md5/test_invalid_md5/__init__.py +0 -0
  257. audiometa/test/tests/integration/technical_info/flac_md5/test_invalid_md5/test_audio_data_corruption.py +21 -0
  258. audiometa/test/tests/integration/technical_info/flac_md5/test_invalid_md5/test_flipped_md5.py +29 -0
  259. audiometa/test/tests/integration/technical_info/flac_md5/test_invalid_md5/test_non_flac_error.py +13 -0
  260. audiometa/test/tests/integration/technical_info/flac_md5/test_invalid_md5/test_partial_md5.py +29 -0
  261. audiometa/test/tests/integration/technical_info/flac_md5/test_invalid_md5/test_random_md5.py +29 -0
  262. audiometa/test/tests/integration/technical_info/flac_md5/test_invalid_md5/test_unset_md5.py +56 -0
  263. audiometa/test/tests/integration/technical_info/flac_md5/test_valid_md5.py +21 -0
  264. audiometa/test/tests/integration/technical_info/test_bitrate.py +79 -0
  265. audiometa/test/tests/integration/technical_info/test_channels.py +38 -0
  266. audiometa/test/tests/integration/technical_info/test_duration_in_sec.py +38 -0
  267. audiometa/test/tests/integration/technical_info/test_sample_rate.py +40 -0
  268. audiometa/test/tests/integration/test_audio_file.py +35 -0
  269. audiometa/test/tests/integration/test_audio_format_readable_after_update_all_metadata_formats.py +95 -0
  270. audiometa/test/tests/integration/writing/__init__.py +0 -0
  271. audiometa/test/tests/integration/writing/test_error_handling.py +44 -0
  272. audiometa/test/tests/integration/writing/test_forced_format.py +224 -0
  273. audiometa/test/tests/integration/writing/test_multiple_format_preservation.py +223 -0
  274. audiometa/test/tests/integration/writing/test_partial_update.py +36 -0
  275. audiometa/test/tests/integration/writing/writing_strategies/__init__.py +0 -0
  276. audiometa/test/tests/integration/writing/writing_strategies/test_cleanup_strategy.py +79 -0
  277. audiometa/test/tests/integration/writing/writing_strategies/test_preserve_strategy.py +76 -0
  278. audiometa/test/tests/integration/writing/writing_strategies/test_sync_strategy.py +215 -0
  279. audiometa/test/tests/integration/writing/writing_strategies/unsupported_fields/__init__.py +0 -0
  280. audiometa/test/tests/integration/writing/writing_strategies/unsupported_fields/test_fail_behavior.py +42 -0
  281. audiometa/test/tests/integration/writing/writing_strategies/unsupported_fields/test_no_writing_on_failure.py +93 -0
  282. audiometa/test/tests/integration/writing/writing_strategies/unsupported_fields/test_strategy_specific.py +99 -0
  283. audiometa/test/tests/unit/__init__.py +0 -0
  284. audiometa/test/tests/unit/audio_file/__init__.py +0 -0
  285. audiometa/test/tests/unit/audio_file/technical_info/__init__.py +0 -0
  286. audiometa/test/tests/unit/audio_file/technical_info/test_bitrate.py +26 -0
  287. audiometa/test/tests/unit/audio_file/technical_info/test_channels.py +31 -0
  288. audiometa/test/tests/unit/audio_file/technical_info/test_duration_in_sec.py +38 -0
  289. audiometa/test/tests/unit/audio_file/technical_info/test_error_handling.py +190 -0
  290. audiometa/test/tests/unit/audio_file/technical_info/test_file_size.py +51 -0
  291. audiometa/test/tests/unit/audio_file/technical_info/test_format_name.py +28 -0
  292. audiometa/test/tests/unit/audio_file/technical_info/test_sample_rate.py +31 -0
  293. audiometa/test/tests/unit/audio_file/test_context_manager.py +30 -0
  294. audiometa/test/tests/unit/audio_file/test_file_validation.py +40 -0
  295. audiometa/test/tests/unit/audio_file/test_is_audio_file.py +49 -0
  296. audiometa/test/tests/unit/audio_file/test_operations.py +20 -0
  297. audiometa/test/tests/unit/audio_file/test_path_handling.py +23 -0
  298. audiometa/test/tests/unit/cli/__init__.py +0 -0
  299. audiometa/test/tests/unit/cli/test_expand_file_patterns.py +234 -0
  300. audiometa/test/tests/unit/metadata_managers/__init__.py +0 -0
  301. audiometa/test/tests/unit/metadata_managers/conftest.py +142 -0
  302. audiometa/test/tests/unit/metadata_managers/header_info/__init__.py +0 -0
  303. audiometa/test/tests/unit/metadata_managers/header_info/test_id3v1.py +49 -0
  304. audiometa/test/tests/unit/metadata_managers/header_info/test_id3v2.py +66 -0
  305. audiometa/test/tests/unit/metadata_managers/header_info/test_riff.py +343 -0
  306. audiometa/test/tests/unit/metadata_managers/header_info/test_vorbis.py +53 -0
  307. audiometa/test/tests/unit/metadata_managers/metadata_field/__init__.py +0 -0
  308. audiometa/test/tests/unit/metadata_managers/metadata_field/multiple_values/__init__.py +0 -0
  309. audiometa/test/tests/unit/metadata_managers/metadata_field/multiple_values/reading/__init__.py +0 -0
  310. audiometa/test/tests/unit/metadata_managers/metadata_field/multiple_values/reading/test_smart_parsing.py +186 -0
  311. audiometa/test/tests/unit/metadata_managers/metadata_field/multiple_values/writing/__init__.py +0 -0
  312. audiometa/test/tests/unit/metadata_managers/metadata_field/multiple_values/writing/test_separator_selection.py +142 -0
  313. audiometa/test/tests/unit/metadata_managers/metadata_field/multiple_values/writing/test_value_filtering.py +76 -0
  314. audiometa/test/tests/unit/metadata_managers/metadata_field/rating/__init__.py +0 -0
  315. audiometa/test/tests/unit/metadata_managers/metadata_field/rating/reading/__init__.py +0 -0
  316. audiometa/test/tests/unit/metadata_managers/metadata_field/rating/reading/test_normalization.py +152 -0
  317. audiometa/test/tests/unit/metadata_managers/metadata_field/rating/reading/test_profiles_values.py +23 -0
  318. audiometa/test/tests/unit/metadata_managers/metadata_field/rating/test_rating_validation.py +77 -0
  319. audiometa/test/tests/unit/metadata_managers/metadata_field/rating/writing/__init__.py +0 -0
  320. audiometa/test/tests/unit/metadata_managers/metadata_field/rating/writing/test_configuration_error.py +43 -0
  321. audiometa/test/tests/unit/metadata_managers/metadata_field/rating/writing/test_validation.py +151 -0
  322. audiometa/test/tests/unit/metadata_managers/metadata_field/rating/writing/test_writing_profiles.py +61 -0
  323. audiometa/test/tests/unit/metadata_managers/metadata_field/test_date_format_validation.py +135 -0
  324. audiometa/test/tests/unit/metadata_managers/metadata_field/test_disc_number_validation.py +75 -0
  325. audiometa/test/tests/unit/metadata_managers/metadata_field/test_isrc_format_validation.py +121 -0
  326. audiometa/test/tests/unit/metadata_managers/metadata_field/test_isrc_type_validation.py +30 -0
  327. audiometa/test/tests/unit/metadata_managers/metadata_field/test_track_number_validation.py +46 -0
  328. audiometa/test/tests/unit/metadata_managers/metadata_field/test_type_validation_exception.py +22 -0
  329. audiometa/test/tests/unit/metadata_managers/metadata_field/test_validation.py +83 -0
  330. audiometa/test/tests/unit/metadata_managers/test_metadata_format_managers_write_and_read.py +74 -0
  331. audiometa/test/tests/unit/metadata_managers/test_riff_configuration_error.py +26 -0
  332. audiometa/utils/__init__.py +1 -0
  333. audiometa/utils/id3v1_genre_code_map.py +205 -0
  334. audiometa/utils/metadata_format.py +31 -0
  335. audiometa/utils/metadata_writing_strategy.py +16 -0
  336. audiometa/utils/mutagen_exception_handler.py +24 -0
  337. audiometa/utils/os_dependencies_checker/__init__.py +24 -0
  338. audiometa/utils/os_dependencies_checker/base.py +62 -0
  339. audiometa/utils/os_dependencies_checker/config.py +77 -0
  340. audiometa/utils/os_dependencies_checker/macos.py +236 -0
  341. audiometa/utils/os_dependencies_checker/ubuntu.py +95 -0
  342. audiometa/utils/os_dependencies_checker/windows.py +227 -0
  343. audiometa/utils/rating_profiles.py +110 -0
  344. audiometa/utils/tool_path_resolver.py +135 -0
  345. audiometa/utils/types.py +82 -0
  346. audiometa/utils/unified_metadata_key.py +87 -0
  347. audiometa_python-0.6.0.dist-info/METADATA +1593 -0
  348. audiometa_python-0.6.0.dist-info/RECORD +352 -0
  349. audiometa_python-0.6.0.dist-info/WHEEL +5 -0
  350. audiometa_python-0.6.0.dist-info/entry_points.txt +2 -0
  351. audiometa_python-0.6.0.dist-info/licenses/LICENSE +202 -0
  352. audiometa_python-0.6.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,352 @@
1
+ audiometa/__init__.py,sha256=riHnc4KGBpwRBtuIn2OS4lUSYH-HM-bMr31q-wHt8Hk,56635
2
+ audiometa/__main__.py,sha256=puqdVBXESbIJxcSqVUGsXq3836d2DP0UUES63NPxjj0,119
3
+ audiometa/_audio_file.py,sha256=4wVIQcnQ1Rv1Fj5OmHaq3uenvTcOuEiddUyqbyS7X-Y,23249
4
+ audiometa/cli.py,sha256=frJrT1GGfkTyQ6wOfdbuisClGyLcEy4dylTpPKt2g7g,19365
5
+ audiometa/exceptions.py,sha256=uD950BNx0IdUKLKkAOb7PG8cChyZrCgE3RnvoEtWXCI,6049
6
+ audiometa/manager/_MetadataManager.py,sha256=vkGXVhRDc9Rr74SPpyVv57IPYYyR9-jgz28gtV8VT5k,32734
7
+ audiometa/manager/__init__.py,sha256=PJ3gFYKtrjxEbm_1HXvVxwXK13J60Eb847Py0HHCOhg,60
8
+ audiometa/manager/_rating_supporting/_RatingSupportingMetadataManager.py,sha256=XoiAvRawiZyNMkSRse5EiTz3Z3bNW25EmbuIWvzBEZU,13062
9
+ audiometa/manager/_rating_supporting/__init__.py,sha256=f6jeNVgPf82RosqCdoaQ9CqHsmEOOt1cT74zBTFAl7c,43
10
+ audiometa/manager/_rating_supporting/id3v2/_Id3v2Manager.py,sha256=o9Fk2mQUkN4M6WfRdUGolJ7TsEqV6aWMO9Op06qKWc0,48509
11
+ audiometa/manager/_rating_supporting/id3v2/__init__.py,sha256=F59LCdrYaFNm8v-YJ7axcAKo6SgD99l2Qu5zyELijt4,609
12
+ audiometa/manager/_rating_supporting/id3v2/_id3v2_constants.py,sha256=ZR6gzz6Ee-FqfATObBa2d8xmtSMDGt9Ky2WqwAndcnE,280
13
+ audiometa/manager/_rating_supporting/riff/_RiffManager.py,sha256=6l53KWV3NkPfhUR-Puz4Vdd0jJhlOM8I_ex1kBCI4Z0,46693
14
+ audiometa/manager/_rating_supporting/riff/__init__.py,sha256=yp4UWhfO9M5pv0bNki7_vppCW4zz9PAUvFCefArK5q0,630
15
+ audiometa/manager/_rating_supporting/riff/_riff_constants.py,sha256=TqHsAhmLnLyJwTxNnzhpF35pVPU2rBMOhF-tfX3siMw,491
16
+ audiometa/manager/_rating_supporting/vorbis/_VorbisManager.py,sha256=1gkXha_TFvbBXC-i1dQlr2bISJgMwlNkasUTZR8j5ns,26173
17
+ audiometa/manager/_rating_supporting/vorbis/__init__.py,sha256=O3QftKkIETe8PECgrkJCPvyGwD45q-vnbHq-GgUtoJ8,394
18
+ audiometa/manager/_rating_supporting/vorbis/_vorbis_constants.py,sha256=L6QdDsYPWyu07VWq9ME37jrutnImAoKjgXbT3qVahIA,150
19
+ audiometa/manager/id3v1/_Id3v1Manager.py,sha256=Tam8c3urqwsuwHBcVDergU3tArGCTOL-GKscWj7cBM4,21993
20
+ audiometa/manager/id3v1/__init__.py,sha256=76GWZ4p2FrxFn8yMMy8TwKVWiQLHsbWQMm3RlB5mBB8,33
21
+ audiometa/manager/id3v1/_constants.py,sha256=O9jJyjSHEppRH1CSw50q8f0zWgTCf8bvfCa9UQmKUxA,256
22
+ audiometa/manager/id3v1/id3v1_raw_metadata.py,sha256=HeAhxr0ke55mz9Bwzz82cxn4LFNOrRm9BNWQYfKM4e4,9555
23
+ audiometa/manager/id3v1/id3v1_raw_metadata_key.py,sha256=oGJkjTByy5dODu4mfDY2XXf4n6uD4lNJRoXaYALYaCM,403
24
+ audiometa/test/__init__.py,sha256=CsP819wVhwT4YoM4eEKHBJdJRK_mIe3c7FZ60GgNmeQ,41
25
+ audiometa/test/assets/create_test_files.py,sha256=_Tvggui5c3LIgWfaYbKx3iCCE8cmTREZzhiWJJUcYO4,1890
26
+ audiometa/test/helpers/__init__.py,sha256=RJHIB0erNN3W4kXeCLrifQPwHqziw_E0L7gk9qlwYC8,2402
27
+ audiometa/test/helpers/technical_info_inspector.py,sha256=tKEQsPzziNLLRNRxhFTZykZJDRROcZq3ZHXLwcj_glM,4698
28
+ audiometa/test/helpers/temp_file_with_metadata.py,sha256=lFtyjA_mbJ3q2Qh0s4ZWa1XRtQHrPJEggi60gZJfpZo,3182
29
+ audiometa/test/helpers/common/__init__.py,sha256=1qqVrp0e5t88F1CEX79oBlgJ4i6FlYa7kDI7F65WBm8,226
30
+ audiometa/test/helpers/common/audio_file_creator.py,sha256=26twuf3tcd3ak6jUtk5ixAXZK5YJAsRQ_76JaUm4l4c,2775
31
+ audiometa/test/helpers/common/external_tool_runner.py,sha256=xLmN1NEa8_PGtD21a5dJfxNhWBYtFMxQT7lguwKbhLM,2767
32
+ audiometa/test/helpers/id3v1/__init__.py,sha256=4AEIAsf7FSgAN6mXKG_pF0BcOOAQCuEj5RXXPHq5SOc,365
33
+ audiometa/test/helpers/id3v1/id3v1_header_verifier.py,sha256=GBnIjzTXwaORzfDG8OY9dMI6HJxhB50NQZQNOkhCgBU,571
34
+ audiometa/test/helpers/id3v1/id3v1_metadata_deleter.py,sha256=us5hiZKrb8GZS4BlKZwY9hECZpOvTDSzUw2PeZwY3mg,1180
35
+ audiometa/test/helpers/id3v1/id3v1_metadata_getter.py,sha256=gQrnzbthNH1VDqCQrVQP5yTLuV5Tjj9Z6Dn9Zjylrz0,2506
36
+ audiometa/test/helpers/id3v1/id3v1_metadata_setter.py,sha256=-J0BqcvSDC67kWoOlI9ICbdZJIK3qSIX_1gL3p6-7D4,3123
37
+ audiometa/test/helpers/id3v2/__init__.py,sha256=usdQ9xFZrzJ8fjiMq2n9llMHlxgHaH8Mmi87yIfYACk,852
38
+ audiometa/test/helpers/id3v2/id3v2_frame_manual_creator.py,sha256=U55v5Ic-7rR6Nd6xxTpLpWZO7pYaiUT8PyMT7Gubt4I,13551
39
+ audiometa/test/helpers/id3v2/id3v2_header_verifier.py,sha256=xUYb9xVsRQgFR32q9LPIZ1TRPD8Z_SYYSrKQvy9zZwA,1090
40
+ audiometa/test/helpers/id3v2/id3v2_metadata_deleter.py,sha256=kcLR4LyfVlAlVgbfunOI69ro1EUk7Dw4dITAfEf4YSE,1819
41
+ audiometa/test/helpers/id3v2/id3v2_metadata_getter.py,sha256=HpsWKfERyE_lmqx0JNTYpwHw7Hx54OyTruaeHmq5R-4,8302
42
+ audiometa/test/helpers/id3v2/id3v2_metadata_setter.py,sha256=DJMCaUpREy13i4GRJFlluNBmTzcPXKxdMTcjzp_z33o,22636
43
+ audiometa/test/helpers/riff/__init__.py,sha256=6ZES4QyWBwupzue527nCP-eWT2yBchZCt_d2_JBEJZY,352
44
+ audiometa/test/helpers/riff/riff_header_verifier.py,sha256=GA8FgPRDqlOzYyWRxaacHJIx62Ptrk1qKx7UU9m8ZPI,3803
45
+ audiometa/test/helpers/riff/riff_manual_metadata_creator.py,sha256=7MEq_MWi9GybPgMnKa6P83sIp9ahb_YueV71XeTJwfY,13173
46
+ audiometa/test/helpers/riff/riff_metadata_deleter.py,sha256=-B3MO6D5ACz-G-8G_mBvUog15So7SqNg-ZSr4ghwuKc,1983
47
+ audiometa/test/helpers/riff/riff_metadata_getter.py,sha256=8hEMwnRfELU5WW3q9ipNpFR0CuwzBhT-mUhQLxKIXuU,9298
48
+ audiometa/test/helpers/riff/riff_metadata_setter.py,sha256=JQBmamLwk8tBEmVT0xsEP0Dg5pH_NyXnIYGGh0DAam0,16283
49
+ audiometa/test/helpers/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
+ audiometa/test/helpers/vorbis/__init__.py,sha256=MG9HVAyzg7kSgnwID7y3kkYFmb0uhjB33wpBeKO-U3I,378
51
+ audiometa/test/helpers/vorbis/vorbis_header_verifier.py,sha256=I4tOrnOEcdw90dlakfxvuq02h3tV2hHFX1OCT1363po,1142
52
+ audiometa/test/helpers/vorbis/vorbis_metadata_deleter.py,sha256=YEQrzufcoDMvk-Udkn_UXKqm5KiYqBusG52_qNThmto,1630
53
+ audiometa/test/helpers/vorbis/vorbis_metadata_getter.py,sha256=MZeXv3sph4dOwfMhSpEiQ9wghIBfPRqVQy3mtRwU4vM,2743
54
+ audiometa/test/helpers/vorbis/vorbis_metadata_setter.py,sha256=173jDM-N22hAyyjgZqTUbErt_GNi2AB-dPbKanB5RNM,8626
55
+ audiometa/test/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
+ audiometa/test/tests/conftest.py,sha256=_aJhPr9RZIrW4EPHj9DJHWUKVmnvWmPi-b2ee4OkJXQ,7506
57
+ audiometa/test/tests/e2e/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
+ audiometa/test/tests/e2e/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
+ audiometa/test/tests/e2e/cli/test_delete.py,sha256=-u0OBWG5q596lWmRFFDGskBkLctLQwNhTGFB3J-1qoU,630
60
+ audiometa/test/tests/e2e/cli/test_formatting.py,sha256=YkG-pgLarPrmaBjcjX8daeojE80LbuS2lwCo1ZOXZns,992
61
+ audiometa/test/tests/e2e/cli/test_help.py,sha256=h8v9yy7I0tEVnNarqIUAhN9k96b1YK4aQwzZgzpO1D8,1542
62
+ audiometa/test/tests/e2e/cli/error_handling/__init__.py,sha256=7S2MtTgc6X3N3o5K-UauOGwxAV1upwhahzb7VI1PF1Y,31
63
+ audiometa/test/tests/e2e/cli/error_handling/test_command_structure_errors.py,sha256=-tit6KDx0f0lGEPDqY5JmcFUWcyLyNjEwyovl-2dgb8,2954
64
+ audiometa/test/tests/e2e/cli/error_handling/test_file_access_errors.py,sha256=nUnCy7EtUoBFmFd1LWtYvSrakEn41nd1tT9BbPDm2KY,5175
65
+ audiometa/test/tests/e2e/cli/error_handling/test_format_output_errors.py,sha256=g9JJEvBnFcENuc1bNcGfCstnqmgwsM1FquA4ZU_D0vE,4175
66
+ audiometa/test/tests/e2e/cli/error_handling/test_input_validation_errors.py,sha256=WHRzeAzpRKtlRLJxa9y35EtSPlU8qK9C61L77ppa80Y,7046
67
+ audiometa/test/tests/e2e/cli/error_handling/test_missing_fields_validation.py,sha256=18XoatJWX4gm0UaT4SNj8TfGw8DfKW4cOMMMf61STWk,1611
68
+ audiometa/test/tests/e2e/cli/error_handling/test_multiple_files_errors.py,sha256=vBz6yJEHEQSS040dnS34P9Xk4QyjFHWmsT-V-qZvqzI,5960
69
+ audiometa/test/tests/e2e/cli/error_handling/test_rating_validation.py,sha256=H-RBldt_ZjbWpwEzRq6HfR7hGe9PSFyT8tVmz-u3swg,3795
70
+ audiometa/test/tests/e2e/cli/error_handling/test_year_validation.py,sha256=fVtClR3ZgQTAZvEBHw5q36I4ghp4GrosGynrprAJfwE,1994
71
+ audiometa/test/tests/e2e/cli/read/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
+ audiometa/test/tests/e2e/cli/read/test_basic.py,sha256=nuMDGqev5jy0KicXYactge-CIsh8u1dwLOkNnzkAeT4,2174
73
+ audiometa/test/tests/e2e/cli/read/test_comprehensive.py,sha256=AzSm8AErfjKbC5jx2uzJW2SV7Hv-xK7iX8XFddJuO1Y,11064
74
+ audiometa/test/tests/e2e/cli/read/test_formats.py,sha256=1e1XGO8t0MjK-3KT7oGbIBd2hAUoHDkAJiK9I8JwBJ0,1877
75
+ audiometa/test/tests/e2e/cli/read/test_metadata_content.py,sha256=XGkxwH1ohkCiNbw9_j7MidR9GUMz2XFrOPThCn-i9Pk,6846
76
+ audiometa/test/tests/e2e/cli/read/test_multiple_files.py,sha256=RTERRfi01d15td21vgkrLwy9s8dsS_n79vSS8qUQSoM,6113
77
+ audiometa/test/tests/e2e/cli/read/test_options.py,sha256=STSmXteXeGS1Iysf129QFK9oDm17VC3LGT_6OdEumck,3301
78
+ audiometa/test/tests/e2e/cli/read/test_unified.py,sha256=VNf5vDS-yLnuAzHb80BOooosu2ECbGxC8vf9C1Z6v1o,3186
79
+ audiometa/test/tests/e2e/cli/write/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
+ audiometa/test/tests/e2e/cli/write/test_basic.py,sha256=PdZO-cbd_D1shvf5IHid4JAJhXGlRXEbCkmJZoNak2o,1687
81
+ audiometa/test/tests/e2e/cli/write/test_comprehensive.py,sha256=YrMXqPwQ_cY_59tsWnjjxPG72FH_fjTC_4TKOQsvKU8,8670
82
+ audiometa/test/tests/e2e/cli/write/test_force_format.py,sha256=gv0fuJQYGiFJXWgAIUsIpE2GxBiBdctZNmOU7mDXcE8,12500
83
+ audiometa/test/tests/e2e/cli/write/test_integer_fields.py,sha256=c-8NIYlBP0tiJ_eg1oiaxoQpSE1P1wivtHy21Vgpj_M,4763
84
+ audiometa/test/tests/e2e/cli/write/test_list_fields.py,sha256=8lBluYx3PUESsOc8szl3TwJQPUsN-ZQ4gUL3hR6oKNI,3574
85
+ audiometa/test/tests/e2e/cli/write/test_rating.py,sha256=82sW0geshD9Pi6gq1f1X1NiujOOsJ17BlUFOa6B8F_c,2475
86
+ audiometa/test/tests/e2e/cli/write/test_string_fields.py,sha256=anmqQ86mi4C4ckKlX7iyBOvwEDtqWy0jIoPNgk0Y-Ho,2078
87
+ audiometa/test/tests/e2e/cli/write/test_validation.py,sha256=Utjh_vhV6ovHHNjWwbX8gghg9b3hRztjjMYD-qNORCI,2668
88
+ audiometa/test/tests/e2e/scenarios/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
89
+ audiometa/test/tests/e2e/scenarios/test_user_scenarios.py,sha256=HSSquU7NGSSBx27-47DcZXvq-CqvWDlvekMS2dN9PsU,8418
90
+ audiometa/test/tests/e2e/workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
+ audiometa/test/tests/e2e/workflows/test_core_workflows.py,sha256=ilgLN3BLL6KE5AFkZ1Ew90Uh8wnfRDXra9QKuIVTrxo,7397
92
+ audiometa/test/tests/e2e/workflows/test_deletion_workflows.py,sha256=RUjE_oodu5I8swGH0MQrMffbwbL0R6w1akHWeF_w9-A,15492
93
+ audiometa/test/tests/e2e/workflows/test_error_handling_workflows.py,sha256=a4zIJ1Afb-wRcereTT64ANagxR9GVfiOCQW9Qw6MwfU,8295
94
+ audiometa/test/tests/e2e/workflows/test_format_specific_workflows.py,sha256=R2-En0TJ63xRbyb6ll9Drz0hiDqUMyrr3hqvdVenUpU,6478
95
+ audiometa/test/tests/e2e/workflows/test_rating_workflows.py,sha256=J0J4T-5RSGcbX6UOguq0kVz2mnSKLgOt7z7_ZRMfF4w,6020
96
+ audiometa/test/tests/integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
+ audiometa/test/tests/integration/conftest.py,sha256=OKmgfu7DF0_mTBL7CdbObCafrhNP5umypzSQ2DH15YU,774
98
+ audiometa/test/tests/integration/test_audio_file.py,sha256=r0ecQUaIMYy55R06IlsLIQ2pMwl9TXY-V0iKMonXAlw,1538
99
+ audiometa/test/tests/integration/test_audio_format_readable_after_update_all_metadata_formats.py,sha256=hk2TWoi8LTRzmpgSNtPqVgoT4kD9WfD_h2Jsa1gwVj4,4335
100
+ audiometa/test/tests/integration/audio_format/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
101
+ audiometa/test/tests/integration/audio_format/flac/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
+ audiometa/test/tests/integration/audio_format/flac/test_flac_delete_all.py,sha256=YYzBzCjC3PJ1s4evBOlEIEnhqzqpbrr882JQ5HWv31Y,5453
103
+ audiometa/test/tests/integration/audio_format/flac/test_flac_reading_all.py,sha256=71xSUJTS5eKG6DWtiCdMt4plUVLW2ZyEdkUwwWiP_z4,3066
104
+ audiometa/test/tests/integration/audio_format/flac/test_flac_reading_field.py,sha256=ZvSFQcKu_rQhNOMO180h5nYG1I4YBug0MXDWpYvQCmk,3102
105
+ audiometa/test/tests/integration/audio_format/flac/test_flac_writing.py,sha256=9WfjAckINkBUknZV7bBs-x0tEZx0KggYTEhAt5SiBU4,3417
106
+ audiometa/test/tests/integration/audio_format/mp3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
+ audiometa/test/tests/integration/audio_format/mp3/test_mp3_delete_all.py,sha256=ZSOCN8D-5kFDqfBfMbnary_bLi89tJt3a-TX-oGauYI,4049
108
+ audiometa/test/tests/integration/audio_format/mp3/test_mp3_reading_all.py,sha256=hPYjyHSsNaMV5fxO6qwYhXBKrk3_JJChCGDHlNjvY6k,3035
109
+ audiometa/test/tests/integration/audio_format/mp3/test_mp3_reading_field.py,sha256=Ey_QCPmdY06VKqirbc8Fx6GhFJ7rkKqVqByjZXIpWVg,3142
110
+ audiometa/test/tests/integration/audio_format/mp3/test_mp3_writing.py,sha256=SDgVvrs3P5ibxdpZlOL1AbvfbIEqnT38MKl1EQZeJNI,3075
111
+ audiometa/test/tests/integration/audio_format/wav/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
+ audiometa/test/tests/integration/audio_format/wav/test_wav_delete_all.py,sha256=YfSgvPm8PmirlhCbl6-P6HBNQd8uPYqdPRKrGC9b9es,4577
113
+ audiometa/test/tests/integration/audio_format/wav/test_wav_reading_all.py,sha256=pBfL0DoXQrwMvkjZlr6iUVNn_HZDUfmHpzyNCCtdhrM,3153
114
+ audiometa/test/tests/integration/audio_format/wav/test_wav_reading_field.py,sha256=6nfmWgg6GVWdOfhnTZGGxnnMXphW57j5FayvyMOH3R4,2856
115
+ audiometa/test/tests/integration/audio_format/wav/test_wav_with_id3v2_tags.py,sha256=Qn3kFPvvCl6SwyDEFDLQdmsDgZRiNudd4NFfrfLvg8I,4272
116
+ audiometa/test/tests/integration/audio_format/wav/test_wav_writing.py,sha256=X4vtAp_tGnyg5YcyjhBpvd4LU_FTXcmwrxfUsHybywc,2779
117
+ audiometa/test/tests/integration/delete_all_metadata/__init__.py,sha256=spV_8VRJQVUcPOUAJ5gaNhRqGlXmrke-oBj39NzyktQ,51
118
+ audiometa/test/tests/integration/delete_all_metadata/test_audio_format_all.py,sha256=OhuIxrs1qpnloV1_6LZ4Yo7ENLKM1md2Tyr-fyDATTI,5648
119
+ audiometa/test/tests/integration/delete_all_metadata/test_audio_format_header_deletion.py,sha256=QMvtMd4UEmlQrINjIxgWgxCW9kAKh0jznUWyp4-g_Z4,3827
120
+ audiometa/test/tests/integration/delete_all_metadata/test_basic_functionality.py,sha256=YNsNhP-XiDF3CWAq63lct6qOHXr9gdu9sc8ewIIW9sI,2079
121
+ audiometa/test/tests/integration/delete_all_metadata/test_error_handling.py,sha256=KoxchZ-nl-E9Vr0uU833zJIEfyb0De6YmG-bSzrgo7I,974
122
+ audiometa/test/tests/integration/encoding/__init__.py,sha256=VCZn1EGxVodSIwBkWZYeCdELSJblHMWSqHC_d1hwFrU,46
123
+ audiometa/test/tests/integration/encoding/test_encoding.py,sha256=96M0pdEQZaD4KQ5Gn7QCkx1aqh-O7_D_pqejaBSBdA0,4912
124
+ audiometa/test/tests/integration/encoding/test_special_characters_edge_cases.py,sha256=FCSQ7CKGLOyX7XGM9u9td-dTSoCa54i_SE4Fe7rZlI8,10000
125
+ audiometa/test/tests/integration/get_full_metadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
126
+ audiometa/test/tests/integration/get_full_metadata/test_audio_formats.py,sha256=t7_gma-F3UJPVhpCdW9St02rmXq9d6oqSpUmeskOC9o,4926
127
+ audiometa/test/tests/integration/get_full_metadata/test_binary_data_filtering.py,sha256=Wt-G0v6-KknKo4uaDohdUSre6Aykw5vB01JHlNFXlUE,9579
128
+ audiometa/test/tests/integration/get_full_metadata/test_consistency.py,sha256=2egIwsRXpBaucqqLvZaEYLn2wlUlzWsb_PvGqvcQFqU,2911
129
+ audiometa/test/tests/integration/get_full_metadata/test_edge_cases.py,sha256=e0vDaZsjxAufLpfp2qNz9hHh93S2VhBZAw7GChCpg_s,5063
130
+ audiometa/test/tests/integration/get_full_metadata/test_error_handling.py,sha256=chLwc3QcGUUrOn7MTgNrMiS17Wu35p45mxeAPtpTE30,1359
131
+ audiometa/test/tests/integration/get_full_metadata/test_get_full_metadata.py,sha256=FFIDUnM46sJ8r9OBJVoV0nJ3LPWnhTsWmWZ6tTjqoKw,1690
132
+ audiometa/test/tests/integration/get_full_metadata/test_options.py,sha256=Gp0DlK2gQ3Mkw1rIbBqRL_if_Mdnp-vlA-irj8jxL3U,7869
133
+ audiometa/test/tests/integration/get_full_metadata/test_performance.py,sha256=fTX5_5AfzlzJrfWYpbXdTKkTtmgqkNt2ptcEedxpmG8,3464
134
+ audiometa/test/tests/integration/get_full_metadata/test_riff_bext.py,sha256=VX2gdbwkIUwSpTTJnthd3x_XwgXestO0Hoc15Zy5OIc,6166
135
+ audiometa/test/tests/integration/get_full_metadata/test_structure.py,sha256=Pm0diTXXXCeExXjJ8GnqWP6HVSB4EAML7Q6TFkBMUmU,7047
136
+ audiometa/test/tests/integration/metadata_field/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
137
+ audiometa/test/tests/integration/metadata_field/test_metadata_field_validation.py,sha256=i8Q0ITLQCgg085DGbxt6tmzq5IG0h2kzTyvv_21wkok,6729
138
+ audiometa/test/tests/integration/metadata_field/album/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
139
+ audiometa/test/tests/integration/metadata_field/album/test_deleting.py,sha256=OQHItWxU_LGoyCcFkfHgcuK_erBw7Zkg9dP4PlxUa6c,4118
140
+ audiometa/test/tests/integration/metadata_field/album/test_reading.py,sha256=LniaSeuRFfdtL5FnZ73um-qMCLLqs8K_soO6dHNPYqM,1678
141
+ audiometa/test/tests/integration/metadata_field/album/test_writing.py,sha256=SvOsxBcZeqmQF15TJXbQz0ob76j_EBNy3jrOSi4gGqA,2421
142
+ audiometa/test/tests/integration/metadata_field/album_artists/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
143
+ audiometa/test/tests/integration/metadata_field/album_artists/test_deleting.py,sha256=ztyFq0MXB0jEhW2C5VooAq5F98iw4YN7UWaNLswKkkE,4596
144
+ audiometa/test/tests/integration/metadata_field/album_artists/test_reading.py,sha256=wFe54nukXqs8Ul98tm9HsWbct8MA9iGJx52B9aFswgI,1989
145
+ audiometa/test/tests/integration/metadata_field/album_artists/test_writing.py,sha256=dO945TbP9hzvC2RK6Wfh_JTyFVXoZdbyS6Ol2EGfcuk,2713
146
+ audiometa/test/tests/integration/metadata_field/artists/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
147
+ audiometa/test/tests/integration/metadata_field/artists/test_deleting.py,sha256=QWpm0loXFVWUjUxtWQdnwkaupVvjNP6Kb-IBvQfPAxw,3898
148
+ audiometa/test/tests/integration/metadata_field/artists/test_reading.py,sha256=AuBoOo121dND4RE1HLfLsu7rVzy-oCE98DR6ydRwkDU,1712
149
+ audiometa/test/tests/integration/metadata_field/artists/test_writing.py,sha256=iz5JzYwoxZZkaCczTWOOtICIDMXCG1UvTU2Iay6OWwU,2370
150
+ audiometa/test/tests/integration/metadata_field/bpm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
151
+ audiometa/test/tests/integration/metadata_field/bpm/test_deleting.py,sha256=WjMf5erV2NfXdXblB5c6pp9ddJoK9g71tPkgF7niCkE,3897
152
+ audiometa/test/tests/integration/metadata_field/bpm/test_reading.py,sha256=qRm6wWTamNjb14xTskuKCDHJFhfU5sEGlGA_njhdgZA,1537
153
+ audiometa/test/tests/integration/metadata_field/bpm/test_writing.py,sha256=R3mBbL_h1uH6IXZEyVSCLe56_ZGmvigJ5iUPCBzUF34,2532
154
+ audiometa/test/tests/integration/metadata_field/comment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
155
+ audiometa/test/tests/integration/metadata_field/comment/test_deleting.py,sha256=3Dfq3ow2IIgfb0l_EEgjTnX39kCwmOQgsT6q1nj6PhI,4044
156
+ audiometa/test/tests/integration/metadata_field/comment/test_reading.py,sha256=cmFvABNh-BowxJQp0iLO93F2Lum5VN0EeIHy88K3ZdI,1743
157
+ audiometa/test/tests/integration/metadata_field/comment/test_writing.py,sha256=iS7Cca32rcOrn47_FknifQvrFmnZ6YbEmUeA9GKm_Nk,2426
158
+ audiometa/test/tests/integration/metadata_field/composer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
159
+ audiometa/test/tests/integration/metadata_field/composer/test_deleting.py,sha256=8tuYdDAm_Jzc1fQvJraq-SZoJs46zcnPA75iC5rt1dY,3753
160
+ audiometa/test/tests/integration/metadata_field/composer/test_reading.py,sha256=k5kSz8cKnVxsbRB6ijOKiwfFAhfRMemyGjxu_uTsNPc,1597
161
+ audiometa/test/tests/integration/metadata_field/composer/test_writing.py,sha256=tjE9fwpzQ_LT7qG4PyT6Rn7BN-9crvwTgt2ohjOBang,2040
162
+ audiometa/test/tests/integration/metadata_field/copyright/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
163
+ audiometa/test/tests/integration/metadata_field/copyright/test_deleting.py,sha256=T2vfmTs-tUNc3zLYLWYUdzgE5l25KhjTP2RzjgkFwNk,4096
164
+ audiometa/test/tests/integration/metadata_field/copyright/test_reading.py,sha256=FgYaZ1PEB8yP_Jd3SFaexZ0OqZMGa219p-j4eHFoC_I,1692
165
+ audiometa/test/tests/integration/metadata_field/copyright/test_writing.py,sha256=uHXsqvXf0835miTvKcTgYZhnworNCju_NvGEt8GfBJ4,2087
166
+ audiometa/test/tests/integration/metadata_field/disc_number/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
+ audiometa/test/tests/integration/metadata_field/disc_number/test_deleting.py,sha256=NDSvtwpFTIVVXCOo01m-Uy8rR4Ab4k2qJhQt-sPsnPU,5444
168
+ audiometa/test/tests/integration/metadata_field/disc_number/test_reading.py,sha256=GBpwKqLZfGNjOU-jR7M9C9t1cVVTZL-ZMs-fYI-5BlE,4663
169
+ audiometa/test/tests/integration/metadata_field/disc_number/test_writing.py,sha256=VBP4TKefKrYH0GbC_JdKMdYKEuTHBQBPRxGzOIVGIzc,7243
170
+ audiometa/test/tests/integration/metadata_field/field_not_supported/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
171
+ audiometa/test/tests/integration/metadata_field/field_not_supported/test_deleting.py,sha256=RQ_wuPckaD6sIECE_hkV8dNc3zz7-jMgZVHxtHq6kZU,2365
172
+ audiometa/test/tests/integration/metadata_field/field_not_supported/test_reading.py,sha256=kP04g7FuB9WrqOW5YX9rH4gZj_rpzVVDAbd7Qfms0hg,2343
173
+ audiometa/test/tests/integration/metadata_field/field_not_supported/test_writing.py,sha256=tyNGb0joJB3lm-3pmzJr8WlMSET6W6ZQKetvLOPUPHI,2203
174
+ audiometa/test/tests/integration/metadata_field/genre/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
175
+ audiometa/test/tests/integration/metadata_field/genre/test_deleting.py,sha256=p34kvliu2K2T5GQe92uRxKmg9s225dzFIRoYqEyi4pE,3583
176
+ audiometa/test/tests/integration/metadata_field/genre/test_writing.py,sha256=RboVH4vdaIB7MnDEXAKBf19a5VUIc4pmwGnQTmXHt9A,3159
177
+ audiometa/test/tests/integration/metadata_field/genre/reading/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
178
+ audiometa/test/tests/integration/metadata_field/genre/reading/test_smart_reading.py,sha256=Gw791v9HQAcRCpToLF-xB-8sOg5OSG2aW4LyTq8L22Y,9311
179
+ audiometa/test/tests/integration/metadata_field/genre/reading/metadata_format/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
180
+ audiometa/test/tests/integration/metadata_field/genre/reading/metadata_format/test_id3v1_reading.py,sha256=vcWQBpDiNXvwgZWMLfbeu42HG6rAUwuJRq2pYRu1XEE,2587
181
+ audiometa/test/tests/integration/metadata_field/genre/reading/metadata_format/test_id3v2_reading.py,sha256=F_mZlBHbOeaTkmaMVnyyV66fAjqnVcaK6mXwg7d_7T0,1031
182
+ audiometa/test/tests/integration/metadata_field/genre/reading/metadata_format/test_riff_reading.py,sha256=hBFHCHcKR18vUQ6QxrSGzKscEzDUUKdHUWUvZnQOaGg,2456
183
+ audiometa/test/tests/integration/metadata_field/genre/reading/metadata_format/test_vorbis_reading.py,sha256=D8JacuklBvRwg9eoP-dNHrK6_Gwt0tkfloS14Is_yss,2293
184
+ audiometa/test/tests/integration/metadata_field/isrc/__init__.py,sha256=js0gvP7ZfZNpxqQ1MAgIvTcMdfweV6s2lwhkO-JqhfM,49
185
+ audiometa/test/tests/integration/metadata_field/isrc/test_deleting.py,sha256=gnIIj3c0PnqLZFZoCdpwgwJmMLLDlj9Dh2W9LVyLDfU,1463
186
+ audiometa/test/tests/integration/metadata_field/isrc/test_reading.py,sha256=2ni7YFQCr6Kn5-X_kbKnKRD-PmaI831EmaN94dSR0mk,1771
187
+ audiometa/test/tests/integration/metadata_field/isrc/test_writing.py,sha256=Ku5T5QdolLmMhtfWwqZCnbjykvKsPRvzML5tSJauHRU,6290
188
+ audiometa/test/tests/integration/metadata_field/language/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
189
+ audiometa/test/tests/integration/metadata_field/language/test_deleting.py,sha256=Yi4IaBedjc68PFfgBxUeq0ZwjBOfrepgt8pTrPQuWNk,4154
190
+ audiometa/test/tests/integration/metadata_field/language/test_reading.py,sha256=0lZC9pYjgfR45sRvWWJrffs2On0oeDfGes45JmIGALE,1877
191
+ audiometa/test/tests/integration/metadata_field/language/test_writing.py,sha256=qgGoNICqQ_78XaklnhsQ7UtkyXfuyOxGqU5MabD1EdY,2041
192
+ audiometa/test/tests/integration/metadata_field/lyrics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
193
+ audiometa/test/tests/integration/metadata_field/lyrics/test_deleting.py,sha256=bZHt_TMEeV0ZH_jmMJDFP_pIDM9CBV3WdNK0wU6mbpM,5908
194
+ audiometa/test/tests/integration/metadata_field/lyrics/test_reading.py,sha256=2jx8kJ4IiLHtAAU1We3CRPce3nnnlZKBIHl-hQXOfLA,2740
195
+ audiometa/test/tests/integration/metadata_field/lyrics/test_writing.py,sha256=tsa-iEzGuHJ6zdySqGZxymZw-w7JmGcojHN3FrTjs0o,3203
196
+ audiometa/test/tests/integration/metadata_field/publisher/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
197
+ audiometa/test/tests/integration/metadata_field/publisher/test_deleting.py,sha256=OHHmbLTLtI8EfJU1KxnwSHmzcP40jGx3p16dEsFDveQ,4133
198
+ audiometa/test/tests/integration/metadata_field/publisher/test_reading.py,sha256=HgUCQGgHO8DdAdiZGw0hqRehDqk7hyb6NWNoSy0m21E,1535
199
+ audiometa/test/tests/integration/metadata_field/publisher/test_writing.py,sha256=ZEkB6yj4KAtDz4EZ_jApbiYQUmnaQfzZQk1eswWziNc,2271
200
+ audiometa/test/tests/integration/metadata_field/rating/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
201
+ audiometa/test/tests/integration/metadata_field/rating/test_deleting.py,sha256=o5hZh33VmD-rZH23nsJNlNDyzihhDhLsj-s2lpdtnsU,5017
202
+ audiometa/test/tests/integration/metadata_field/rating/test_error_handling.py,sha256=MH11OABI_rtzC0J4bbw_TLALV0LZPapy6U2Dzv3GFRI,7509
203
+ audiometa/test/tests/integration/metadata_field/rating/reading/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
204
+ audiometa/test/tests/integration/metadata_field/rating/reading/test_base_100_proportional.py,sha256=A7nURGhcLR4SOxJnKtgRwTXB2Q3-qgE5jVQmJ5E6o_E,2749
205
+ audiometa/test/tests/integration/metadata_field/rating/reading/test_base_255_non_proportional.py,sha256=cLHBhKfXW6kKhkClVZLDg63jXwmYINQaQksvF8rLkKE,1001
206
+ audiometa/test/tests/integration/metadata_field/rating/reading/test_base_255_proportional.py,sha256=C0rLCgphpEzjVvv7RXgbdBOv9QmSjRXwYjodMV5OLOc,2237
207
+ audiometa/test/tests/integration/metadata_field/rating/writing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
208
+ audiometa/test/tests/integration/metadata_field/rating/writing/test_comprehensive.py,sha256=zcA4bUNiTSIkX-sf1Ta4B1Yk33M-JlfvEpJjmXW1ghc,9500
209
+ audiometa/test/tests/integration/metadata_field/rating/writing/metadata_format/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
210
+ audiometa/test/tests/integration/metadata_field/rating/writing/metadata_format/test_id3v2.py,sha256=NrjjYjNysYrB16FzgijGqCqk_MGvNnl0z97kNiT_jnQ,3373
211
+ audiometa/test/tests/integration/metadata_field/rating/writing/metadata_format/test_riff.py,sha256=PsrDjG4dALSuFfHATPeammps3DsDakbgqFimygXlN0M,2295
212
+ audiometa/test/tests/integration/metadata_field/rating/writing/metadata_format/test_vorbis.py,sha256=bjb34ddp26H2cSoBqpAAbofSYAB6PrtBbMN8BbUhGu8,2358
213
+ audiometa/test/tests/integration/metadata_field/release_date/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
214
+ audiometa/test/tests/integration/metadata_field/release_date/test_deleting.py,sha256=jr8GKF2l3XIoRqc13X1eEl0lVWfcKW_y489dsPNAr0I,4091
215
+ audiometa/test/tests/integration/metadata_field/release_date/test_error_handling.py,sha256=Hm4ibPaQXE16M_qfnHTrOd27V7_XQAFg1vXJn6xdd3M,3751
216
+ audiometa/test/tests/integration/metadata_field/release_date/test_reading.py,sha256=IABhYpED6H47A6HqDyzoGZQtF3OuDExrxjApQZ_9-C8,3121
217
+ audiometa/test/tests/integration/metadata_field/release_date/test_writing.py,sha256=VzC2djRGyv8dPOLyq-mgpbddTO8R00IpoQzFNofAmX0,2540
218
+ audiometa/test/tests/integration/metadata_field/title/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
219
+ audiometa/test/tests/integration/metadata_field/title/test_deleting.py,sha256=6cYxzbvzdXXEsTBKB5q09UgpE0-tYPqFbMKyVFSG8ro,4118
220
+ audiometa/test/tests/integration/metadata_field/title/test_error_handling.py,sha256=x0VJrnuwBoURZEgUZRbRhrgTneLzcT5v-c36Es2L6T0,2127
221
+ audiometa/test/tests/integration/metadata_field/title/test_reading.py,sha256=_7gg3lkgAOY7BHB6bZq3jVLZYWdcp2QGNXh_3O4mRS8,1678
222
+ audiometa/test/tests/integration/metadata_field/title/test_writing.py,sha256=O8LVMdaNA5f036ow2XVnbVBMAe-rpkZW-Lrfx78mGew,2741
223
+ audiometa/test/tests/integration/metadata_field/track_number/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
224
+ audiometa/test/tests/integration/metadata_field/track_number/test_deleting.py,sha256=OwI8RB7t38lTtZ8RxW4eY_Lbp-_whAWqfjExrMYPUnM,3305
225
+ audiometa/test/tests/integration/metadata_field/track_number/test_writing.py,sha256=8j-cagiOoYKIKOkT_zuAP0vqAMrLAtl9KKNQpHyH1Lw,2918
226
+ audiometa/test/tests/integration/metadata_field/track_number/reading/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
227
+ audiometa/test/tests/integration/metadata_field/track_number/reading/test_edge_cases.py,sha256=c8oeH9kRktA7c4P8NU7ekd_QkLcPP8I5EvSeE4TWcyw,2111
228
+ audiometa/test/tests/integration/metadata_field/track_number/reading/test_metadata_format.py,sha256=S81QdP5tkF1RJsayIWiUq6I9eIwqcOyjJSZldL8qv8I,1561
229
+ audiometa/test/tests/integration/multiple_values/__init__.py,sha256=lOo9-GJ6WJgZvx_2FR2NBqk9XdqVgGdqkLISnKAv7Qo,51
230
+ audiometa/test/tests/integration/multiple_values/reading/__init__.py,sha256=ry2yCwAgeA8tFktX_g3t3u166gngzD-HWJTla9KRlns,59
231
+ audiometa/test/tests/integration/multiple_values/reading/test_performance_large_data.py,sha256=04bkS5Eyi1S9opG4DEEMsTQXw85SS1a1M5hxZ4hVzO4,8410
232
+ audiometa/test/tests/integration/multiple_values/reading/test_smart_parsing_scenarios.py,sha256=OWZUmG5IEHa4yOzt3DgksETZ5SUsWKt7JVTr0gsDf1M,10715
233
+ audiometa/test/tests/integration/multiple_values/reading/test_unicode_handling.py,sha256=jhTxlYnaelvBqDc8uB47pFRIpPsTl2SrN4AETjsLHQ0,1018
234
+ audiometa/test/tests/integration/multiple_values/reading/metadata_format/__init__.py,sha256=NISL8m3IaUfLuFj5wDlDAz2nAWzRcIPbcZTUinjbeeY,89
235
+ audiometa/test/tests/integration/multiple_values/reading/metadata_format/test_id3v1.py,sha256=AgtEDLkvqWk_ahevcdB_hZ9DLtZzAiBDgu52rVTi0bo,936
236
+ audiometa/test/tests/integration/multiple_values/reading/metadata_format/test_id3v2_3.py,sha256=TSn7U7d1qqJxfjjhnLbVAAXHhBCM7XulIv2nBtBEP1Y,4084
237
+ audiometa/test/tests/integration/multiple_values/reading/metadata_format/test_id3v2_4.py,sha256=XiHKeT80bsC5UeDrC2r1FEASJoJn59IXUIe_lx-SSZM,10182
238
+ audiometa/test/tests/integration/multiple_values/reading/metadata_format/test_riff.py,sha256=7DJEpj7QVy1G_SZJ3JPLADq1sqpUWOCuPJRFY6tO95w,3988
239
+ audiometa/test/tests/integration/multiple_values/reading/metadata_format/test_vorbis.py,sha256=FocB-qD9LnS2OQz0GQQlo5l7CL3MJKVD1B37wWNsVVE,7917
240
+ audiometa/test/tests/integration/multiple_values/writing/__init__.py,sha256=7aE8J5Bl5_zb5mCs4oRzYHdZJj6Al2QzE2Wct0W_9R4,59
241
+ audiometa/test/tests/integration/multiple_values/writing/test_error_handling.py,sha256=rPpg-pbMOv3PiJvDu79KEFQ1573vyojbMJ9-ZS_l9Fo,2421
242
+ audiometa/test/tests/integration/multiple_values/writing/test_large_values.py,sha256=NMcfeAwLcLtmMmhlfN0GCoDHk6rmpgbvuS2yGk9tUOE,4202
243
+ audiometa/test/tests/integration/multiple_values/writing/metadata_format/__init__.py,sha256=9r-KMS2TnnYGVINqa81cuxxHKnqRZyESfwdo73PDozE,89
244
+ audiometa/test/tests/integration/multiple_values/writing/metadata_format/test_id3v1.py,sha256=iT86Ktkl1_k3nwqgBJ7ngGhN8EZvYOh_IEb9y5GYozs,3062
245
+ audiometa/test/tests/integration/multiple_values/writing/metadata_format/test_id3v2_3.py,sha256=qHBzB9uZdlLw-j53AXoBnSp_nxVyFGwu6pYoqIc__Z4,1865
246
+ audiometa/test/tests/integration/multiple_values/writing/metadata_format/test_id3v2_4.py,sha256=iFXf7-NfKEkbxj9k70DiDrO1OeuBoplBg_1YzdWa7iM,1706
247
+ audiometa/test/tests/integration/multiple_values/writing/metadata_format/test_riff.py,sha256=IpCCmvCUEd13PkLoW1gpFpPposV5XNmH3yfSuF2yHGM,1617
248
+ audiometa/test/tests/integration/multiple_values/writing/metadata_format/test_vorbis.py,sha256=v_ZLNsq6SyZQz4UW9B-NIQGR2IhR_kr5NJNrSB_Q9tg,2834
249
+ audiometa/test/tests/integration/reading/__init__.py,sha256=VCZn1EGxVodSIwBkWZYeCdELSJblHMWSqHC_d1hwFrU,46
250
+ audiometa/test/tests/integration/reading/test_read_multiple_metadata.py,sha256=s0mkiOcVSR7egK0tWy5UTbH3c0kOiq2Nv5Ei72VSE_0,4369
251
+ audiometa/test/tests/integration/reading/test_reading_error_handling.py,sha256=8OBR-Z2ssQ8yt054lOteX31WXMssLQqm2qItkatgNDQ,1586
252
+ audiometa/test/tests/integration/real_audio_files/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
253
+ audiometa/test/tests/integration/real_audio_files/test_reading.py,sha256=udipchRiuPJuAyN8M49ltzKJlw2hE2Td-c0nInamUQA,8031
254
+ audiometa/test/tests/integration/real_audio_files/test_writing.py,sha256=4CZZHk1LWTOcYwt_S9ptikH35CWjp6JFYBE4tMLujSo,11137
255
+ audiometa/test/tests/integration/technical_info/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
256
+ audiometa/test/tests/integration/technical_info/test_bitrate.py,sha256=vRPLq7aox8PM2yccKQ7vt5HOeSmXudw7Bha7TF1-5bQ,3469
257
+ audiometa/test/tests/integration/technical_info/test_channels.py,sha256=hCooSh-TwCZvqc8yfCtOLTIxHtyiDcYg4qwR9JK8khg,1413
258
+ audiometa/test/tests/integration/technical_info/test_duration_in_sec.py,sha256=xlj0hcYWpmbAOajGZSP8D0mZS6OXS_ql7q3ZbTvo5Lk,1551
259
+ audiometa/test/tests/integration/technical_info/test_sample_rate.py,sha256=EGzuehs7GA58WbuUqSwFi2Dg-C5OT_U7t2dHVc5PWrU,1622
260
+ audiometa/test/tests/integration/technical_info/flac_md5/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
261
+ audiometa/test/tests/integration/technical_info/flac_md5/conftest.py,sha256=g-z4ibM7rydJG-2G28tvMdMOw1Tk4bWVhdsjXJjkAhI,3863
262
+ audiometa/test/tests/integration/technical_info/flac_md5/test_valid_md5.py,sha256=o1hiQypAKid-OgIaCzdhGte5mGu8OP9Ft4mpYEryRmw,735
263
+ audiometa/test/tests/integration/technical_info/flac_md5/test_invalid_md5/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
264
+ audiometa/test/tests/integration/technical_info/flac_md5/test_invalid_md5/test_audio_data_corruption.py,sha256=Yk9Y1rKyM7_2sZOU3_d-6wKxe0wkVBEWRhIadSMB2I0,1071
265
+ audiometa/test/tests/integration/technical_info/flac_md5/test_invalid_md5/test_flipped_md5.py,sha256=cpEaE8NY4bMCmY4evQq5huQK4lMZpfdlEALOA527YvY,1156
266
+ audiometa/test/tests/integration/technical_info/flac_md5/test_invalid_md5/test_non_flac_error.py,sha256=S4Gok6S8JN9XNcr_Ebkj4iOpi0DxSw9l6DmVJRthB0Q,360
267
+ audiometa/test/tests/integration/technical_info/flac_md5/test_invalid_md5/test_partial_md5.py,sha256=fJ9z4sztDgwCxfzf5u6sqqWaA-S08r9fODkpZolTFQ4,1178
268
+ audiometa/test/tests/integration/technical_info/flac_md5/test_invalid_md5/test_random_md5.py,sha256=9cAiAF87w-4T0HvzjwYp5in2l49DUgOaxSBPX2z6KL8,1169
269
+ audiometa/test/tests/integration/technical_info/flac_md5/test_invalid_md5/test_unset_md5.py,sha256=IyqKET-ZT6eER4hCA2gKB3ah1ECBmIHV7KXVpshF2mQ,2307
270
+ audiometa/test/tests/integration/writing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
271
+ audiometa/test/tests/integration/writing/test_error_handling.py,sha256=4jJ17DkocceZYuQkV1wEaJy_3IP-7ut-ip4g9tfL8tk,2126
272
+ audiometa/test/tests/integration/writing/test_forced_format.py,sha256=H927-x9WQttRSvEFzJSJbderbziXxxdhq0-B4sPcdOg,12257
273
+ audiometa/test/tests/integration/writing/test_multiple_format_preservation.py,sha256=Q_dU0vDfudd7lD4WylpjmmJgJnueir-vkWPW_qdKb1A,14027
274
+ audiometa/test/tests/integration/writing/test_partial_update.py,sha256=wGCHU8KAvjy3pWJtTkYwHeq8-dMJ5qzbnCTBuaUlXJQ,1602
275
+ audiometa/test/tests/integration/writing/writing_strategies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
276
+ audiometa/test/tests/integration/writing/writing_strategies/test_cleanup_strategy.py,sha256=fexhCI3is0C4w0QyVMJ_6hFeA42Ml4VA4-QZdTOHZQk,3873
277
+ audiometa/test/tests/integration/writing/writing_strategies/test_preserve_strategy.py,sha256=b22a8Z8Bq6OSoGYLiguo0N66wkT308McMpB6tAKDjjo,3754
278
+ audiometa/test/tests/integration/writing/writing_strategies/test_sync_strategy.py,sha256=ixd45kZIhKoYY6kQJ_JA0quZI_zEY7Ci8O2kOzhRE_I,11769
279
+ audiometa/test/tests/integration/writing/writing_strategies/unsupported_fields/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
280
+ audiometa/test/tests/integration/writing/writing_strategies/unsupported_fields/test_fail_behavior.py,sha256=1mKRC6XlxY8CzDS62xby19Vmp_-jCjx6vUQUWNH2SwU,1950
281
+ audiometa/test/tests/integration/writing/writing_strategies/unsupported_fields/test_no_writing_on_failure.py,sha256=gQDF67jMLVLjgg6q4lhruWiV26N_uoC0ymO4t1SN_cQ,5730
282
+ audiometa/test/tests/integration/writing/writing_strategies/unsupported_fields/test_strategy_specific.py,sha256=p0pKu7c8SwogyS6OyiQfppEeHGGF0V-WxtxwEA_1oaQ,5481
283
+ audiometa/test/tests/unit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
284
+ audiometa/test/tests/unit/audio_file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
285
+ audiometa/test/tests/unit/audio_file/test_context_manager.py,sha256=Q-FVUdSMjlMqaXN0RL983buvN2cxXCQmL4Mh1cgud_s,968
286
+ audiometa/test/tests/unit/audio_file/test_file_validation.py,sha256=6MA9D73fmdwrfHBLGGUOJlKu52cxm2omo7y04YSCDvw,1596
287
+ audiometa/test/tests/unit/audio_file/test_is_audio_file.py,sha256=MpGObuMsf1v2RPMXpKFu71ALuYQ8HeN1Nd6czzK5RZw,1904
288
+ audiometa/test/tests/unit/audio_file/test_operations.py,sha256=mWkvh-Ys9d_7ceuBF_wqk5LqibjCjIpJISCTNb8zZ2o,624
289
+ audiometa/test/tests/unit/audio_file/test_path_handling.py,sha256=6-NnVSBiWAW47pwcgw50kiZo_C5thVOn2v0YGvZ-JXI,799
290
+ audiometa/test/tests/unit/audio_file/technical_info/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
291
+ audiometa/test/tests/unit/audio_file/technical_info/test_bitrate.py,sha256=54MD3iEc0zHspdL84Ud-qsERE4rr_Tl__RLzXUAMo9w,793
292
+ audiometa/test/tests/unit/audio_file/technical_info/test_channels.py,sha256=J8Dj2dCOkQSOBxjOYPkZu-Z7HN-IuWKQ26-N6YAozk4,1013
293
+ audiometa/test/tests/unit/audio_file/technical_info/test_duration_in_sec.py,sha256=nXd3wbMVPXjwd-Clga1eslhKv7XVxIzfOC3x79QYlqE,1394
294
+ audiometa/test/tests/unit/audio_file/technical_info/test_error_handling.py,sha256=3CUoftvkuxHAHnDjdkAnU4UgrPY67Jh2udnFOEqeGhM,7194
295
+ audiometa/test/tests/unit/audio_file/technical_info/test_file_size.py,sha256=TQC_RiR78DF-QWxsWFfoh1Zuul45Y8JyGwPtwObQQqI,1839
296
+ audiometa/test/tests/unit/audio_file/technical_info/test_format_name.py,sha256=vfL4S-1D215KheDbA6KUlUeNOKqPrw8VjvcqriBhatA,860
297
+ audiometa/test/tests/unit/audio_file/technical_info/test_sample_rate.py,sha256=9rrQXA94EREenPM5DntfTmYTHNK4VNSXYR_RYMpeC48,1072
298
+ audiometa/test/tests/unit/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
299
+ audiometa/test/tests/unit/cli/test_expand_file_patterns.py,sha256=C0w2PF-MLlA1XYe_b08VenBqyc4Xx5LXLUZDikNs24M,8764
300
+ audiometa/test/tests/unit/metadata_managers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
301
+ audiometa/test/tests/unit/metadata_managers/conftest.py,sha256=C9YZVZvIuSEXIOIn8BzUfcFJIowBfEZAGD6VXkZcsao,3535
302
+ audiometa/test/tests/unit/metadata_managers/test_metadata_format_managers_write_and_read.py,sha256=2OH6tdCc0EYw5dTqIH3gd6o_ybma7sqj-OhRENR4RCg,3418
303
+ audiometa/test/tests/unit/metadata_managers/test_riff_configuration_error.py,sha256=r49aVKcwIrkfN92A2RSFt6I0X8GTOro6lVgJaPZXUB0,1090
304
+ audiometa/test/tests/unit/metadata_managers/header_info/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
305
+ audiometa/test/tests/unit/metadata_managers/header_info/test_id3v1.py,sha256=CgOYbSyLKFA_um0ZfcSJpbThShcqXFanV6k12jY0fIc,1901
306
+ audiometa/test/tests/unit/metadata_managers/header_info/test_id3v2.py,sha256=one3NS2bGkgBvwUXLy8yS4cBGuM8zOKNPifRi8RxIv0,2802
307
+ audiometa/test/tests/unit/metadata_managers/header_info/test_riff.py,sha256=GGCAsBkZ7UOdH-AwirW_IGPOrY2KeRitDuXzXadtou4,17164
308
+ audiometa/test/tests/unit/metadata_managers/header_info/test_vorbis.py,sha256=j5cDnC5SaH8p_okdOdaWsDKxdt_PmTp27xGQ60AqSfU,2078
309
+ audiometa/test/tests/unit/metadata_managers/metadata_field/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
310
+ audiometa/test/tests/unit/metadata_managers/metadata_field/test_date_format_validation.py,sha256=6zkmxAAmhT5ffjBV7Q9BDHdQWmdQpDT_DvfNxvXoRmc,4494
311
+ audiometa/test/tests/unit/metadata_managers/metadata_field/test_disc_number_validation.py,sha256=gwOjws9qEVMRV-r5gmu5eyLpVx3Dxt4mydv_yUADxAw,2644
312
+ audiometa/test/tests/unit/metadata_managers/metadata_field/test_isrc_format_validation.py,sha256=aTM2pipSNx6UP22gBQPWyfFVs4bvsZyMSfgtk5_oN2E,4720
313
+ audiometa/test/tests/unit/metadata_managers/metadata_field/test_isrc_type_validation.py,sha256=0ebetF7Oq1bJta1D1gt3Zt1z1z2J9zpqu5DDiTtDUjQ,1166
314
+ audiometa/test/tests/unit/metadata_managers/metadata_field/test_track_number_validation.py,sha256=LsSbbwLCgvIE26rAW6FZQXdpr13F6NxRiD4WdPcc7dw,1685
315
+ audiometa/test/tests/unit/metadata_managers/metadata_field/test_type_validation_exception.py,sha256=3vnGtrn8Qqr2St0HsIc4SCpVp-e2mqB3p93HHwNwcOs,844
316
+ audiometa/test/tests/unit/metadata_managers/metadata_field/test_validation.py,sha256=tecuy8e1Wyd3Klwp3x043u4q4-tSqSmgWJMmctDI5OU,3073
317
+ audiometa/test/tests/unit/metadata_managers/metadata_field/multiple_values/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
318
+ audiometa/test/tests/unit/metadata_managers/metadata_field/multiple_values/reading/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
319
+ audiometa/test/tests/unit/metadata_managers/metadata_field/multiple_values/reading/test_smart_parsing.py,sha256=5Fejq7OBPVPHidVtTyu9InizZzi9-UdwhfT_yj6tTZA,7257
320
+ audiometa/test/tests/unit/metadata_managers/metadata_field/multiple_values/writing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
321
+ audiometa/test/tests/unit/metadata_managers/metadata_field/multiple_values/writing/test_separator_selection.py,sha256=fhiGYESh2cwCRAYH3wWrs9ZzAqnRtRn1ML5b3NGe5QA,6325
322
+ audiometa/test/tests/unit/metadata_managers/metadata_field/multiple_values/writing/test_value_filtering.py,sha256=LXMmp6ipAS-gmwhnauQ-u0FyGZPflrLWW1kmBoL2EMI,3220
323
+ audiometa/test/tests/unit/metadata_managers/metadata_field/rating/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
324
+ audiometa/test/tests/unit/metadata_managers/metadata_field/rating/test_rating_validation.py,sha256=PgYMCFw7aqOnfOFNmK-Xuv9n9YtkMa6b7eAXnlCBtug,2890
325
+ audiometa/test/tests/unit/metadata_managers/metadata_field/rating/reading/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
326
+ audiometa/test/tests/unit/metadata_managers/metadata_field/rating/reading/test_normalization.py,sha256=o_vbr-p7BDGpiuJxYS1ZQRAv1pBBCO6ghOFHUQKGW0E,7071
327
+ audiometa/test/tests/unit/metadata_managers/metadata_field/rating/reading/test_profiles_values.py,sha256=Ehnf-WgtdXXo92emLoh39H8M7WnkFCWEU-ReWyRTt7o,849
328
+ audiometa/test/tests/unit/metadata_managers/metadata_field/rating/writing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
329
+ audiometa/test/tests/unit/metadata_managers/metadata_field/rating/writing/test_configuration_error.py,sha256=7giSwUJyGO8xdrF2LF17bMsZiObjlOVlccfclxIHDRA,2002
330
+ audiometa/test/tests/unit/metadata_managers/metadata_field/rating/writing/test_validation.py,sha256=UdzziHSonffMaE78qSOurgmYQAYnyoFn5cG9Sq8x9fU,8212
331
+ audiometa/test/tests/unit/metadata_managers/metadata_field/rating/writing/test_writing_profiles.py,sha256=ma4mr_zUPxqLiSai6OKKRrqEOQiIFUVzTzQGPz9H_X8,2249
332
+ audiometa/utils/__init__.py,sha256=xqgLC3jfpEEBM-p88ZwqcEM-iduMKtbZG3xba4Iu6z0,67
333
+ audiometa/utils/id3v1_genre_code_map.py,sha256=5P-qjbtfuu3xW8UQqdyTnpNdHHGfD3K1pyl-LpXDNYY,4387
334
+ audiometa/utils/metadata_format.py,sha256=cm9a-aK8MIQO7eHsfameTnESGZKdwNARfS3ftmVtUho,907
335
+ audiometa/utils/metadata_writing_strategy.py,sha256=9dThcs7CGCFiONgZRb6Rsn2N5PA3pUeGqZxtKWsiDGc,582
336
+ audiometa/utils/mutagen_exception_handler.py,sha256=UcX0-dik1Q7uhDXC_AmQsiIfyVQfhWTRJlEYHxse3Ps,1015
337
+ audiometa/utils/rating_profiles.py,sha256=_nsVh_lkEAAQDhifSIGvsihUi0cFDlNST6eXxNA47FY,4972
338
+ audiometa/utils/tool_path_resolver.py,sha256=6vbPvUnf9CjBgTdTFpbCX0NfnHwVm2XpxIabDMtkhGE,5283
339
+ audiometa/utils/types.py,sha256=wlwcaiczzO8YfSN2HCq27MwfPufn_S3OKAHVlUxoO_E,2182
340
+ audiometa/utils/unified_metadata_key.py,sha256=4hHwFcaNTZVGn-NvOowsnolDoX1kQbVxjpYwGaTF7ks,3264
341
+ audiometa/utils/os_dependencies_checker/__init__.py,sha256=8cV3a6yiJizSazXsivcj6RRLBLTbZSORQPCihureZKk,905
342
+ audiometa/utils/os_dependencies_checker/base.py,sha256=KZRHkoZUayd6dMZSfbrMwyuaLlZRl7cM9eZXLgvE_Nc,1888
343
+ audiometa/utils/os_dependencies_checker/config.py,sha256=W6wXXAiGsSn_nRJwvtbMSDbcY7_JFxMRjSH0VWAZlq8,2817
344
+ audiometa/utils/os_dependencies_checker/macos.py,sha256=SeEg8BsV2crEP9tPSQX_CneOTdM-Bqm5VRt_YVT3e7Q,9649
345
+ audiometa/utils/os_dependencies_checker/ubuntu.py,sha256=ZWDCd78Y91Y0LN-iOJVv2Dx8REDeT13pQKy1XCxfORo,3837
346
+ audiometa/utils/os_dependencies_checker/windows.py,sha256=ZT1u08ikb7Q1Votkh1UmBoKipiwPakC5YwijJOi9Wo8,8684
347
+ audiometa_python-0.6.0.dist-info/licenses/LICENSE,sha256=j1kssByxxoFgs35PBgJX2ReI8uVNNYzPK2hFW84ZVL4,11402
348
+ audiometa_python-0.6.0.dist-info/METADATA,sha256=MyFm1Q9hAfhNb4eaqpa0pnKKItd0YKD5vgJbhMcx_H0,65175
349
+ audiometa_python-0.6.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
350
+ audiometa_python-0.6.0.dist-info/entry_points.txt,sha256=IlcsOEkazYbUdynOAuGQPoDjbejVQuR5xbJs-8jER-E,49
351
+ audiometa_python-0.6.0.dist-info/top_level.txt,sha256=1z-X7IN6-DpD3IfQWAMQ5bIz6v2Ltgk1w7zwiXOpqDc,10
352
+ audiometa_python-0.6.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ audiometa = audiometa.cli:main
@@ -0,0 +1,202 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (which shall not include any notice that does not pertain to the
39
+ Work).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based upon (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "page" as the copyright notice for easier identification within
188
+ third-party archives.
189
+
190
+ Copyright 2024 Andreas Garcia and AudioMeta Python Contributors
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
@@ -0,0 +1 @@
1
+ audiometa