diff --git a/coverage.json b/coverage.json new file mode 100644 index 0000000..c1cdcb8 --- /dev/null +++ b/coverage.json @@ -0,0 +1 @@ +{"meta": {"format": 3, "version": "7.13.4", "timestamp": "2026-03-12T00:33:12.783961", "branch_coverage": false, "show_contexts": false}, "files": {"musicround/__init__.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20, 23, 24, 26, 90], "summary": {"covered_lines": 22, "num_statements": 255, "percent_covered": 8.627450980392156, "percent_covered_display": "9", "missing_lines": 233, "excluded_lines": 0, "percent_statements_covered": 8.627450980392156, "percent_statements_covered_display": "9"}, "missing_lines": [30, 33, 34, 35, 36, 39, 42, 43, 44, 47, 49, 50, 51, 52, 55, 57, 58, 59, 62, 63, 64, 70, 71, 72, 73, 75, 76, 78, 80, 81, 82, 83, 85, 86, 88, 95, 98, 101, 104, 106, 107, 109, 111, 113, 114, 117, 118, 119, 121, 124, 127, 128, 130, 131, 134, 137, 138, 141, 142, 144, 146, 147, 149, 150, 151, 153, 154, 155, 156, 157, 160, 161, 162, 163, 165, 166, 168, 169, 170, 173, 174, 175, 176, 179, 180, 181, 182, 188, 190, 191, 192, 195, 196, 197, 198, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 212, 213, 214, 215, 217, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 231, 232, 233, 234, 235, 236, 237, 239, 241, 242, 243, 245, 246, 248, 249, 250, 251, 252, 253, 254, 255, 257, 258, 259, 260, 262, 263, 264, 265, 266, 267, 269, 271, 272, 273, 274, 275, 276, 278, 279, 280, 282, 283, 284, 285, 286, 287, 289, 293, 294, 297, 298, 299, 300, 302, 304, 305, 306, 308, 311, 312, 313, 315, 316, 317, 318, 320, 323, 324, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 354, 357, 358, 361, 362, 363, 364, 365, 366, 367, 368, 371, 372, 373, 374, 377, 378, 379, 382], "excluded_lines": [], "functions": {"run_migrations": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [30, 33, 34, 35, 36, 39, 42, 43, 44, 47, 49, 50, 51, 52, 55, 57, 58, 59, 62, 63, 64, 70, 71, 72, 73, 75, 76, 78, 80, 81, 82, 83, 85, 86, 88], "excluded_lines": [], "start_line": 26}, "create_app": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 101, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 101, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [95, 98, 101, 104, 106, 109, 117, 118, 119, 121, 124, 127, 128, 130, 131, 134, 137, 138, 141, 142, 165, 166, 173, 174, 175, 176, 179, 180, 188, 190, 191, 195, 196, 197, 198, 201, 262, 293, 294, 297, 298, 299, 300, 302, 304, 305, 306, 308, 311, 312, 313, 315, 316, 317, 318, 320, 323, 324, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 354, 357, 358, 361, 362, 363, 364, 365, 366, 367, 368, 371, 372, 373, 374, 377, 378, 379, 382], "excluded_lines": [], "start_line": 90}, "create_app.ForceHTTPSMiddleware.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [107], "excluded_lines": [], "start_line": 106}, "create_app.ForceHTTPSMiddleware.__call__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [111, 113, 114], "excluded_lines": [], "start_line": 109}, "create_app.timestamp_to_datetime": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [144, 146, 147, 149, 150, 151, 153, 154, 155, 156, 157, 160, 161, 162, 163], "excluded_lines": [], "start_line": 142}, "create_app.format_datetime": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [168, 169, 170], "excluded_lines": [], "start_line": 166}, "create_app.inject_version": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [181, 182], "excluded_lines": [], "start_line": 180}, "create_app.load_user": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [192], "excluded_lines": [], "start_line": 191}, "create_app._app_fetch_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 50, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 50, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [202, 203, 204, 205, 206, 207, 208, 209, 210, 212, 213, 214, 215, 217, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 231, 232, 233, 234, 235, 236, 237, 239, 241, 242, 243, 245, 246, 248, 249, 250, 251, 252, 253, 254, 255, 257, 258, 259, 260], "excluded_lines": [], "start_line": 201}, "create_app._app_update_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [263, 264, 265, 266, 267, 269, 271, 272, 273, 274, 275, 276, 278, 279, 280, 282, 283, 284, 285, 286, 287, 289], "excluded_lines": [], "start_line": 262}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20, 23, 24, 26, 90], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"create_app.ForceHTTPSMiddleware": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [107, 111, 113, 114], "excluded_lines": [], "start_line": 104}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20, 23, 24, 26, 90], "summary": {"covered_lines": 22, "num_statements": 251, "percent_covered": 8.764940239043824, "percent_covered_display": "9", "missing_lines": 229, "excluded_lines": 0, "percent_statements_covered": 8.764940239043824, "percent_statements_covered_display": "9"}, "missing_lines": [30, 33, 34, 35, 36, 39, 42, 43, 44, 47, 49, 50, 51, 52, 55, 57, 58, 59, 62, 63, 64, 70, 71, 72, 73, 75, 76, 78, 80, 81, 82, 83, 85, 86, 88, 95, 98, 101, 104, 106, 109, 117, 118, 119, 121, 124, 127, 128, 130, 131, 134, 137, 138, 141, 142, 144, 146, 147, 149, 150, 151, 153, 154, 155, 156, 157, 160, 161, 162, 163, 165, 166, 168, 169, 170, 173, 174, 175, 176, 179, 180, 181, 182, 188, 190, 191, 192, 195, 196, 197, 198, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 212, 213, 214, 215, 217, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 231, 232, 233, 234, 235, 236, 237, 239, 241, 242, 243, 245, 246, 248, 249, 250, 251, 252, 253, 254, 255, 257, 258, 259, 260, 262, 263, 264, 265, 266, 267, 269, 271, 272, 273, 274, 275, 276, 278, 279, 280, 282, 283, 284, 285, 286, 287, 289, 293, 294, 297, 298, 299, 300, 302, 304, 305, 306, 308, 311, 312, 313, 315, 316, 317, 318, 320, 323, 324, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 354, 357, 358, 361, 362, 363, 364, 365, 366, 367, 368, 371, 372, 373, 374, 377, 378, 379, 382], "excluded_lines": [], "start_line": 1}}}, "musicround/config.py": {"executed_lines": [1, 2, 3, 4, 5, 8, 11, 14, 16, 18, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 40, 41, 42, 43, 46, 47, 48, 51, 52, 55, 56, 57, 60, 61, 62, 64, 65, 66, 69, 70, 71, 72, 73, 74, 77, 78, 79, 82, 83, 86, 87, 88, 89, 90, 91], "summary": {"covered_lines": 60, "num_statements": 62, "percent_covered": 96.7741935483871, "percent_covered_display": "97", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 96.7741935483871, "percent_statements_covered_display": "97"}, "missing_lines": [67, 68], "excluded_lines": [], "functions": {"": {"executed_lines": [1, 2, 3, 4, 5, 8, 11, 14, 16, 18, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 40, 41, 42, 43, 46, 47, 48, 51, 52, 55, 56, 57, 60, 61, 62, 64, 65, 66, 69, 70, 71, 72, 73, 74, 77, 78, 79, 82, 83, 86, 87, 88, 89, 90, 91], "summary": {"covered_lines": 60, "num_statements": 62, "percent_covered": 96.7741935483871, "percent_covered_display": "97", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 96.7741935483871, "percent_statements_covered_display": "97"}, "missing_lines": [67, 68], "excluded_lines": [], "start_line": 1}}, "classes": {"Config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "": {"executed_lines": [1, 2, 3, 4, 5, 8, 11, 14, 16, 18, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 40, 41, 42, 43, 46, 47, 48, 51, 52, 55, 56, 57, 60, 61, 62, 64, 65, 66, 69, 70, 71, 72, 73, 74, 77, 78, 79, 82, 83, 86, 87, 88, 89, 90, 91], "summary": {"covered_lines": 60, "num_statements": 62, "percent_covered": 96.7741935483871, "percent_covered_display": "97", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 96.7741935483871, "percent_statements_covered_display": "97"}, "missing_lines": [67, 68], "excluded_lines": [], "start_line": 1}}}, "musicround/deezer_client.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 196, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 196, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 18, 19, 20, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33, 35, 39, 40, 41, 42, 44, 46, 50, 51, 52, 53, 55, 57, 61, 62, 63, 64, 66, 68, 70, 72, 74, 76, 77, 78, 79, 81, 83, 85, 87, 88, 89, 90, 92, 97, 98, 101, 102, 103, 106, 109, 112, 115, 116, 118, 123, 124, 126, 127, 135, 136, 139, 143, 144, 145, 146, 147, 148, 153, 155, 156, 157, 160, 161, 162, 163, 166, 169, 170, 171, 172, 173, 175, 176, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 190, 191, 192, 193, 194, 196, 197, 198, 199, 201, 202, 203, 204, 205, 206, 208, 209, 210, 211, 212, 213, 216, 219, 220, 221, 223, 224, 225, 226, 227, 229, 233, 236, 250, 251, 252, 253, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 267, 268, 269, 270, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 287, 288, 289, 291, 292, 293, 294, 295, 296, 297, 299, 302, 304, 310, 315, 316, 317, 319, 320, 321, 322, 323, 324, 325, 327, 330, 332], "excluded_lines": [], "functions": {"DeezerClient.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [19, 20], "excluded_lines": [], "start_line": 18}, "DeezerClient._make_request": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [24, 25, 26, 27, 28, 29, 30, 31], "excluded_lines": [], "start_line": 22}, "DeezerClient.search_tracks": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [35, 39, 40, 41, 42], "excluded_lines": [], "start_line": 33}, "DeezerClient.search_albums": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [46, 50, 51, 52, 53], "excluded_lines": [], "start_line": 44}, "DeezerClient.search_playlists": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [57, 61, 62, 63, 64], "excluded_lines": [], "start_line": 55}, "DeezerClient.get_track": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [68], "excluded_lines": [], "start_line": 66}, "DeezerClient.get_album": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [72], "excluded_lines": [], "start_line": 70}, "DeezerClient.get_album_tracks": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [76, 77, 78, 79], "excluded_lines": [], "start_line": 74}, "DeezerClient.get_playlist": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [83], "excluded_lines": [], "start_line": 81}, "DeezerClient.get_playlist_tracks": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [87, 88, 89, 90], "excluded_lines": [], "start_line": 85}, "DeezerClient.get_popular_playlists": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [97, 98, 101, 102, 103, 106, 109, 112, 115, 116], "excluded_lines": [], "start_line": 92}, "DeezerClient.get_genre_from_lastfm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [123, 124, 126, 127, 135, 136, 139, 143, 144, 145, 146, 147], "excluded_lines": [], "start_line": 118}, "DeezerClient.import_track": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 87, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 87, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [153, 155, 156, 157, 160, 161, 162, 163, 166, 169, 170, 171, 172, 173, 175, 176, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 190, 191, 192, 193, 194, 196, 197, 198, 199, 201, 202, 203, 204, 205, 206, 208, 209, 210, 211, 212, 213, 216, 219, 220, 221, 223, 224, 225, 226, 227, 229, 233, 236, 250, 251, 252, 253, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 267, 268, 269, 270, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281], "excluded_lines": [], "start_line": 148}, "DeezerClient.import_album": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [287, 288, 289, 291, 292, 293, 294, 295, 296, 297, 299, 302, 304], "excluded_lines": [], "start_line": 282}, "DeezerClient.import_playlist": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [315, 316, 317, 319, 320, 321, 322, 323, 324, 325, 327, 330, 332], "excluded_lines": [], "start_line": 310}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 18, 22, 33, 44, 55, 66, 70, 74, 81, 85, 92, 118, 148, 282, 310], "excluded_lines": [], "start_line": 1}}, "classes": {"DeezerClient": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 171, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 171, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [19, 20, 24, 25, 26, 27, 28, 29, 30, 31, 35, 39, 40, 41, 42, 46, 50, 51, 52, 53, 57, 61, 62, 63, 64, 68, 72, 76, 77, 78, 79, 83, 87, 88, 89, 90, 97, 98, 101, 102, 103, 106, 109, 112, 115, 116, 123, 124, 126, 127, 135, 136, 139, 143, 144, 145, 146, 147, 153, 155, 156, 157, 160, 161, 162, 163, 166, 169, 170, 171, 172, 173, 175, 176, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 190, 191, 192, 193, 194, 196, 197, 198, 199, 201, 202, 203, 204, 205, 206, 208, 209, 210, 211, 212, 213, 216, 219, 220, 221, 223, 224, 225, 226, 227, 229, 233, 236, 250, 251, 252, 253, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 267, 268, 269, 270, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 287, 288, 289, 291, 292, 293, 294, 295, 296, 297, 299, 302, 304, 315, 316, 317, 319, 320, 321, 322, 323, 324, 325, 327, 330, 332], "excluded_lines": [], "start_line": 12}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 18, 22, 33, 44, 55, 66, 70, 74, 81, 85, 92, 118, 148, 282, 310], "excluded_lines": [], "start_line": 1}}}, "musicround/errors.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 104, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 104, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 9, 11, 22, 23, 25, 27, 28, 29, 31, 32, 33, 36, 37, 38, 39, 41, 44, 60, 61, 64, 66, 67, 74, 75, 76, 77, 78, 81, 82, 89, 90, 91, 92, 93, 96, 97, 99, 100, 102, 104, 108, 109, 110, 111, 112, 113, 119, 121, 122, 124, 125, 126, 127, 129, 130, 131, 133, 134, 135, 137, 138, 139, 141, 142, 143, 145, 146, 147, 149, 150, 151, 153, 154, 155, 157, 158, 159, 162, 163, 164, 165, 168, 173, 176, 177, 180, 182, 191, 192, 195, 196, 197, 198, 199, 202, 205, 208, 215], "excluded_lines": [], "functions": {"generate_friendly_error_message": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 37, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 37, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [22, 23, 25, 27, 28, 29, 31, 32, 33, 36, 37, 38, 39, 41, 44, 60, 61, 64, 66, 67, 74, 75, 76, 77, 78, 81, 82, 89, 90, 91, 92, 93, 96, 97, 99, 100, 102], "excluded_lines": [], "start_line": 11}, "register_error_handlers": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [108, 109, 110, 129, 130, 133, 134, 137, 138, 141, 142, 145, 146, 149, 150, 153, 154, 157, 158, 162, 163], "excluded_lines": [], "start_line": 104}, "register_error_handlers.get_friendly_error_message": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [111, 112, 113, 119, 121, 122, 124, 125, 126, 127], "excluded_lines": [], "start_line": 110}, "register_error_handlers.bad_request_error": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [131], "excluded_lines": [], "start_line": 130}, "register_error_handlers.unauthorized_error": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [135], "excluded_lines": [], "start_line": 134}, "register_error_handlers.forbidden_error": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [139], "excluded_lines": [], "start_line": 138}, "register_error_handlers.not_found_error": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [143], "excluded_lines": [], "start_line": 142}, "register_error_handlers.method_not_allowed_error": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [147], "excluded_lines": [], "start_line": 146}, "register_error_handlers.too_many_requests_error": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [151], "excluded_lines": [], "start_line": 150}, "register_error_handlers.internal_server_error": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [155], "excluded_lines": [], "start_line": 154}, "register_error_handlers.handle_csrf_error": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [159], "excluded_lines": [], "start_line": 158}, "register_error_handlers.unhandled_exception": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [164, 165], "excluded_lines": [], "start_line": 163}, "handle_error": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [173, 176, 177, 180, 182, 191, 192, 195, 196, 197, 198, 199, 202, 205, 208, 215], "excluded_lines": [], "start_line": 168}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 9, 11, 104, 168], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 104, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 104, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 9, 11, 22, 23, 25, 27, 28, 29, 31, 32, 33, 36, 37, 38, 39, 41, 44, 60, 61, 64, 66, 67, 74, 75, 76, 77, 78, 81, 82, 89, 90, 91, 92, 93, 96, 97, 99, 100, 102, 104, 108, 109, 110, 111, 112, 113, 119, 121, 122, 124, 125, 126, 127, 129, 130, 131, 133, 134, 135, 137, 138, 139, 141, 142, 143, 145, 146, 147, 149, 150, 151, 153, 154, 155, 157, 158, 159, 162, 163, 164, 165, 168, 173, 176, 177, 180, 182, 191, 192, 195, 196, 197, 198, 199, 202, 205, 208, 215], "excluded_lines": [], "start_line": 1}}}, "musicround/helpers/__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "musicround/helpers/auth_helpers.py": {"executed_lines": [4, 5, 6, 7, 8, 9, 12, 14, 91, 118, 137, 191, 228, 319, 349], "summary": {"covered_lines": 15, "num_statements": 186, "percent_covered": 8.064516129032258, "percent_covered_display": "8", "missing_lines": 171, "excluded_lines": 0, "percent_statements_covered": 8.064516129032258, "percent_statements_covered_display": "8"}, "missing_lines": [18, 21, 22, 31, 33, 36, 37, 46, 48, 51, 52, 65, 67, 69, 70, 85, 87, 89, 95, 96, 97, 100, 110, 111, 113, 114, 115, 116, 122, 123, 124, 125, 133, 134, 135, 141, 143, 146, 147, 149, 150, 152, 153, 156, 161, 168, 169, 170, 173, 174, 177, 186, 187, 188, 189, 195, 206, 207, 208, 209, 211, 220, 221, 222, 223, 224, 225, 226, 232, 233, 234, 237, 238, 239, 240, 241, 242, 243, 244, 246, 249, 250, 253, 254, 255, 256, 257, 258, 259, 260, 261, 263, 264, 267, 269, 270, 272, 273, 274, 277, 278, 281, 282, 283, 284, 285, 288, 299, 300, 301, 302, 303, 304, 305, 306, 308, 309, 310, 311, 312, 313, 314, 315, 317, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 359, 360, 363, 372, 373, 374, 375, 376, 377, 379, 385, 386, 387, 389, 392, 393, 394, 397, 398, 399, 401, 412], "excluded_lines": [], "functions": {"init_oauth": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18, 21, 22, 31, 33, 36, 37, 46, 48, 51, 52, 65, 67, 69, 70, 85, 87, 89], "excluded_lines": [], "start_line": 14}, "get_google_user_info": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [95, 96, 97, 100, 110, 111, 113, 114, 115, 116], "excluded_lines": [], "start_line": 91}, "get_authentik_user_info": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [122, 123, 124, 125, 133, 134, 135], "excluded_lines": [], "start_line": 118}, "get_dropbox_user_info": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [141, 143, 146, 147, 149, 150, 152, 153, 156, 161, 168, 169, 170, 173, 174, 177, 186, 187, 188, 189], "excluded_lines": [], "start_line": 137}, "get_spotify_user_info": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [195, 206, 207, 208, 209, 211, 220, 221, 222, 223, 224, 225, 226], "excluded_lines": [], "start_line": 191}, "find_or_create_user": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 56, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 56, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [232, 233, 234, 237, 238, 239, 240, 241, 242, 243, 244, 246, 249, 250, 253, 254, 255, 256, 257, 258, 259, 260, 261, 263, 264, 267, 269, 270, 272, 273, 274, 277, 278, 281, 282, 283, 284, 285, 288, 299, 300, 301, 302, 303, 304, 305, 306, 308, 309, 310, 311, 312, 313, 314, 315, 317], "excluded_lines": [], "start_line": 228}, "update_oauth_tokens": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "excluded_lines": [], "start_line": 319}, "get_oauth_redirect_uri": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [359, 360, 363, 372, 373, 374, 375, 376, 377, 379, 385, 386, 387, 389, 392, 393, 394, 397, 398, 399, 401, 412], "excluded_lines": [], "start_line": 349}, "": {"executed_lines": [4, 5, 6, 7, 8, 9, 12, 14, 91, 118, 137, 191, 228, 319, 349], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [4, 5, 6, 7, 8, 9, 12, 14, 91, 118, 137, 191, 228, 319, 349], "summary": {"covered_lines": 15, "num_statements": 186, "percent_covered": 8.064516129032258, "percent_covered_display": "8", "missing_lines": 171, "excluded_lines": 0, "percent_statements_covered": 8.064516129032258, "percent_statements_covered_display": "8"}, "missing_lines": [18, 21, 22, 31, 33, 36, 37, 46, 48, 51, 52, 65, 67, 69, 70, 85, 87, 89, 95, 96, 97, 100, 110, 111, 113, 114, 115, 116, 122, 123, 124, 125, 133, 134, 135, 141, 143, 146, 147, 149, 150, 152, 153, 156, 161, 168, 169, 170, 173, 174, 177, 186, 187, 188, 189, 195, 206, 207, 208, 209, 211, 220, 221, 222, 223, 224, 225, 226, 232, 233, 234, 237, 238, 239, 240, 241, 242, 243, 244, 246, 249, 250, 253, 254, 255, 256, 257, 258, 259, 260, 261, 263, 264, 267, 269, 270, 272, 273, 274, 277, 278, 281, 282, 283, 284, 285, 288, 299, 300, 301, 302, 303, 304, 305, 306, 308, 309, 310, 311, 312, 313, 314, 315, 317, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 359, 360, 363, 372, 373, 374, 375, 376, 377, 379, 385, 386, 387, 389, 392, 393, 394, 397, 398, 399, 401, 412], "excluded_lines": [], "start_line": 1}}}, "musicround/helpers/backup_helper.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 345, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 345, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 17, 29, 31, 32, 33, 36, 37, 40, 43, 45, 47, 49, 52, 53, 54, 55, 56, 58, 60, 61, 68, 69, 70, 71, 72, 75, 76, 77, 78, 79, 81, 83, 86, 87, 88, 91, 92, 93, 94, 97, 98, 99, 102, 103, 104, 106, 107, 108, 111, 113, 122, 123, 124, 127, 129, 130, 131, 133, 134, 137, 139, 148, 149, 150, 156, 163, 165, 166, 167, 169, 171, 172, 173, 174, 176, 177, 178, 179, 182, 183, 184, 185, 186, 188, 191, 192, 202, 203, 206, 208, 210, 220, 221, 223, 224, 229, 230, 231, 235, 236, 237, 242, 252, 253, 255, 256, 261, 263, 265, 266, 269, 270, 271, 272, 274, 280, 281, 283, 285, 286, 288, 289, 290, 293, 294, 296, 297, 303, 304, 305, 306, 309, 310, 311, 312, 315, 316, 319, 322, 323, 324, 325, 326, 328, 331, 332, 333, 335, 336, 337, 340, 341, 342, 343, 346, 347, 350, 351, 352, 353, 354, 357, 360, 361, 363, 364, 365, 367, 373, 374, 375, 380, 390, 391, 393, 394, 400, 402, 403, 410, 412, 413, 414, 421, 422, 429, 430, 431, 433, 436, 444, 445, 446, 452, 466, 467, 470, 471, 474, 475, 476, 477, 480, 481, 483, 490, 491, 492, 497, 504, 507, 510, 511, 512, 513, 516, 517, 519, 520, 521, 523, 524, 527, 528, 531, 532, 533, 534, 535, 536, 537, 539, 540, 541, 544, 546, 557, 569, 572, 573, 576, 582, 585, 597, 614, 627, 640, 650, 651, 658, 659, 660, 663, 666, 669, 671, 673, 675, 676, 677, 678, 680, 681, 682, 683, 685, 686, 687, 688, 689, 691, 694, 695, 698, 699, 700, 701, 702, 703, 707, 708, 710, 717, 718, 719, 726, 736, 738, 739, 742, 746, 747, 748, 751, 752, 755, 757, 758, 759, 765, 766, 768, 770, 771, 772, 778, 779, 781, 790, 791, 792, 797, 808, 809, 810, 813, 814, 815, 818, 824, 827, 828, 829, 832, 849, 850, 853, 854, 856, 859, 871, 883, 898, 899, 900], "excluded_lines": [], "functions": {"create_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 63, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 63, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [29, 31, 32, 33, 36, 37, 40, 43, 45, 47, 49, 52, 53, 54, 55, 56, 58, 60, 61, 68, 69, 70, 71, 72, 75, 76, 77, 78, 79, 81, 83, 86, 87, 88, 91, 92, 93, 94, 97, 98, 99, 102, 103, 104, 106, 107, 108, 111, 113, 122, 123, 124, 127, 129, 130, 131, 133, 134, 137, 139, 148, 149, 150], "excluded_lines": [], "start_line": 17}, "list_backups": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [163, 165, 166, 167, 169, 171, 172, 173, 174, 176, 177, 178, 179, 182, 183, 184, 185, 186, 188, 191, 192, 202, 203, 206, 208], "excluded_lines": [], "start_line": 156}, "delete_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [220, 221, 223, 224, 229, 230, 231, 235, 236, 237], "excluded_lines": [], "start_line": 210}, "restore_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 69, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 69, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [252, 253, 255, 256, 261, 263, 265, 266, 269, 270, 271, 272, 274, 280, 281, 283, 285, 286, 288, 289, 290, 293, 294, 296, 297, 303, 304, 305, 306, 309, 310, 311, 312, 315, 316, 319, 322, 323, 324, 325, 326, 328, 331, 332, 333, 335, 336, 337, 340, 341, 342, 343, 346, 347, 350, 351, 352, 353, 354, 357, 360, 361, 363, 364, 365, 367, 373, 374, 375], "excluded_lines": [], "start_line": 242}, "verify_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [390, 391, 393, 394, 400, 402, 403, 410, 412, 413, 414, 421, 422, 429, 430, 431, 433, 436, 444, 445, 446], "excluded_lines": [], "start_line": 380}, "schedule_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [466, 467, 470, 471, 474, 475, 476, 477, 480, 481, 483, 490, 491, 492], "excluded_lines": [], "start_line": 452}, "get_backup_summary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [504, 507, 510, 511, 512, 513, 516, 517, 519, 520, 521, 523, 524, 527, 528, 531, 532, 533, 534, 535, 536, 537, 539, 540, 541, 544, 546], "excluded_lines": [], "start_line": 497}, "generate_backup_config_suggestion": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [569, 572, 573, 576, 582, 585, 597, 614, 627], "excluded_lines": [], "start_line": 557}, "apply_retention_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 38, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 38, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [650, 651, 658, 659, 660, 663, 666, 669, 671, 673, 675, 676, 677, 678, 680, 681, 682, 683, 685, 686, 687, 688, 689, 691, 694, 695, 698, 699, 700, 701, 702, 703, 707, 708, 710, 717, 718, 719], "excluded_lines": [], "start_line": 640}, "upload_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [736, 738, 739, 742, 746, 747, 748, 751, 752, 755, 757, 758, 759, 765, 766, 768, 770, 771, 772, 778, 779, 781, 790, 791, 792], "excluded_lines": [], "start_line": 726}, "update_ofelia_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [808, 809, 810, 813, 814, 815, 818, 824, 827, 828, 829, 832, 849, 850, 853, 854, 856, 859, 871, 883, 898, 899, 900], "excluded_lines": [], "start_line": 797}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 17, 156, 210, 242, 380, 452, 497, 557, 640, 726, 797], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 345, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 345, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 17, 29, 31, 32, 33, 36, 37, 40, 43, 45, 47, 49, 52, 53, 54, 55, 56, 58, 60, 61, 68, 69, 70, 71, 72, 75, 76, 77, 78, 79, 81, 83, 86, 87, 88, 91, 92, 93, 94, 97, 98, 99, 102, 103, 104, 106, 107, 108, 111, 113, 122, 123, 124, 127, 129, 130, 131, 133, 134, 137, 139, 148, 149, 150, 156, 163, 165, 166, 167, 169, 171, 172, 173, 174, 176, 177, 178, 179, 182, 183, 184, 185, 186, 188, 191, 192, 202, 203, 206, 208, 210, 220, 221, 223, 224, 229, 230, 231, 235, 236, 237, 242, 252, 253, 255, 256, 261, 263, 265, 266, 269, 270, 271, 272, 274, 280, 281, 283, 285, 286, 288, 289, 290, 293, 294, 296, 297, 303, 304, 305, 306, 309, 310, 311, 312, 315, 316, 319, 322, 323, 324, 325, 326, 328, 331, 332, 333, 335, 336, 337, 340, 341, 342, 343, 346, 347, 350, 351, 352, 353, 354, 357, 360, 361, 363, 364, 365, 367, 373, 374, 375, 380, 390, 391, 393, 394, 400, 402, 403, 410, 412, 413, 414, 421, 422, 429, 430, 431, 433, 436, 444, 445, 446, 452, 466, 467, 470, 471, 474, 475, 476, 477, 480, 481, 483, 490, 491, 492, 497, 504, 507, 510, 511, 512, 513, 516, 517, 519, 520, 521, 523, 524, 527, 528, 531, 532, 533, 534, 535, 536, 537, 539, 540, 541, 544, 546, 557, 569, 572, 573, 576, 582, 585, 597, 614, 627, 640, 650, 651, 658, 659, 660, 663, 666, 669, 671, 673, 675, 676, 677, 678, 680, 681, 682, 683, 685, 686, 687, 688, 689, 691, 694, 695, 698, 699, 700, 701, 702, 703, 707, 708, 710, 717, 718, 719, 726, 736, 738, 739, 742, 746, 747, 748, 751, 752, 755, 757, 758, 759, 765, 766, 768, 770, 771, 772, 778, 779, 781, 790, 791, 792, 797, 808, 809, 810, 813, 814, 815, 818, 824, 827, 828, 829, 832, 849, 850, 853, 854, 856, 859, 871, 883, 898, 899, 900], "excluded_lines": [], "start_line": 1}}}, "musicround/helpers/dropbox_helper.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 206, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 206, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 18, 20, 21, 23, 25, 26, 27, 29, 37, 39, 40, 42, 43, 45, 47, 48, 50, 57, 59, 60, 62, 63, 65, 67, 72, 74, 75, 77, 78, 80, 82, 83, 84, 87, 91, 94, 95, 98, 100, 102, 103, 104, 106, 108, 111, 112, 114, 125, 126, 127, 128, 131, 132, 135, 137, 138, 139, 142, 145, 146, 147, 149, 160, 166, 167, 168, 170, 171, 174, 175, 178, 183, 190, 197, 199, 203, 209, 210, 211, 213, 215, 216, 217, 218, 220, 221, 223, 224, 225, 227, 237, 238, 241, 242, 245, 247, 248, 250, 252, 253, 254, 257, 258, 260, 262, 264, 266, 267, 268, 270, 284, 285, 287, 289, 290, 293, 294, 296, 307, 309, 315, 317, 318, 319, 322, 323, 324, 325, 326, 327, 328, 330, 336, 337, 338, 340, 346, 347, 348, 349, 350, 355, 367, 368, 370, 372, 373, 375, 380, 387, 389, 395, 398, 399, 402, 406, 412, 414, 415, 416, 418, 420, 421, 422, 428, 430, 432, 433, 434, 435, 436, 443, 444, 445, 446, 447, 448, 449, 451, 452, 458, 459, 460, 461, 462, 467, 477, 481, 483, 488, 489, 491, 492, 494, 495, 496], "excluded_lines": [], "functions": {"get_dropbox_auth_url": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14, 15, 18, 20, 21], "excluded_lines": [], "start_line": 12}, "exchange_code_for_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [25, 26, 27, 29, 37, 39, 40, 42, 43], "excluded_lines": [], "start_line": 23}, "refresh_dropbox_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [47, 48, 50, 57, 59, 60, 62, 63], "excluded_lines": [], "start_line": 45}, "get_dropbox_user_info": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [67, 72, 74, 75, 77, 78], "excluded_lines": [], "start_line": 65}, "get_current_user_dropbox_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [82, 83, 84, 87, 91, 94, 95, 98, 100, 102, 103, 104, 106, 108, 111, 112], "excluded_lines": [], "start_line": 80}, "upload_and_share": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 42, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 42, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [125, 126, 127, 128, 131, 132, 135, 137, 138, 139, 142, 145, 146, 147, 149, 160, 166, 167, 168, 170, 171, 174, 175, 178, 183, 190, 197, 199, 203, 209, 210, 211, 213, 215, 216, 217, 218, 220, 221, 223, 224, 225], "excluded_lines": [], "start_line": 114}, "refresh_dropbox_token_if_needed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [237, 238, 241, 242, 245, 247, 248, 250, 252, 253, 254, 257, 258, 260, 262, 264, 266, 267, 268], "excluded_lines": [], "start_line": 227}, "upload_to_dropbox": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [284, 285, 287, 289, 290, 293, 294, 296, 307, 309, 315, 317, 318, 319, 322, 323, 324, 325, 326, 327, 328, 330, 336, 337, 338, 340, 346, 347, 348, 349, 350], "excluded_lines": [], "start_line": 270}, "create_shared_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 43, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 43, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [367, 368, 370, 372, 373, 375, 380, 387, 389, 395, 398, 399, 402, 406, 412, 414, 415, 416, 418, 420, 421, 422, 428, 430, 432, 433, 434, 435, 436, 443, 444, 445, 446, 447, 448, 449, 451, 452, 458, 459, 460, 461, 462], "excluded_lines": [], "start_line": 355}, "get_dropbox_account_info": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [477, 481, 483, 488, 489, 491, 492, 494, 495, 496], "excluded_lines": [], "start_line": 467}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4, 5, 6, 7, 8, 9, 10, 12, 23, 45, 65, 80, 114, 227, 270, 355, 467], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 206, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 206, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 18, 20, 21, 23, 25, 26, 27, 29, 37, 39, 40, 42, 43, 45, 47, 48, 50, 57, 59, 60, 62, 63, 65, 67, 72, 74, 75, 77, 78, 80, 82, 83, 84, 87, 91, 94, 95, 98, 100, 102, 103, 104, 106, 108, 111, 112, 114, 125, 126, 127, 128, 131, 132, 135, 137, 138, 139, 142, 145, 146, 147, 149, 160, 166, 167, 168, 170, 171, 174, 175, 178, 183, 190, 197, 199, 203, 209, 210, 211, 213, 215, 216, 217, 218, 220, 221, 223, 224, 225, 227, 237, 238, 241, 242, 245, 247, 248, 250, 252, 253, 254, 257, 258, 260, 262, 264, 266, 267, 268, 270, 284, 285, 287, 289, 290, 293, 294, 296, 307, 309, 315, 317, 318, 319, 322, 323, 324, 325, 326, 327, 328, 330, 336, 337, 338, 340, 346, 347, 348, 349, 350, 355, 367, 368, 370, 372, 373, 375, 380, 387, 389, 395, 398, 399, 402, 406, 412, 414, 415, 416, 418, 420, 421, 422, 428, 430, 432, 433, 434, 435, 436, 443, 444, 445, 446, 447, 448, 449, 451, 452, 458, 459, 460, 461, 462, 467, 477, 481, 483, 488, 489, 491, 492, 494, 495, 496], "excluded_lines": [], "start_line": 1}}}, "musicround/helpers/email_helper.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 60, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 60, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4, 5, 6, 7, 8, 9, 11, 29, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 57, 60, 61, 62, 63, 66, 69, 70, 71, 75, 76, 77, 81, 83, 84, 85, 86, 87, 88, 89, 90, 91, 93, 95, 96, 97, 98, 99, 100, 101, 102, 103], "excluded_lines": [], "functions": {"send_email": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 53, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 53, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [29, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 57, 60, 61, 62, 63, 66, 69, 70, 71, 75, 76, 77, 81, 83, 84, 85, 86, 87, 88, 89, 90, 91, 93, 95, 96, 97, 98, 99, 100, 101, 102, 103], "excluded_lines": [], "start_line": 11}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4, 5, 6, 7, 8, 9, 11], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 60, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 60, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4, 5, 6, 7, 8, 9, 11, 29, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 57, 60, 61, 62, 63, 66, 69, 70, 71, 75, 76, 77, 81, 83, 84, 85, 86, 87, 88, 89, 90, 91, 93, 95, 96, 97, 98, 99, 100, 101, 102, 103], "excluded_lines": [], "start_line": 1}}}, "musicround/helpers/import_helper.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 485, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 485, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 41, 42, 43, 45, 48, 49, 51, 52, 54, 55, 56, 57, 59, 69, 70, 71, 72, 73, 74, 76, 78, 79, 81, 82, 83, 85, 86, 87, 92, 93, 94, 95, 96, 97, 99, 100, 101, 102, 103, 109, 111, 113, 114, 115, 116, 117, 119, 120, 121, 123, 125, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 142, 144, 146, 147, 148, 149, 150, 151, 154, 155, 163, 164, 166, 169, 171, 172, 174, 177, 178, 179, 182, 185, 186, 187, 188, 189, 190, 191, 192, 193, 196, 197, 198, 200, 201, 214, 215, 217, 219, 220, 221, 227, 228, 229, 230, 231, 232, 233, 234, 240, 241, 242, 243, 244, 250, 251, 252, 253, 254, 255, 261, 262, 263, 264, 265, 272, 273, 279, 282, 283, 284, 285, 291, 293, 294, 295, 296, 297, 299, 301, 302, 303, 304, 305, 306, 308, 309, 310, 316, 322, 323, 324, 325, 331, 332, 333, 334, 335, 336, 342, 348, 349, 350, 351, 358, 359, 366, 367, 374, 375, 377, 384, 385, 386, 387, 388, 390, 391, 392, 393, 395, 396, 397, 398, 400, 407, 408, 409, 410, 411, 412, 413, 415, 416, 417, 419, 420, 421, 422, 423, 425, 427, 428, 429, 430, 431, 433, 434, 436, 437, 438, 439, 440, 441, 442, 444, 445, 446, 448, 449, 451, 452, 453, 484, 486, 488, 489, 490, 492, 494, 495, 498, 499, 500, 501, 502, 503, 504, 505, 506, 509, 510, 511, 512, 514, 515, 516, 519, 520, 521, 522, 523, 525, 527, 528, 529, 530, 531, 532, 533, 536, 537, 538, 539, 540, 541, 542, 543, 544, 547, 550, 551, 552, 554, 555, 556, 558, 560, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 587, 588, 590, 597, 598, 599, 600, 601, 603, 604, 605, 606, 608, 609, 610, 611, 613, 620, 621, 622, 623, 624, 625, 626, 628, 629, 630, 631, 632, 634, 636, 640, 641, 642, 643, 646, 647, 648, 650, 651, 652, 653, 654, 656, 658, 659, 660, 662, 663, 664, 665, 666, 667, 668, 671, 673, 674, 675, 676, 677, 679, 680, 681, 683, 684, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 708, 710, 711, 713, 721, 722, 723, 724, 725, 727, 728, 729, 730, 732, 733, 734, 735, 737, 744, 745, 747, 748, 749, 750, 751, 753, 754, 755, 756, 757, 759, 761, 762, 764, 765, 766, 768, 769, 770, 772, 773, 774, 775, 776, 778, 780, 781, 782, 784, 785, 786, 787, 788, 790, 792, 793, 794, 795, 796, 797, 799, 801, 802, 803, 804, 805, 808, 809, 811, 812, 813, 815, 816, 817, 818, 819, 820, 821], "excluded_lines": [], "functions": {"generate_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [41, 42, 43], "excluded_lines": [], "start_line": 30}, "ImportHelper._create_song_from_spotify": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [51, 52, 54, 55, 56, 57, 59, 69, 70, 71, 72, 73, 74, 76], "excluded_lines": [], "start_line": 49}, "ImportHelper._fetch_audio_features_for_song": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 51, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 51, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [81, 82, 83, 85, 86, 87, 92, 93, 94, 95, 96, 97, 99, 100, 101, 102, 103, 109, 111, 113, 114, 115, 116, 117, 119, 120, 121, 123, 125, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 142, 144, 146, 147, 148, 149, 150, 151], "excluded_lines": [], "start_line": 79}, "ImportHelper.create_tags_from_genre": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [163, 164, 166, 169, 171, 172, 174, 177, 178, 179, 182, 185, 186, 187, 188, 189, 190, 191, 192, 193, 196, 197, 198], "excluded_lines": [], "start_line": 155}, "ImportHelper.import_item": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 73, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 73, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [214, 215, 217, 219, 220, 221, 227, 228, 229, 230, 231, 232, 233, 234, 240, 241, 242, 243, 244, 250, 251, 252, 253, 254, 255, 261, 262, 263, 264, 265, 272, 273, 279, 282, 283, 284, 285, 291, 293, 294, 295, 296, 297, 299, 301, 302, 303, 304, 305, 306, 308, 309, 310, 316, 322, 323, 324, 325, 331, 332, 333, 334, 335, 336, 342, 348, 349, 350, 351, 358, 359, 366, 367], "excluded_lines": [], "start_line": 201}, "ImportHelper.import_spotify_track": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 132, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 132, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [377, 384, 385, 386, 387, 388, 390, 391, 392, 393, 395, 396, 397, 398, 400, 407, 408, 409, 410, 411, 412, 413, 415, 416, 417, 419, 420, 421, 422, 423, 425, 427, 428, 429, 430, 431, 433, 434, 436, 437, 438, 439, 440, 441, 442, 444, 445, 446, 448, 449, 451, 452, 453, 484, 486, 488, 489, 490, 492, 494, 495, 498, 499, 500, 501, 502, 503, 504, 505, 506, 509, 510, 511, 512, 514, 515, 516, 519, 520, 521, 522, 523, 525, 527, 528, 529, 530, 531, 532, 533, 536, 537, 538, 539, 540, 541, 542, 543, 544, 547, 550, 551, 552, 554, 555, 556, 558, 560, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585], "excluded_lines": [], "start_line": 375}, "ImportHelper.import_spotify_album": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 85, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 85, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [590, 597, 598, 599, 600, 601, 603, 604, 605, 606, 608, 609, 610, 611, 613, 620, 621, 622, 623, 624, 625, 626, 628, 629, 630, 631, 632, 634, 636, 640, 641, 642, 643, 646, 647, 648, 650, 651, 652, 653, 654, 656, 658, 659, 660, 662, 663, 664, 665, 666, 667, 668, 671, 673, 674, 675, 676, 677, 679, 680, 681, 683, 684, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 708], "excluded_lines": [], "start_line": 588}, "ImportHelper.import_spotify_playlist": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 75, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 75, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [713, 721, 722, 723, 724, 725, 727, 728, 729, 730, 732, 733, 734, 735, 737, 744, 745, 747, 748, 749, 750, 751, 753, 754, 755, 756, 757, 759, 761, 762, 764, 765, 766, 768, 769, 770, 772, 773, 774, 775, 776, 778, 780, 781, 782, 784, 785, 786, 787, 788, 790, 792, 793, 794, 795, 796, 797, 799, 801, 802, 803, 804, 805, 808, 809, 811, 812, 813, 815, 816, 817, 818, 819, 820, 821], "excluded_lines": [], "start_line": 711}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 45, 48, 49, 78, 79, 154, 155, 200, 201, 374, 375, 587, 588, 710, 711], "excluded_lines": [], "start_line": 1}}, "classes": {"ImportHelper": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 453, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 453, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [51, 52, 54, 55, 56, 57, 59, 69, 70, 71, 72, 73, 74, 76, 81, 82, 83, 85, 86, 87, 92, 93, 94, 95, 96, 97, 99, 100, 101, 102, 103, 109, 111, 113, 114, 115, 116, 117, 119, 120, 121, 123, 125, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 142, 144, 146, 147, 148, 149, 150, 151, 163, 164, 166, 169, 171, 172, 174, 177, 178, 179, 182, 185, 186, 187, 188, 189, 190, 191, 192, 193, 196, 197, 198, 214, 215, 217, 219, 220, 221, 227, 228, 229, 230, 231, 232, 233, 234, 240, 241, 242, 243, 244, 250, 251, 252, 253, 254, 255, 261, 262, 263, 264, 265, 272, 273, 279, 282, 283, 284, 285, 291, 293, 294, 295, 296, 297, 299, 301, 302, 303, 304, 305, 306, 308, 309, 310, 316, 322, 323, 324, 325, 331, 332, 333, 334, 335, 336, 342, 348, 349, 350, 351, 358, 359, 366, 367, 377, 384, 385, 386, 387, 388, 390, 391, 392, 393, 395, 396, 397, 398, 400, 407, 408, 409, 410, 411, 412, 413, 415, 416, 417, 419, 420, 421, 422, 423, 425, 427, 428, 429, 430, 431, 433, 434, 436, 437, 438, 439, 440, 441, 442, 444, 445, 446, 448, 449, 451, 452, 453, 484, 486, 488, 489, 490, 492, 494, 495, 498, 499, 500, 501, 502, 503, 504, 505, 506, 509, 510, 511, 512, 514, 515, 516, 519, 520, 521, 522, 523, 525, 527, 528, 529, 530, 531, 532, 533, 536, 537, 538, 539, 540, 541, 542, 543, 544, 547, 550, 551, 552, 554, 555, 556, 558, 560, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 590, 597, 598, 599, 600, 601, 603, 604, 605, 606, 608, 609, 610, 611, 613, 620, 621, 622, 623, 624, 625, 626, 628, 629, 630, 631, 632, 634, 636, 640, 641, 642, 643, 646, 647, 648, 650, 651, 652, 653, 654, 656, 658, 659, 660, 662, 663, 664, 665, 666, 667, 668, 671, 673, 674, 675, 676, 677, 679, 680, 681, 683, 684, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 708, 713, 721, 722, 723, 724, 725, 727, 728, 729, 730, 732, 733, 734, 735, 737, 744, 745, 747, 748, 749, 750, 751, 753, 754, 755, 756, 757, 759, 761, 762, 764, 765, 766, 768, 769, 770, 772, 773, 774, 775, 776, 778, 780, 781, 782, 784, 785, 786, 787, 788, 790, 792, 793, 794, 795, 796, 797, 799, 801, 802, 803, 804, 805, 808, 809, 811, 812, 813, 815, 816, 817, 818, 819, 820, 821], "excluded_lines": [], "start_line": 45}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 41, 42, 43, 45, 48, 49, 78, 79, 154, 155, 200, 201, 374, 375, 587, 588, 710, 711], "excluded_lines": [], "start_line": 1}}}, "musicround/helpers/import_queue.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 64, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 64, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [3, 5, 6, 7, 8, 9, 10, 12, 13, 16, 17, 20, 21, 22, 23, 24, 27, 30, 31, 32, 33, 35, 37, 38, 39, 41, 43, 44, 45, 46, 47, 49, 51, 54, 57, 58, 59, 60, 61, 63, 65, 67, 68, 69, 70, 71, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 92, 93, 94, 95, 96, 98], "excluded_lines": [], "functions": {"ImportQueue.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [31, 32, 33], "excluded_lines": [], "start_line": 30}, "ImportQueue.add_job": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [37, 38, 39], "excluded_lines": [], "start_line": 35}, "ImportQueue.get_job": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [43, 44, 45, 46, 47], "excluded_lines": [], "start_line": 41}, "ImportQueue.task_done": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [51], "excluded_lines": [], "start_line": 49}, "ImportWorker.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [58, 59, 60, 61], "excluded_lines": [], "start_line": 57}, "ImportWorker.stop": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [65], "excluded_lines": [], "start_line": 63}, "ImportWorker.run": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [68, 69, 70, 71, 72, 73, 74], "excluded_lines": [], "start_line": 67}, "ImportWorker._process_job": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [77, 78, 79, 80, 81, 82, 83, 84, 92, 93, 94, 95, 96, 98], "excluded_lines": [], "start_line": 76}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [3, 5, 6, 7, 8, 9, 10, 12, 13, 16, 17, 20, 21, 22, 23, 24, 27, 30, 35, 41, 49, 54, 57, 63, 67, 76], "excluded_lines": [], "start_line": 1}}, "classes": {"ImportJob": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "ImportQueue": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [31, 32, 33, 37, 38, 39, 43, 44, 45, 46, 47, 51], "excluded_lines": [], "start_line": 27}, "ImportWorker": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [58, 59, 60, 61, 65, 68, 69, 70, 71, 72, 73, 74, 77, 78, 79, 80, 81, 82, 83, 84, 92, 93, 94, 95, 96, 98], "excluded_lines": [], "start_line": 54}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [3, 5, 6, 7, 8, 9, 10, 12, 13, 16, 17, 20, 21, 22, 23, 24, 27, 30, 35, 41, 49, 54, 57, 63, 67, 76], "excluded_lines": [], "start_line": 1}}}, "musicround/helpers/metadata.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 33, 58, 59, 60, 61, 62, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 87, 88, 89, 92, 93, 94, 95, 126, 127, 128, 129, 132, 133, 134, 136, 138, 142, 144, 146, 150, 157, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 174, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 191, 193, 199, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 212, 214, 216, 223, 224, 225, 226, 227, 230, 231, 233, 234, 235, 237, 238, 239, 242, 244, 245, 246, 247, 248, 254, 256, 257, 258, 259, 260, 261, 262, 275, 276, 278, 279, 281, 282, 283, 284, 285, 301, 302, 304, 305, 306, 308, 313, 326, 327, 328, 329, 331, 333, 334, 337, 339, 340, 341, 344, 345, 346, 347, 349, 350, 357, 365, 366, 367, 368, 369, 370, 373, 380, 381, 382, 388, 389, 390, 392, 394, 396, 399, 401, 403, 404, 405, 408, 411, 412, 413, 414, 415, 416, 417, 420, 421, 422, 423, 426, 427, 428, 429, 434, 436, 497, 568, 570, 572, 575, 577, 578, 579, 581, 582, 611, 729, 731, 733, 736, 738, 739, 740, 741, 742, 743], "summary": {"covered_lines": 217, "num_statements": 528, "percent_covered": 41.09848484848485, "percent_covered_display": "41", "missing_lines": 311, "excluded_lines": 0, "percent_statements_covered": 41.09848484848485, "percent_statements_covered_display": "41"}, "missing_lines": [96, 97, 98, 99, 100, 102, 103, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117, 119, 120, 122, 123, 135, 137, 139, 143, 145, 147, 151, 152, 153, 154, 155, 170, 171, 172, 190, 192, 194, 195, 196, 197, 211, 213, 215, 217, 218, 219, 220, 249, 250, 251, 252, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 286, 288, 289, 290, 292, 293, 294, 295, 296, 297, 298, 309, 310, 311, 314, 316, 317, 318, 319, 320, 321, 323, 351, 352, 353, 354, 383, 384, 385, 386, 430, 431, 432, 438, 440, 442, 443, 444, 447, 448, 450, 451, 454, 457, 458, 461, 464, 467, 470, 471, 474, 475, 478, 479, 482, 483, 484, 485, 486, 487, 489, 490, 491, 492, 493, 495, 499, 501, 503, 505, 507, 508, 509, 511, 514, 515, 516, 519, 521, 523, 526, 527, 530, 533, 536, 537, 539, 540, 542, 543, 545, 547, 548, 551, 552, 555, 556, 558, 559, 560, 561, 562, 563, 564, 566, 573, 585, 586, 594, 595, 596, 599, 602, 603, 604, 605, 606, 607, 609, 613, 615, 616, 618, 620, 621, 623, 624, 625, 627, 628, 631, 634, 637, 639, 642, 644, 645, 648, 649, 655, 656, 657, 658, 659, 661, 662, 663, 670, 671, 672, 673, 674, 677, 678, 681, 682, 690, 691, 692, 693, 694, 697, 698, 700, 701, 702, 703, 704, 706, 708, 709, 710, 712, 715, 716, 718, 719, 720, 721, 722, 723, 724, 725, 727, 734, 746, 747, 750, 756, 757, 758, 759, 761, 762, 763, 765, 766, 767, 768, 770, 771, 773, 774, 775, 777, 778, 780, 781, 784, 785, 788, 789, 790, 791, 792, 793, 796, 799, 800, 801, 802, 803, 804, 805, 806, 809, 810, 811, 812, 814, 815, 818, 819, 820, 821, 822, 823, 826, 827, 828, 829, 830, 832, 834, 835, 836, 837, 839], "excluded_lines": [], "functions": {"get_song_metadata_by_isrc": {"executed_lines": [33, 58, 59, 60, 61, 62, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 87, 88, 89, 92, 93, 94, 95, 126, 127, 128, 129, 132, 133, 134, 136, 138, 142, 144, 146, 150, 157, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 174, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 191, 193, 199, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 212, 214, 216, 223, 224, 225, 226, 227, 230, 231, 233, 234, 235, 237, 238, 239, 242, 244, 245, 246, 247, 248, 254, 256, 257, 258, 259, 260, 261, 262, 275, 276, 278, 279, 281, 282, 283, 284, 285, 301, 302, 304, 305, 306, 308, 313, 326, 327, 328, 329, 331, 333, 334, 337, 339, 340, 341, 344, 345, 346, 347, 349, 350, 357, 365, 366, 367, 368, 369, 370, 373, 380, 381, 382, 388, 389, 390, 392], "summary": {"covered_lines": 162, "num_statements": 255, "percent_covered": 63.529411764705884, "percent_covered_display": "64", "missing_lines": 93, "excluded_lines": 0, "percent_statements_covered": 63.529411764705884, "percent_statements_covered_display": "64"}, "missing_lines": [96, 97, 98, 99, 100, 102, 103, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117, 119, 120, 122, 123, 135, 137, 139, 143, 145, 147, 151, 152, 153, 154, 155, 170, 171, 172, 190, 192, 194, 195, 196, 197, 211, 213, 215, 217, 218, 219, 220, 249, 250, 251, 252, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 286, 288, 289, 290, 292, 293, 294, 295, 296, 297, 298, 309, 310, 311, 314, 316, 317, 318, 319, 320, 321, 323, 351, 352, 353, 354, 383, 384, 385, 386], "excluded_lines": [], "start_line": 10}, "get_musicbrainz_data": {"executed_lines": [396, 399, 401, 403, 404, 405, 408, 411, 412, 413, 414, 415, 416, 417, 420, 421, 422, 423, 426, 427, 428, 429, 434], "summary": {"covered_lines": 23, "num_statements": 26, "percent_covered": 88.46153846153847, "percent_covered_display": "88", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 88.46153846153847, "percent_statements_covered_display": "88"}, "missing_lines": [430, 431, 432], "excluded_lines": [], "start_line": 394}, "get_spotify_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [438, 440, 442, 443, 444, 447, 448, 450, 451, 454, 457, 458, 461, 464, 467, 470, 471, 474, 475, 478, 479, 482, 483, 484, 485, 486, 487, 489, 490, 491, 492, 493, 495], "excluded_lines": [], "start_line": 436}, "get_deezer_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [499, 501, 503, 505, 507, 508, 509, 511, 514, 515, 516, 519, 521, 523, 526, 527, 530, 533, 536, 537, 539, 540, 542, 543, 545, 547, 548, 551, 552, 555, 556, 558, 559, 560, 561, 562, 563, 564, 566], "excluded_lines": [], "start_line": 497}, "get_lastfm_data": {"executed_lines": [570, 572, 575, 577, 578, 579, 581, 582], "summary": {"covered_lines": 8, "num_statements": 22, "percent_covered": 36.36363636363637, "percent_covered_display": "36", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 36.36363636363637, "percent_statements_covered_display": "36"}, "missing_lines": [573, 585, 586, 594, 595, 596, 599, 602, 603, 604, 605, 606, 607, 609], "excluded_lines": [], "start_line": 568}, "get_openai_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 65, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 65, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [613, 615, 616, 618, 620, 621, 623, 624, 625, 627, 628, 631, 634, 637, 639, 642, 644, 645, 648, 649, 655, 656, 657, 658, 659, 661, 662, 663, 670, 671, 672, 673, 674, 677, 678, 681, 682, 690, 691, 692, 693, 694, 697, 698, 700, 701, 702, 703, 704, 706, 708, 709, 710, 712, 715, 716, 718, 719, 720, 721, 722, 723, 724, 725, 727], "excluded_lines": [], "start_line": 611}, "get_acrcloud_data": {"executed_lines": [731, 733, 736, 738, 739, 740, 741, 742, 743], "summary": {"covered_lines": 9, "num_statements": 73, "percent_covered": 12.32876712328767, "percent_covered_display": "12", "missing_lines": 64, "excluded_lines": 0, "percent_statements_covered": 12.32876712328767, "percent_statements_covered_display": "12"}, "missing_lines": [734, 746, 747, 750, 756, 757, 758, 759, 761, 762, 763, 765, 766, 767, 768, 770, 771, 773, 774, 775, 777, 778, 780, 781, 784, 785, 788, 789, 790, 791, 792, 793, 796, 799, 800, 801, 802, 803, 804, 805, 806, 809, 810, 811, 812, 814, 815, 818, 819, 820, 821, 822, 823, 826, 827, 828, 829, 830, 832, 834, 835, 836, 837, 839], "excluded_lines": [], "start_line": 729}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 394, 436, 497, 568, 611, 729], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 33, 58, 59, 60, 61, 62, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 87, 88, 89, 92, 93, 94, 95, 126, 127, 128, 129, 132, 133, 134, 136, 138, 142, 144, 146, 150, 157, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 174, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 191, 193, 199, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 212, 214, 216, 223, 224, 225, 226, 227, 230, 231, 233, 234, 235, 237, 238, 239, 242, 244, 245, 246, 247, 248, 254, 256, 257, 258, 259, 260, 261, 262, 275, 276, 278, 279, 281, 282, 283, 284, 285, 301, 302, 304, 305, 306, 308, 313, 326, 327, 328, 329, 331, 333, 334, 337, 339, 340, 341, 344, 345, 346, 347, 349, 350, 357, 365, 366, 367, 368, 369, 370, 373, 380, 381, 382, 388, 389, 390, 392, 394, 396, 399, 401, 403, 404, 405, 408, 411, 412, 413, 414, 415, 416, 417, 420, 421, 422, 423, 426, 427, 428, 429, 434, 436, 497, 568, 570, 572, 575, 577, 578, 579, 581, 582, 611, 729, 731, 733, 736, 738, 739, 740, 741, 742, 743], "summary": {"covered_lines": 217, "num_statements": 528, "percent_covered": 41.09848484848485, "percent_covered_display": "41", "missing_lines": 311, "excluded_lines": 0, "percent_statements_covered": 41.09848484848485, "percent_statements_covered_display": "41"}, "missing_lines": [96, 97, 98, 99, 100, 102, 103, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117, 119, 120, 122, 123, 135, 137, 139, 143, 145, 147, 151, 152, 153, 154, 155, 170, 171, 172, 190, 192, 194, 195, 196, 197, 211, 213, 215, 217, 218, 219, 220, 249, 250, 251, 252, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 286, 288, 289, 290, 292, 293, 294, 295, 296, 297, 298, 309, 310, 311, 314, 316, 317, 318, 319, 320, 321, 323, 351, 352, 353, 354, 383, 384, 385, 386, 430, 431, 432, 438, 440, 442, 443, 444, 447, 448, 450, 451, 454, 457, 458, 461, 464, 467, 470, 471, 474, 475, 478, 479, 482, 483, 484, 485, 486, 487, 489, 490, 491, 492, 493, 495, 499, 501, 503, 505, 507, 508, 509, 511, 514, 515, 516, 519, 521, 523, 526, 527, 530, 533, 536, 537, 539, 540, 542, 543, 545, 547, 548, 551, 552, 555, 556, 558, 559, 560, 561, 562, 563, 564, 566, 573, 585, 586, 594, 595, 596, 599, 602, 603, 604, 605, 606, 607, 609, 613, 615, 616, 618, 620, 621, 623, 624, 625, 627, 628, 631, 634, 637, 639, 642, 644, 645, 648, 649, 655, 656, 657, 658, 659, 661, 662, 663, 670, 671, 672, 673, 674, 677, 678, 681, 682, 690, 691, 692, 693, 694, 697, 698, 700, 701, 702, 703, 704, 706, 708, 709, 710, 712, 715, 716, 718, 719, 720, 721, 722, 723, 724, 725, 727, 734, 746, 747, 750, 756, 757, 758, 759, 761, 762, 763, 765, 766, 767, 768, 770, 771, 773, 774, 775, 777, 778, 780, 781, 784, 785, 788, 789, 790, 791, 792, 793, 796, 799, 800, 801, 802, 803, 804, 805, 806, 809, 810, 811, 812, 814, 815, 818, 819, 820, 821, 822, 823, 826, 827, 828, 829, 830, 832, 834, 835, 836, 837, 839], "excluded_lines": [], "start_line": 1}}}, "musicround/helpers/spotify_client_manager.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4, 5, 6, 7, 8, 9, 11, 13, 25, 28, 29, 30, 31, 33, 34, 35, 38, 41, 43, 44, 45, 46, 49, 50, 51, 52, 55, 63, 66, 67, 68, 69, 72, 75, 78, 79, 80, 81, 83], "excluded_lines": [], "functions": {"ensure_valid_spotify_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [25, 28, 29, 30, 31, 33, 34, 35, 38, 41, 43, 44, 45, 46, 49, 50, 51, 52, 55, 63, 66, 67, 68, 69, 72, 75, 78, 79, 80, 81, 83], "excluded_lines": [], "start_line": 13}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4, 5, 6, 7, 8, 9, 11, 13], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4, 5, 6, 7, 8, 9, 11, 13, 25, 28, 29, 30, 31, 33, 34, 35, 38, 41, 43, 44, 45, 46, 49, 50, 51, 52, 55, 63, 66, 67, 68, 69, 72, 75, 78, 79, 80, 81, 83], "excluded_lines": [], "start_line": 1}}}, "musicround/helpers/spotify_debug.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "musicround/helpers/spotify_direct.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 169, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 169, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 10, 12, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 37, 40, 41, 43, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 56, 57, 59, 61, 62, 63, 64, 65, 66, 68, 70, 71, 72, 74, 76, 83, 84, 85, 87, 88, 89, 92, 93, 96, 97, 98, 100, 101, 103, 104, 105, 107, 110, 111, 114, 115, 116, 118, 120, 121, 123, 124, 129, 130, 131, 132, 133, 134, 135, 136, 137, 139, 140, 143, 144, 145, 146, 148, 149, 151, 152, 154, 155, 156, 157, 159, 160, 161, 163, 175, 176, 181, 182, 184, 185, 187, 189, 191, 202, 203, 204, 205, 206, 208, 209, 211, 212, 214, 215, 216, 217, 220, 221, 222, 225, 226, 227, 229, 232, 233, 234, 237, 240, 241, 242, 245, 246, 248, 249, 250, 252, 253, 255, 257, 267, 268, 269, 271, 272, 274, 284, 285, 287, 288, 289, 292, 293, 294, 297, 299, 300, 302, 303, 304], "excluded_lines": [], "functions": {"SpotifyDirectClient.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 37, 40, 41], "excluded_lines": [], "start_line": 17}, "SpotifyDirectClient._load_token_from_cache": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 56, 57], "excluded_lines": [], "start_line": 43}, "SpotifyDirectClient._save_token_to_cache": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [61, 62, 63, 64, 65, 66], "excluded_lines": [], "start_line": 59}, "SpotifyDirectClient._refresh_access_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [70, 71, 72, 74, 76, 83, 84, 85, 87, 88, 89, 92, 93, 96, 97, 98, 100, 101, 103, 104, 105], "excluded_lines": [], "start_line": 68}, "SpotifyDirectClient._ensure_token_valid": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [110, 111, 114, 115, 116], "excluded_lines": [], "start_line": 107}, "SpotifyDirectClient._make_api_request": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [120, 121, 123, 124, 129, 130, 131, 132, 133, 134, 135, 136, 137, 139, 140, 143, 144, 145, 146, 148, 149, 151, 152, 154, 155, 156, 157, 159, 160, 161], "excluded_lines": [], "start_line": 118}, "SpotifyDirectClient.user_playlists": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [175, 176, 181, 182, 184, 185, 187, 189], "excluded_lines": [], "start_line": 163}, "SpotifyDirectClient.fetch_all_user_playlists": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [202, 203, 204, 205, 206, 208, 209, 211, 212, 214, 215, 216, 217, 220, 221, 222, 225, 226, 227, 229, 232, 233, 234, 237, 240, 241, 242, 245, 246, 248, 249, 250, 252, 253, 255], "excluded_lines": [], "start_line": 191}, "SpotifyDirectClient.get_track_audio_features": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [267, 268, 269, 271, 272], "excluded_lines": [], "start_line": 257}, "SpotifyDirectClient.get_tracks_audio_features": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [284, 285, 287, 288, 289, 292, 293, 294, 297, 299, 300, 302, 303, 304], "excluded_lines": [], "start_line": 274}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 10, 12, 17, 43, 59, 68, 107, 118, 163, 191, 257, 274], "excluded_lines": [], "start_line": 1}}, "classes": {"SpotifyDirectClient": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 152, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 152, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 37, 40, 41, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 56, 57, 61, 62, 63, 64, 65, 66, 70, 71, 72, 74, 76, 83, 84, 85, 87, 88, 89, 92, 93, 96, 97, 98, 100, 101, 103, 104, 105, 110, 111, 114, 115, 116, 120, 121, 123, 124, 129, 130, 131, 132, 133, 134, 135, 136, 137, 139, 140, 143, 144, 145, 146, 148, 149, 151, 152, 154, 155, 156, 157, 159, 160, 161, 175, 176, 181, 182, 184, 185, 187, 189, 202, 203, 204, 205, 206, 208, 209, 211, 212, 214, 215, 216, 217, 220, 221, 222, 225, 226, 227, 229, 232, 233, 234, 237, 240, 241, 242, 245, 246, 248, 249, 250, 252, 253, 255, 267, 268, 269, 271, 272, 284, 285, 287, 288, 289, 292, 293, 294, 297, 299, 300, 302, 303, 304], "excluded_lines": [], "start_line": 12}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 10, 12, 17, 43, 59, 68, 107, 118, 163, 191, 257, 274], "excluded_lines": [], "start_line": 1}}}, "musicround/helpers/spotify_helper.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 104, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 104, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 10, 13, 15, 16, 18, 19, 20, 22, 29, 31, 32, 34, 35, 38, 40, 41, 42, 45, 49, 50, 53, 54, 57, 59, 61, 62, 63, 66, 67, 69, 70, 72, 75, 76, 79, 81, 83, 84, 85, 88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 101, 103, 105, 107, 108, 109, 111, 112, 115, 116, 118, 119, 122, 123, 126, 132, 133, 134, 137, 138, 139, 142, 143, 146, 152, 153, 156, 157, 158, 160, 162, 163, 164, 165, 166, 168, 170, 173, 175, 176, 178, 183, 184, 186, 187, 189, 190, 191, 192, 193], "excluded_lines": [], "functions": {"refresh_spotify_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [15, 16, 18, 19, 20, 22, 29, 31, 32, 34, 35], "excluded_lines": [], "start_line": 13}, "get_current_user_spotify_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [40, 41, 42, 45, 49, 50, 53, 54, 57, 59, 61, 62, 63, 66, 67, 69, 70, 72, 75, 76], "excluded_lines": [], "start_line": 38}, "get_system_spotify_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [81, 83, 84, 85, 88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 101, 103, 105, 107, 108, 109, 111, 112, 115, 116, 118, 119, 122, 123], "excluded_lines": [], "start_line": 79}, "get_spotify_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [132, 133, 134, 137, 138, 139, 142, 143], "excluded_lines": [], "start_line": 126}, "refresh_spotify_token_if_needed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [152, 153, 156, 157, 158, 160, 162, 163, 164, 165, 166, 168, 170], "excluded_lines": [], "start_line": 146}, "get_spotify_user_info": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [175, 176, 178, 183, 184, 186, 187, 189, 190, 191, 192, 193], "excluded_lines": [], "start_line": 173}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 10, 13, 38, 79, 126, 146, 173], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 104, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 104, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 10, 13, 15, 16, 18, 19, 20, 22, 29, 31, 32, 34, 35, 38, 40, 41, 42, 45, 49, 50, 53, 54, 57, 59, 61, 62, 63, 66, 67, 69, 70, 72, 75, 76, 79, 81, 83, 84, 85, 88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 101, 103, 105, 107, 108, 109, 111, 112, 115, 116, 118, 119, 122, 123, 126, 132, 133, 134, 137, 138, 139, 142, 143, 146, 152, 153, 156, 157, 158, 160, 162, 163, 164, 165, 166, 168, 170, 173, 175, 176, 178, 183, 184, 186, 187, 189, 190, 191, 192, 193], "excluded_lines": [], "start_line": 1}}}, "musicround/helpers/spotify_oauth_debug.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "musicround/helpers/spotify_token.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "musicround/helpers/utils.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 110, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 110, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 25, 26, 27, 29, 40, 41, 44, 45, 46, 47, 49, 51, 63, 64, 67, 70, 71, 72, 75, 78, 81, 83, 93, 94, 96, 107, 108, 110, 111, 114, 116, 126, 128, 138, 139, 147, 149, 150, 151, 153, 155, 159, 161, 162, 163, 164, 165, 171, 172, 174, 175, 176, 177, 178, 181, 183, 200, 201, 202, 203, 205, 207, 209, 216, 219, 221, 229, 230, 231, 233, 235, 237, 239, 240, 243, 245, 247, 253, 254, 256, 258, 259, 260, 261, 264, 267, 268, 270, 275, 284, 290, 291, 292, 293, 295, 296, 299, 301, 302, 303], "excluded_lines": [], "functions": {"generate_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [25, 26, 27], "excluded_lines": [], "start_line": 14}, "get_user_mp3_directory": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [40, 41, 44, 45, 46, 47, 49], "excluded_lines": [], "start_line": 29}, "save_user_mp3": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [63, 64, 67, 70, 71, 72, 75, 78, 81], "excluded_lines": [], "start_line": 51}, "allowed_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [93, 94], "excluded_lines": [], "start_line": 83}, "get_mp3_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [107, 108, 110, 111, 114], "excluded_lines": [], "start_line": 96}, "get_available_voices": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [126, 128, 138, 139, 147, 149, 150, 151, 153, 155, 159, 161, 162, 163, 164, 165, 171, 172, 174, 175, 176, 177, 178, 181], "excluded_lines": [], "start_line": 116}, "generate_tts_mp3": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [200, 201, 202, 203, 205, 207, 209, 216, 219, 221, 229, 230, 231, 233, 235, 237, 239, 240, 243, 245, 247, 253, 254, 256, 258, 259, 260, 261, 264, 267, 268, 270, 275, 284, 290, 291, 292, 293, 295, 296, 299, 301, 302, 303], "excluded_lines": [], "start_line": 183}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 29, 51, 83, 96, 116, 183], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 110, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 110, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 25, 26, 27, 29, 40, 41, 44, 45, 46, 47, 49, 51, 63, 64, 67, 70, 71, 72, 75, 78, 81, 83, 93, 94, 96, 107, 108, 110, 111, 114, 116, 126, 128, 138, 139, 147, 149, 150, 151, 153, 155, 159, 161, 162, 163, 164, 165, 171, 172, 174, 175, 176, 177, 178, 181, 183, 200, 201, 202, 203, 205, 207, 209, 216, 219, 221, 229, 230, 231, 233, 235, 237, 239, 240, 243, 245, 247, 253, 254, 256, 258, 259, 260, 261, 264, 267, 268, 270, 275, 284, 290, 291, 292, 293, 295, 296, 299, 301, 302, 303], "excluded_lines": [], "start_line": 1}}}, "musicround/models.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 228, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 228, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 8, 13, 17, 18, 19, 21, 22, 25, 29, 30, 31, 32, 33, 34, 37, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53, 54, 57, 60, 61, 62, 63, 66, 67, 68, 71, 72, 73, 76, 77, 78, 79, 80, 83, 84, 85, 88, 89, 91, 92, 94, 96, 97, 99, 101, 103, 104, 105, 107, 109, 110, 112, 114, 116, 118, 120, 121, 124, 128, 129, 130, 133, 135, 136, 139, 143, 145, 146, 147, 149, 150, 153, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 200, 203, 205, 206, 212, 213, 247, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 265, 266, 271, 272, 276, 277, 279, 283, 284, 287, 291, 292, 293, 294, 295, 296, 297, 298, 299, 302, 303, 305, 306, 309, 310, 311, 312, 313, 315, 316, 317, 318, 320, 321, 322, 323, 324, 325, 327, 328, 330, 331, 332, 335, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 354, 356, 357, 359, 360, 362, 363, 364, 366, 367, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383], "excluded_lines": [], "functions": {"Role.__repr__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [22], "excluded_lines": [], "start_line": 21}, "User.password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [99], "excluded_lines": [], "start_line": 97}, "User.check_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [103, 104, 105], "excluded_lines": [], "start_line": 101}, "User.set_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [109, 110], "excluded_lines": [], "start_line": 107}, "User.has_role": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [114], "excluded_lines": [], "start_line": 112}, "User.is_admin_by_role": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [118], "excluded_lines": [], "start_line": 116}, "User.__repr__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [121], "excluded_lines": [], "start_line": 120}, "Tag.__repr__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [136], "excluded_lines": [], "start_line": 135}, "SongTag.__repr__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [150], "excluded_lines": [], "start_line": 149}, "Song.__repr__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [206], "excluded_lines": [], "start_line": 205}, "Song.to_dict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [213], "excluded_lines": [], "start_line": 212}, "Round.__repr__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [266], "excluded_lines": [], "start_line": 265}, "Round.song_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [276, 277], "excluded_lines": [], "start_line": 272}, "Round.reset_generated_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [283, 284], "excluded_lines": [], "start_line": 279}, "RoundExport.__repr__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [306], "excluded_lines": [], "start_line": 305}, "SystemSetting.get": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [317, 318], "excluded_lines": [], "start_line": 316}, "SystemSetting.set": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [322, 323, 324, 325, 327, 328], "excluded_lines": [], "start_line": 321}, "SystemSetting.all_settings": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [332], "excluded_lines": [], "start_line": 331}, "ImportJobRecord.__repr__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [357], "excluded_lines": [], "start_line": 356}, "ImportJobRecord.duration": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [362, 363, 364], "excluded_lines": [], "start_line": 360}, "ImportJobRecord.item_url": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383], "excluded_lines": [], "start_line": 367}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 179, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 179, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 8, 13, 17, 18, 19, 21, 25, 29, 30, 31, 32, 33, 34, 37, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53, 54, 57, 60, 61, 62, 63, 66, 67, 68, 71, 72, 73, 76, 77, 78, 79, 80, 83, 84, 85, 88, 89, 91, 92, 96, 97, 101, 107, 112, 116, 120, 124, 128, 129, 130, 133, 135, 139, 143, 145, 146, 147, 149, 153, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 200, 203, 205, 212, 247, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 265, 271, 272, 279, 287, 291, 292, 293, 294, 295, 296, 297, 298, 299, 302, 303, 305, 309, 310, 311, 312, 313, 315, 316, 320, 321, 330, 331, 335, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 354, 356, 359, 360, 366, 367], "excluded_lines": [], "start_line": 1}}, "classes": {"Role": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [22], "excluded_lines": [], "start_line": 13}, "UserPreferences": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "User": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [94, 99, 103, 104, 105, 109, 110, 114, 118, 121], "excluded_lines": [], "start_line": 37}, "Tag": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [136], "excluded_lines": [], "start_line": 124}, "SongTag": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [150], "excluded_lines": [], "start_line": 139}, "Song": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [206, 213], "excluded_lines": [], "start_line": 153}, "Round": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [266, 276, 277, 283, 284], "excluded_lines": [], "start_line": 247}, "RoundExport": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [306], "excluded_lines": [], "start_line": 287}, "SystemSetting": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [317, 318, 322, 323, 324, 325, 327, 328, 332], "excluded_lines": [], "start_line": 309}, "ImportJobRecord": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [357, 362, 363, 364, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383], "excluded_lines": [], "start_line": 335}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 179, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 179, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 8, 13, 17, 18, 19, 21, 25, 29, 30, 31, 32, 33, 34, 37, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53, 54, 57, 60, 61, 62, 63, 66, 67, 68, 71, 72, 73, 76, 77, 78, 79, 80, 83, 84, 85, 88, 89, 91, 92, 96, 97, 101, 107, 112, 116, 120, 124, 128, 129, 130, 133, 135, 139, 143, 145, 146, 147, 149, 153, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 200, 203, 205, 212, 247, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 265, 271, 272, 279, 287, 291, 292, 293, 294, 295, 296, 297, 298, 299, 302, 303, 305, 309, 310, 311, 312, 313, 315, 316, 320, 321, 330, 331, 335, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 354, 356, 359, 360, 366, 367], "excluded_lines": [], "start_line": 1}}}, "musicround/version.py": {"executed_lines": [7, 14], "summary": {"covered_lines": 2, "num_statements": 5, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 40.0, "percent_statements_covered_display": "40"}, "missing_lines": [24, 25, 27], "excluded_lines": [], "functions": {"get_version_str": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [24, 25, 27], "excluded_lines": [], "start_line": 14}, "": {"executed_lines": [7, 14], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [7, 14], "summary": {"covered_lines": 2, "num_statements": 5, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 40.0, "percent_statements_covered_display": "40"}, "missing_lines": [24, 25, 27], "excluded_lines": [], "start_line": 1}}}}, "totals": {"covered_lines": 316, "num_statements": 3146, "percent_covered": 10.044500953591863, "percent_covered_display": "10", "missing_lines": 2830, "excluded_lines": 0, "percent_statements_covered": 10.044500953591863, "percent_statements_covered_display": "10"}} \ No newline at end of file