66 lines
2.3 KiB
Markdown
66 lines
2.3 KiB
Markdown
# Persediaan dan Menjalankan
|
|
|
|
🌐 **English** · [Dansk](Setup-and-Run-da) · [Bahasa Melayu](Setup-and-Run-ms)
|
|
|
|
## Apa yang anda perlukan
|
|
|
|
- Python 3.13 atau lebih baharu.
|
|
- Untuk langkah 2 hingga 4: akaun Google dan Firefox.
|
|
|
|
## Cipta persekitaran maya
|
|
|
|
```bash
|
|
python -m venv .venv
|
|
```
|
|
|
|
Aktifkannya. Pada Windows PowerShell:
|
|
|
|
```powershell
|
|
.venv\Scripts\Activate.ps1
|
|
```
|
|
|
|
Pada Linux dan macOS:
|
|
|
|
```bash
|
|
source .venv/bin/activate
|
|
```
|
|
|
|
Naik taraf `pip` dan pasang projek:
|
|
|
|
```bash
|
|
python -m pip install --upgrade pip
|
|
python -m pip install -e ".[dev]"
|
|
```
|
|
|
|
## Cipta `browser.json`
|
|
|
|
`ytmusicapi` tidak mempunyai kunci API. Ia menggunakan semula log masuk pelayar anda, jadi anda menyalin pengepala permintaan bagi sesi yang telah log masuk sekali sahaja.
|
|
|
|
1. Buka Firefox dan pergi ke <https://music.youtube.com>, dalam keadaan telah log masuk.
|
|
2. Buka alat pembangun (`Ctrl+Shift+I`, pada macOS `Cmd+Option+I`) dan pilih **Network**.
|
|
3. Taip `browse` dalam penapis, pilih satu permintaan `browse?...` yang berjaya, klik kanan padanya dan pilih *Copy Value*, kemudian *Copy Request Headers*.
|
|
4. Jalankan `ytmusicapi browser` dalam folder projek dan tampal pengepala tersebut. Akhiri dengan `Ctrl+D` (`Ctrl+Z` dan Enter pada Windows). Pada macOS jalankan `pbpaste | ytmusicapi browser`.
|
|
|
|
Fail ini mengandungi kuki anda: ia diabaikan oleh git dan tidak boleh dikongsi sama sekali. Kuki akan tamat tempoh selepas beberapa lama; ulangi langkah-langkah ini untuk mendapatkan fail yang baharu.
|
|
|
|
**Jika `--check-login` berkata `Expecting value`**, fail itu mengandungi entri yang bukan pengepala permintaan (salinan daripada Chrome boleh menambah `Request URL`, `Decoded`, `music.youtube.com`, satu laluan atau `content-encoding`). Salin hanya blok **Request Headers**, atau gunakan *Copy Request Headers* Firefox, dan cipta fail itu semula.
|
|
|
|
## Jalankan
|
|
|
|
```bash
|
|
python -m musical_time_machine --list-only # step 1: print the chart
|
|
python -m musical_time_machine --check-login # step 2: count your playlists
|
|
python -m musical_time_machine --create-playlist # step 3: create the playlist
|
|
python -m musical_time_machine # step 4: the full program
|
|
```
|
|
|
|
Format tarikh ialah `YYYY-MM-DD`; gunakan tarikh yang ada pada Bakeboard, contohnya `2026-04-18`.
|
|
|
|
## Uji
|
|
|
|
```bash
|
|
python -m pytest
|
|
```
|
|
|
|
Ujian tidak memerlukan rangkaian dan tidak memerlukan akaun.
|