FozerG / WinYandexMusicRPC

Клиент для показа текущих треков из любых источников в Discord RPC. Для поиска используется Yandex Music
MIT License
152 stars 6 forks source link

[В разработке] Поддержка подкастов и аудиокниг #78

Closed Geardung closed 1 week ago

Geardung commented 3 weeks ago

Зачем оно нужно?

Не знаю, насколько актуален этот вопрос... Но при прослушивании подкастов или книг, оно не работает :( В любом случае, это фича, а насколько она актуальна, решать овнеру репозитория. Было бы неплохо, учитывая, что проект от внедрения этого кода не теряет ничего. Поиск подкастов и книг не требует наличия токена и авторизации.

ToDo:

  1. Сама библиотека yandex_music, имеет ограничения в функции Client.search(). Поэтому пришлось писать отдельную функцию для поиска подкастов.

    
    @log
    def search(
        self,
        text: str,
        nocorrect: bool = False,
        type_: str = 'all',
        page: int = 0,
        playlist_in_best: bool = True,
        *args,
        **kwargs,
    ) -> Optional[Search]:
        """Осуществление поиска по запросу и типу, получение результатов.
    
        Note:
            Известные значения для поля `type_`: `all`, `artist`, `user`, `album`, `playlist`, `track`, `podcast`,
            `podcast_episode`.
    
            При поиске `type=all` не возвращаются подкасты и эпизоды. Указывайте конкретный тип для поиска.

3. Потребовалось разбить код на функции, чтобы оперировать логикой при разных типах прослушивания.

### Примерный вид при прослушивании подкастов
![Снимок экрана 2024-10-31 141805](https://github.com/user-attachments/assets/754a37e8-4700-48e6-8a6b-79ed9d259625)
FozerG commented 3 weeks ago

Нужно определить, требуется ли пользователям данная функция, так как запроса на это не поступало. И важно проверить работоспособность кода после рефакторинга. Проект не теряет ничего от внедрения этого кода, но нужно учитывать, что запросы отправляются дважды, что не хорошо, и к тому же это создаёт беспорядок в консоли.

image Screen_61