2.4 KiB
2.4 KiB
Langkah 4 - Mencari dan Menambah Lagu
🌐 English · Dansk · Bahasa Melayu
Apa yang dilakukan oleh langkah ini
Untuk setiap lagu dalam carta, program mencari di YouTube Music dengan tajuk dan artis, menggunakan yt.search(query, filter="songs") supaya hanya hasil lagu dikembalikan, dan menambah hasil teratas dengan yt.add_playlist_items(). Lagu yang tidak ditemui, atau yang gagal, dilangkau dan gelung diteruskan. Pada akhirnya program memberitahu berapa banyak lagu telah ditambah dan yang mana dilangkau.
python -m musical_time_machine
Larian sebenar dengan browser.json penulis: kesemua 100 lagu telah ditambah:
Tangkapan skrin menunjukkan ujian langkah ini dengan YouTube Music tiruan: semua lagu ditambah, dan lagu yang gagal dilangkau tanpa menghentikan larian.
Apa yang kita pelajari
- Gelung yang bertahan menghadapi item yang buruk. Satu lagu daripada seratus mempunyai tajuk yang ganjil atau tiada padanan. Menangkap ralat lagu yang khusus di dalam gelung, dan merekodkan apa yang dilangkau, menghalang satu kegagalan daripada menghilangkan sembilan puluh sembilan yang lain.
- Mengetahui apa yang tidak perlu ditangkap. Log masuk yang gagal akan menyebabkan setiap lagu berikutnya gagal juga, jadi ralat pengesahan tidak dilangkau: ia menghentikan larian. Menangkap segala-galanya dengan
exceptkosong akan menyembunyikan perkara itu. - Memadankan carian dengan hasil. Mencari "title artist" dengan penapis
songsmemberikan padanan lagu terbaik; hasil pertama ialah peraturan yang cukup baik untuk senarai main, dan hasil tidak ditemui ialah kesudahan biasa, bukan ralat. - Menguji masa. Jeda antara panggilan disuntik, jadi ujian berjalan serta-merta dan masih membuktikan bahawa jeda itu berlaku.
- Persembahan yang nipis. Baris perintah hanya membaca input dan mencetak ringkasan; keseluruhan aliran ialah kes penggunaan
time_travel, itulah sebabnya ia boleh diuji dari hujung ke hujung dengan perkhidmatan tiruan.

