Пример #1
0
 def test_ytm_analyze_title_artist_duplicate_library_library(self):
     library = {
         "songs": [{
             "videoId": "a",
             "title": "Heat Waves",
             "artists": [
                 {"name": "Glass animals", "id": "b"},
                 {"name": "iann dior", "id": "c"}
             ]}, {
             "videoId": "b",
             "title": "Heat Waves",
             "artists": [
                 {"name": "Glass animals", "id": "b"},
                 {"name": "iann dior", "id": "c"}
             ]
         }],
         "playlists": []
     }
     issues = {"library": {"totalDuplicateCount": 2, "titleArtistDuplicates": [{
         "type": DuplicateIssueType.TITLE_ARTIST_DUPLICATE,
         "videoId": "a",
         "title": "Heat Waves",
         "artists": [
             {"name": "Glass animals", "id": "b"},
             {"name": "iann dior", "id": "c"}
         ],
         "playlist": None,
         "duplicateVideoId": "b",
         "duplicateTitle": "Heat Waves",
         "duplicateArtists": [
             {"name": "Glass animals", "id": "b"},
             {"name": "iann dior", "id": "c"}
         ],
         "duplicatePlaylist": None,
     }, {
         "type": DuplicateIssueType.TITLE_ARTIST_DUPLICATE,
         "videoId": "b",
         "title": "Heat Waves",
         "artists": [
             {"name": "Glass animals", "id": "b"},
             {"name": "iann dior", "id": "c"}
         ],
         "playlist": None,
         "duplicateVideoId": "a",
         "duplicateTitle": "Heat Waves",
         "duplicateArtists": [
             {"name": "Glass animals", "id": "b"},
             {"name": "iann dior", "id": "c"}
         ],
         "duplicatePlaylist": None,
     }], "simpleTitleDuplicates": [], "idDuplicates": [], "titleDuplicates": []},
               "playlists": {"totalDuplicateCount": 0, "idDuplicates": [],
                             "simpleTitleDuplicates": [],
                             "titleArtistDuplicates": [],
                             "titleDuplicates": []}}
     analysis = {"duplicates": issues}
     self.assertEqual(ytm_analyze(library), analysis)
Пример #2
0
async def read_ytm_library(body: YtmLibRequest):
    library = get_library(body.cookie, body.x_goog_user)
    return {
        'library':
        library,
        'analysis':
        ytm_analyze(library, body.excludeAllPlaylist,
                    body.excludeForeignPlaylists, body.username)
    }
Пример #3
0
 def test_ytm_analyze_id_duplicate_paylist_playlists(self):
     library = {
         "songs": [],
         "playlists": [{
             "id": "d",
             "title": "Best",
             "tracks": [{
                 "videoId": "a",
                 "title": "Heat Waves",
                 "artists": [
                     {"name": "Glass animals", "id": "b"},
                     {"name": "iann dior", "id": "c"}
                 ]
             }]
         }, {
             "id": "e",
             "title": "f",
             "tracks": [{
                 "videoId": "a",
                 "title": "Heat Waves",
                 "artists": [
                     {"name": "Glass animals", "id": "b"},
                     {"name": "iann dior", "id": "c"}
                 ]
             }]
         }]
     }
     issues = {"library": {"totalDuplicateCount": 0, "idDuplicates": [], "simpleTitleDuplicates": [],
                           "titleArtistDuplicates": [], "titleDuplicates": []},
               "playlists": {"totalDuplicateCount": 1, "idDuplicates": [{
                   "type": DuplicateIssueType.ID_DUPLICATE,
                   "videoId": "a",
                   "title": "Heat Waves",
                   "artists": [
                       {"name": "Glass animals", "id": "b"},
                       {"name": "iann dior", "id": "c"}
                   ],
                   "playlist": {"id": "e", "title": "f"},
                   "duplicateVideoId": "a",
                   "duplicateTitle": "Heat Waves",
                   "duplicateArtists": [
                       {"name": "Glass animals", "id": "b"},
                       {"name": "iann dior", "id": "c"}
                   ],
                   "duplicatePlaylist": {"id": "d", "title": "Best"},
               }], "simpleTitleDuplicates": [], "titleArtistDuplicates": [], "titleDuplicates": []}}
     analysis = {"duplicates": issues}
     self.assertEqual(ytm_analyze(library), analysis)