used isort + black

This commit is contained in:
hhh
2024-11-02 00:10:44 +02:00
parent e0a3d256d5
commit ff22636453
93 changed files with 216 additions and 295 deletions

View File

@@ -1,11 +1,11 @@
from rich import print
import contextlib
from rich import print
async def runner():
from .common import dp, bot
from . import handlers, callbacks
from . import callbacks, handlers
from .common import bot, dp
from .modules.error import on_error
dp.error.register(on_error)
@@ -20,8 +20,8 @@ async def runner():
def plugins():
import nest_asyncio
from rich import traceback
from icecream import ic
from rich import traceback
nest_asyncio.apply()
traceback.install()

View File

@@ -1,11 +1,8 @@
from aiogram import Router
from . import (
full_menu,
on_home,
settings,
)
from bot.middlewares import PrivateButtonMiddleware, SettingsInjectorMiddleware
from . import full_menu, on_home, settings
router = Router()

View File

@@ -1,8 +1,7 @@
from aiogram import Router, F, Bot
from aiogram import Bot, F, Router
from aiogram.types import CallbackQuery
from bot.factories.full_menu import FullMenuCallback
from bot.keyboards.inline.settings import get_settings_kb
router = Router()

View File

@@ -1,8 +1,7 @@
from aiogram import Router, F, Bot
from aiogram import Bot, F, Router
from aiogram.types import CallbackQuery
from bot.factories.full_menu import FullMenuCallback
from bot.keyboards.inline.full_menu import get_full_menu_kb
router = Router()

View File

@@ -1,11 +1,10 @@
from aiogram import Router, Bot
from aiogram.types import CallbackQuery
from aiogram import Bot, Router
from aiogram.exceptions import TelegramBadRequest
from aiogram.types import CallbackQuery
from bot.factories.open_setting import OpenSettingCallback, SettingChoiceCallback
from bot.keyboards.inline.setting import get_setting_kb
from bot.modules.settings import settings_strings, UserSettings
from bot.modules.settings import UserSettings, settings_strings
router = Router()

View File

@@ -1,6 +1,8 @@
from aiogram import Bot, Dispatcher
from bot.modules.fsm import InDbStorage
from rich.console import Console
from bot.modules.fsm import InDbStorage
from .utils.config import config
bot = Bot(token=config.telegram.bot_token)

View File

@@ -1,4 +1,5 @@
from typing import Literal
from aiogram.filters.callback_data import CallbackData

View File

@@ -1,8 +1,8 @@
from urllib.parse import urlparse
from aiogram.filters import BaseFilter
from aiogram.types import InlineQuery
from urllib.parse import urlparse
class MusicUrlFilter(BaseFilter):
def __init__(self):

View File

@@ -1,16 +1,17 @@
from aiogram import Router
from . import (
initialize,
inline_song,
inline_url,
inline_error,
inline_default,
inline_empty,
on_chosen,
)
from bot.middlewares import SaveChosenMiddleware, SettingsInjectorMiddleware
from . import (
initialize,
inline_default,
inline_empty,
inline_error,
inline_song,
inline_url,
on_chosen,
)
router = Router()
router.chosen_inline_result.outer_middleware(SaveChosenMiddleware())

View File

@@ -1,7 +1,6 @@
from aiogram import Router, Bot
from aiogram import Bot, Router
from rich import print
router = Router()

View File

@@ -1,13 +1,11 @@
from aiogram import Router, F
from aiogram import F, Router
from aiogram.types import InlineQuery
from bot.modules.settings import UserSettings
from bot.results.deezer import get_deezer_search_results
from bot.results.soundcloud import get_soundcloud_search_results
from bot.results.youtube import get_youtube_search_results
from bot.results.spotify import get_spotify_search_results
from bot.modules.settings import UserSettings
from bot.results.youtube import get_youtube_search_results
router = Router()

View File

@@ -1,5 +1,5 @@
from aiogram import Router, F
from aiogram.types import InlineQuery, InputTextMessageContent, InlineQueryResultArticle
from aiogram import F, Router
from aiogram.types import InlineQuery, InlineQueryResultArticle, InputTextMessageContent
from bot.keyboards.inline.full_menu import get_full_menu_kb

View File

@@ -1,9 +1,8 @@
from aiogram import Router
from aiogram.types import InlineQuery
from bot.results.error import get_error_search_results
from bot.filters import ServiceSearchFilter
from bot.results.error import get_error_search_results
router = Router()

View File

@@ -1,10 +1,10 @@
from aiogram import Router
from . import (
on_inline_spotify,
on_inline_deezer,
on_inline_youtube,
on_inline_soundcloud,
on_inline_spotify,
on_inline_youtube,
)
router = Router()

View File

@@ -1,10 +1,9 @@
from aiogram import Router
from aiogram.types import InlineQuery
from bot.results.deezer import get_deezer_search_results
from bot.filters import ServiceSearchFilter
from bot.modules.settings import UserSettings
from bot.results.deezer import get_deezer_search_results
router = Router()

View File

@@ -1,10 +1,9 @@
from aiogram import Router
from aiogram.types import InlineQuery
from bot.results.soundcloud import get_soundcloud_search_results
from bot.filters import ServiceSearchMultiletterFilter
from bot.modules.settings import UserSettings
from bot.results.soundcloud import get_soundcloud_search_results
router = Router()

View File

@@ -1,10 +1,9 @@
from aiogram import Router
from aiogram.types import InlineQuery
from bot.results.spotify import get_spotify_search_results
from bot.filters import ServiceSearchFilter
from bot.modules.settings import UserSettings
from bot.results.spotify import get_spotify_search_results
router = Router()

View File

@@ -1,10 +1,9 @@
from aiogram import Router
from aiogram.types import InlineQuery
from bot.results.youtube import get_youtube_search_results
from bot.filters import ServiceSearchFilter
from bot.modules.settings import UserSettings
from bot.results.youtube import get_youtube_search_results
router = Router()

View File

@@ -1,10 +1,9 @@
from aiogram import Router
from aiogram.types import InlineQuery
from bot.results.url import get_url_results
from bot.filters import MusicUrlFilter
from bot.modules.settings import UserSettings
from bot.results.url import get_url_results
router = Router()

View File

@@ -1,5 +1,6 @@
from aiogram import Router
from . import spotify, deezer, youtube, soundcloud, recode_cached, suppress_verify
from . import deezer, recode_cached, soundcloud, spotify, suppress_verify, youtube
router = Router()

View File

@@ -1,14 +1,14 @@
from aiogram import Router, Bot, F
from aiogram import Bot, F, Router
from aiogram.types import (
BufferedInputFile,
URLInputFile,
InputMediaAudio,
ChosenInlineResult,
InputMediaAudio,
URLInputFile,
)
from bot.modules.deezer import deezer, DeezerBytestream
from bot.utils.config import config
from bot.modules.database import db
from bot.modules.deezer import DeezerBytestream, deezer
from bot.utils.config import config
router = Router()

View File

@@ -1,17 +1,12 @@
from aiogram import Router, Bot, F
from aiogram.types import (
BufferedInputFile,
InputMediaAudio,
ChosenInlineResult,
)
from io import BytesIO
from bot.modules.youtube.downloader import YouTubeBytestream
from aiogram import Bot, F, Router
from aiogram.types import BufferedInputFile, ChosenInlineResult, InputMediaAudio
from bot.utils.config import config
from bot.modules.database import db
from bot.modules.settings import UserSettings
from io import BytesIO
from bot.modules.youtube.downloader import YouTubeBytestream
from bot.utils.config import config
router = Router()

View File

@@ -1,14 +1,14 @@
from aiogram import Router, Bot, F
from aiogram import Bot, F, Router
from aiogram.types import (
BufferedInputFile,
URLInputFile,
InputMediaAudio,
ChosenInlineResult,
InputMediaAudio,
URLInputFile,
)
from bot.modules.soundcloud import soundcloud, SoundCloudBytestream
from bot.utils.config import config
from bot.modules.database import db
from bot.modules.soundcloud import SoundCloudBytestream, soundcloud
from bot.utils.config import config
router = Router()

View File

@@ -1,18 +1,18 @@
from aiogram import Router, Bot, F
from aiogram import Bot, F, Router
from aiogram.types import (
BufferedInputFile,
URLInputFile,
InputMediaAudio,
ChosenInlineResult,
InputMediaAudio,
URLInputFile,
)
from bot.modules.spotify import spotify
from bot.modules.youtube import youtube, AgeRestrictedError
from bot.modules.youtube.song import SongItem
from bot.modules.deezer import deezer
from bot.utils.config import config
from bot.modules.database import db
from bot.modules.deezer import deezer
from bot.modules.settings import UserSettings
from bot.modules.spotify import spotify
from bot.modules.youtube import AgeRestrictedError, youtube
from bot.modules.youtube.song import SongItem
from bot.utils.config import config
router = Router()

View File

@@ -1,7 +1,5 @@
from aiogram import Router, Bot, F
from aiogram.types import (
ChosenInlineResult,
)
from aiogram import Bot, F, Router
from aiogram.types import ChosenInlineResult
router = Router()

View File

@@ -1,15 +1,15 @@
from aiogram import Router, Bot, F
from aiogram import Bot, F, Router
from aiogram.types import (
BufferedInputFile,
URLInputFile,
InputMediaAudio,
ChosenInlineResult,
InputMediaAudio,
URLInputFile,
)
from bot.modules.youtube import youtube, AgeRestrictedError
from bot.utils.config import config
from bot.modules.database import db
from bot.modules.settings import UserSettings
from bot.modules.youtube import AgeRestrictedError, youtube
from bot.utils.config import config
router = Router()

View File

@@ -1,10 +1,10 @@
from aiogram.utils.keyboard import (
InlineKeyboardMarkup,
InlineKeyboardButton,
InlineKeyboardBuilder,
InlineKeyboardButton,
InlineKeyboardMarkup,
)
from bot.factories.full_menu import FullMenuCallback
from bot.factories.full_menu import FullMenuCallback
from bot.keyboards.inline import search_variants as sv

View File

@@ -1,10 +1,9 @@
from aiogram.utils.keyboard import (
InlineKeyboardMarkup,
InlineKeyboardButton,
InlineKeyboardBuilder,
InlineKeyboardButton,
InlineKeyboardMarkup,
)
deezer = {"d": "🎵 Search in Deezer"}
soundcloud = {"c": "☁️ Search in SoundCloud"}
youtube = {"y": "▶️ Search in YouTube"}

View File

@@ -1,11 +1,11 @@
from aiogram.utils.keyboard import (
InlineKeyboardMarkup,
InlineKeyboardButton,
InlineKeyboardBuilder,
InlineKeyboardButton,
InlineKeyboardMarkup,
)
from bot.factories.open_setting import SettingChoiceCallback
from bot.factories.full_menu import FullMenuCallback
from bot.factories.full_menu import FullMenuCallback
from bot.factories.open_setting import SettingChoiceCallback
from bot.modules.settings import UserSettings

View File

@@ -1,11 +1,11 @@
from aiogram.utils.keyboard import (
InlineKeyboardMarkup,
InlineKeyboardButton,
InlineKeyboardBuilder,
InlineKeyboardButton,
InlineKeyboardMarkup,
)
from bot.factories.open_setting import OpenSettingCallback
from bot.factories.full_menu import FullMenuCallback
from bot.factories.full_menu import FullMenuCallback
from bot.factories.open_setting import OpenSettingCallback
from bot.modules.settings import settings_strings

View File

@@ -1,3 +1,3 @@
from .inject_settings import SettingsInjectorMiddleware
from .private_button import PrivateButtonMiddleware
from .save_chosen import SaveChosenMiddleware
from .inject_settings import SettingsInjectorMiddleware

View File

@@ -1,8 +1,8 @@
from typing import Any, Awaitable, Callable, Dict
from aiogram.dispatcher.middlewares.base import BaseMiddleware
from aiogram.types import TelegramObject
from typing import Any, Awaitable, Callable, Dict
from bot.modules.settings import UserSettings

View File

@@ -1,8 +1,8 @@
from typing import Any, Awaitable, Callable, Dict
from aiogram.dispatcher.middlewares.base import BaseMiddleware
from aiogram.types import CallbackQuery
from typing import Any, Awaitable, Callable, Dict
from bot.modules.database import db

View File

@@ -1,9 +1,9 @@
from dataclasses import dataclass
from typing import Any, Awaitable, Callable, Dict
from aiogram.dispatcher.middlewares.base import BaseMiddleware
from aiogram.types import ChosenInlineResult
from typing import Any, Awaitable, Callable, Dict
from dataclasses import dataclass
from bot.modules.database import db

View File

@@ -1,6 +1,5 @@
from .db import Db
db = Db()
__all__ = ["db"]

View File

@@ -1,4 +1,5 @@
from sqlitedict import SqliteDict
from bot.utils.config import config

View File

@@ -1,7 +1,7 @@
from .deezer import Deezer
from .downloader import DeezerBytestream
from bot.utils.config import config
from .deezer import Deezer
from .downloader import DeezerBytestream
deezer = Deezer(
arl=config.tokens.deezer.arl,

View File

@@ -1,9 +1,9 @@
import asyncio
from .song import Songs
from .engine import DeezerEngine
from .driver import DeezerDriver
from .downloader import DownloaderBuilder
from .driver import DeezerDriver
from .engine import DeezerEngine
from .song import Songs
class Deezer(object):

View File

@@ -1,12 +1,11 @@
from attrs import define
from io import BytesIO
from .driver import DeezerDriver
from attrs import define
from . import track_formats
from .util import UrlDecrypter, ChunkDecrypter
from .driver import DeezerDriver
from .song import FullSongItem
from .util import ChunkDecrypter, UrlDecrypter
@define

View File

@@ -1,7 +1,6 @@
from attrs import define
from .engine import DeezerEngine
from .util import clean_query

View File

@@ -1,10 +1,7 @@
import aiohttp
from aiohttp import ClientResponse
from attrs import define
HTTP_HEADERS = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
"(KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36",

View File

@@ -1,8 +1,7 @@
from attrs import define
from .driver import DeezerDriver
from ..common.song import BaseSongItem
from .driver import DeezerDriver
@define

View File

@@ -1,12 +1,11 @@
# https://pypi.org/project/music-helper/
import warnings
import re
import hashlib
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
import re
import warnings
from attrs import define
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
from .track_formats import TrackFormat

View File

@@ -1,2 +1,2 @@
from .handler import on_error, Error
from .handler import Error, on_error
from .pretty import PrettyException

View File

@@ -1,14 +1,14 @@
from bot.common import console
from aiogram.types.error_event import ErrorEvent
from dataclasses import dataclass
from aiogram import Bot
from aiogram.dispatcher import router as s_router
from aiogram.types.error_event import ErrorEvent
from rich.traceback import Traceback
from .pretty import PrettyException
from bot.common import console
from bot.modules.database import db
from dataclasses import dataclass
from .pretty import PrettyException
@dataclass
@@ -19,8 +19,8 @@ class Error:
async def on_error(event: ErrorEvent, bot: Bot):
import os
import base64
import os
error_id = base64.urlsafe_b64encode(os.urandom(6)).decode()

View File

@@ -1,7 +1,7 @@
import os
import traceback
import contextlib
import os
import re
import traceback
from typing import Type

View File

@@ -1,13 +1,10 @@
from bot.modules.database import db
from dataclasses import dataclass, field
from typing import Any, DefaultDict, Dict, Optional
from aiogram.fsm.state import State
from aiogram.fsm.storage.base import (
BaseStorage,
StateType,
StorageKey,
)
from aiogram.fsm.storage.base import BaseStorage, StateType, StorageKey
from bot.modules.database import db
@dataclass

View File

@@ -1 +1 @@
from .model import UserSettings, Setting, settings_strings
from .model import Setting, UserSettings, settings_strings

View File

@@ -1,4 +1,5 @@
from dataclasses import dataclass
from ..database import db

View File

@@ -1,7 +1,7 @@
from .soundcloud import SoundCloud
from .downloader import SoundCloudBytestream
from bot.utils.config import config
from .downloader import SoundCloudBytestream
from .soundcloud import SoundCloud
soundcloud = SoundCloud(
client_id=config.tokens.soundcloud.client_id,

View File

@@ -1,11 +1,11 @@
from attrs import define
from typing import Callable
import m3u8
from attrs import define
from .driver import SoundCloudDriver
from .song import SongItem
import m3u8
@define
class SoundCloudBytestream:

View File

@@ -1,5 +1,5 @@
from attrs import define
import aiohttp
from attrs import define
@define

View File

@@ -1,7 +1,7 @@
from .engine import SoundCloudEngine
from .driver import SoundCloudDriver
from .song import Songs
from .downloader import DownloaderBuilder
from .driver import SoundCloudDriver
from .engine import SoundCloudEngine
from .song import Songs
class SoundCloud(object):

View File

@@ -1,6 +1,6 @@
from .spotify import Spotify
from bot.utils.config import config
from .spotify import Spotify
spotify = Spotify(
client_id=config.tokens.spotify.client_id,

View File

@@ -1,5 +1,5 @@
from attrs import define
import spotipy
from attrs import define
from ..common.song import BaseSongItem

View File

@@ -1,2 +1,2 @@
from .recognise import recognise_music_service, RecognisedService
from .id_getter import get_id
from .recognise import RecognisedService, recognise_music_service

View File

@@ -1,7 +1,7 @@
from .recognise import RecognisedService
import aiohttp
from .recognise import RecognisedService
async def get_url_after_redirect(url: str) -> str:
async with aiohttp.ClientSession() as session:

View File

@@ -1,15 +1,13 @@
from urllib.parse import urlparse, ParseResult
from dataclasses import dataclass
from typing import Callable, Awaitable, Literal
from typing import Awaitable, Callable, Literal
from urllib.parse import ParseResult, urlparse
from bot.modules.database import db
from bot.modules.database.db import DBDict
from bot.modules.youtube import youtube
from bot.modules.spotify import spotify
from bot.modules.deezer import deezer
from bot.modules.soundcloud import soundcloud
from bot.modules.spotify import spotify
from bot.modules.youtube import youtube
@dataclass

View File

@@ -1,6 +1,6 @@
from .youtube import YouTube
from pytubefix.exceptions import AgeRestrictedError
from .youtube import YouTube
youtube = YouTube()

View File

@@ -1,12 +1,10 @@
from attrs import define
from pytubefix import YouTube, Stream
from pydub import AudioSegment
import asyncio
from concurrent.futures import ThreadPoolExecutor
from io import BytesIO
from concurrent.futures import ThreadPoolExecutor
import asyncio
from attrs import define
from pydub import AudioSegment
from pytubefix import Stream, YouTube
@define

View File

@@ -1,11 +1,10 @@
from attrs import define
import ytmusicapi
from .downloader import Downloader, YouTubeBytestream
from typing import Awaitable
import ytmusicapi
from attrs import define
from ..common.song import BaseSongItem
from .downloader import Downloader, YouTubeBytestream
@define

View File

@@ -1,7 +1,7 @@
import ytmusicapi
from .song import Songs
from .downloader import Downloader
from .song import Songs
class YouTube(object):

View File

@@ -1,16 +1,15 @@
from aiogram.types import (
InlineQueryResultDocument,
InlineQueryResultCachedAudio,
InlineKeyboardMarkup,
InlineKeyboardButton,
)
from bot.modules.database.db import DBDict
from bot.modules.settings import UserSettings
from bot.modules.common.song import BaseSongItem
from typing import TypeVar
from aiogram.types import (
InlineKeyboardButton,
InlineKeyboardMarkup,
InlineQueryResultCachedAudio,
InlineQueryResultDocument,
)
from bot.modules.common.song import BaseSongItem
from bot.modules.database.db import DBDict
from bot.modules.settings import UserSettings
BaseSongT = TypeVar("BaseSongT", bound=BaseSongItem)

View File

@@ -1,4 +1,3 @@
from .search import get_deezer_search_results
__all__ = ["get_deezer_search_results"]

View File

@@ -1,7 +1,7 @@
from aiogram.types import InlineQueryResultDocument, InlineQueryResultCachedAudio
from aiogram.types import InlineQueryResultCachedAudio, InlineQueryResultDocument
from bot.modules.deezer import deezer
from bot.modules.database import db
from bot.modules.deezer import deezer
from bot.modules.settings import UserSettings
from ..common.search import get_common_search_result

View File

@@ -1,12 +1,8 @@
from aiogram.types import (
InlineQueryResultArticle,
InputTextMessageContent,
)
from bot.modules.database import db
from bot.modules.error import Error
from aiogram.types import InlineQueryResultArticle, InputTextMessageContent
from bot.common import console
from bot.modules.database import db
from bot.modules.error import Error
async def get_error_search_results(

View File

@@ -1,4 +1,3 @@
from .search import get_soundcloud_search_results
__all__ = ["get_soundcloud_search_results"]

View File

@@ -1,8 +1,8 @@
from aiogram.types import InlineQueryResultDocument, InlineQueryResultCachedAudio
from aiogram.types import InlineQueryResultCachedAudio, InlineQueryResultDocument
from bot.modules.soundcloud import soundcloud
from bot.modules.database import db
from bot.modules.settings import UserSettings
from bot.modules.soundcloud import soundcloud
from ..common.search import get_common_search_result

View File

@@ -1,4 +1,3 @@
from .search import get_spotify_search_results
__all__ = ["get_spotify_search_results"]

View File

@@ -1,8 +1,8 @@
from aiogram.types import InlineQueryResultDocument, InlineQueryResultCachedAudio
from aiogram.types import InlineQueryResultCachedAudio, InlineQueryResultDocument
from bot.modules.spotify import spotify
from bot.modules.database import db
from bot.modules.settings import UserSettings
from bot.modules.spotify import spotify
from ..common.search import get_common_search_result

View File

@@ -1,12 +1,12 @@
from aiogram.types import InlineQueryResultDocument, InlineQueryResultCachedAudio
import inspect
from aiogram.types import InlineQueryResultCachedAudio, InlineQueryResultDocument
from bot.modules.url import recognise_music_service, get_id
from bot.modules.settings import UserSettings
from bot.modules.url import get_id, recognise_music_service
from ..common.search import get_common_search_result
import inspect
async def get_url_results(
query: str, settings: UserSettings

View File

@@ -1,4 +1,3 @@
from .search import get_youtube_search_results
__all__ = ["get_youtube_search_results"]

View File

@@ -1,8 +1,8 @@
from aiogram.types import InlineQueryResultDocument, InlineQueryResultCachedAudio
from aiogram.types import InlineQueryResultCachedAudio, InlineQueryResultDocument
from bot.modules.youtube import youtube
from bot.modules.database import db
from bot.modules.settings import UserSettings
from bot.modules.youtube import youtube
from ..common.search import get_common_search_result

View File

@@ -1,4 +1,3 @@
from ._config import Config
config = Config()

View File

@@ -1,6 +1,6 @@
from .serializers import Serialize
from .api import Shazam
from .converter import Geo
from .enums import GenreMusic
from .serializers import Serialize
__all__ = ("Serialize", "Shazam", "Geo", "GenreMusic")

View File

@@ -1,5 +1,6 @@
from copy import copy
from typing import List, Optional, Any
from typing import Any, List, Optional
import numpy as np
from .enums import FrequencyBand

View File

@@ -1,21 +1,17 @@
import pathlib
import uuid
import time
from typing import Optional
import uuid
from typing import Any, Dict, Optional, Union
from pydub import AudioSegment
from typing import Dict, Any, Union
from .misc import Request
from .misc import ShazamUrl
from .converter import Converter, Geo
from .enums import GenreMusic
from .misc import Request, ShazamUrl
from .schemas.artists import ArtistQuery
from .signature import DecodedMessage
from .enums import GenreMusic
from .converter import Converter, Geo
from .typehints import CountryCode
from .utils import ArtistQueryGenerator
from .utils import get_song
from .utils import ArtistQueryGenerator, get_song
class Shazam(Converter, Geo, Request):

View File

@@ -1,5 +1,4 @@
import aiohttp
from shazamio.exceptions import BadMethod
from shazamio.utils import validate_json

View File

@@ -1,22 +1,19 @@
from dataclass_factory import Factory
from shazamio.factory import FactorySchemas
from shazamio.schemas.artists import ArtistInfo
from shazamio.schemas.artists import ArtistV3
from shazamio.schemas.artists import ArtistInfo, ArtistV3
from shazamio.schemas.attributes import ArtistAttribute
from shazamio.schemas.models import (
SongSection,
VideoSection,
RelatedSection,
LyricsSection,
BeaconDataLyricsSection,
ArtistSection,
BeaconDataLyricsSection,
LyricsSection,
MatchModel,
RelatedSection,
ResponseTrack,
SongSection,
TrackInfo,
VideoSection,
YoutubeData,
)
from shazamio.schemas.models import TrackInfo
from shazamio.schemas.models import YoutubeData
from shazamio.schemas.models import ResponseTrack
FACTORY_TRACK = Factory(
schemas={

View File

@@ -1,4 +1,5 @@
from random import choice
from shazamio.user_agent import USER_AGENTS

View File

@@ -3,7 +3,6 @@ from __future__ import annotations
from typing import List, Optional
from pydantic import BaseModel, Field
from shazamio.schemas.attributes import AttributeName
from shazamio.schemas.base import BaseDataModel
from shazamio.schemas.photos import ImageModel

View File

@@ -3,7 +3,6 @@ from __future__ import annotations
from typing import Any, Dict, List, Optional
from pydantic import BaseModel, Field
from shazamio.schemas.attributes import AttributeName
from shazamio.schemas.base import BaseDataModel
from shazamio.schemas.photos import ImageModel

View File

@@ -3,10 +3,8 @@ from __future__ import annotations
from typing import List, Optional
from pydantic import BaseModel, Field
from shazamio.schemas.attributes import AttributeName
from shazamio.schemas.base import BaseHrefNextData
from shazamio.schemas.base import BaseIdTypeHref
from shazamio.schemas.base import BaseHrefNextData, BaseIdTypeHref
from shazamio.schemas.photos import ImageModel

View File

@@ -3,7 +3,6 @@ from __future__ import annotations
from typing import Any, Dict, List, Optional
from pydantic import BaseModel, Field
from shazamio.schemas.attributes import AttributeName
from shazamio.schemas.base import BaseDataModel
from shazamio.schemas.photos import ImageModel

View File

@@ -3,7 +3,6 @@ from __future__ import annotations
from typing import List, Optional
from pydantic import BaseModel, Field
from shazamio.schemas.artist.views.top_music import PlayParams
from shazamio.schemas.attributes import AttributeName
from shazamio.schemas.base import BaseDataModel

View File

@@ -1,20 +1,14 @@
from dataclasses import dataclass
from dataclasses import field
from typing import List
from typing import Optional
from typing import Union
from pydantic import BaseModel
from pydantic import Field
from dataclasses import dataclass, field
from typing import List, Optional, Union
from pydantic import BaseModel, Field
from shazamio.schemas.artist.views.full_albums import FullAlbumsModel
from shazamio.schemas.artist.views.last_release import LastReleaseModel
from shazamio.schemas.artist.views.simular_artists import SimularArtist
from shazamio.schemas.artist.views.top_music import TopMusicVideosView
from shazamio.schemas.artist.views.top_song import TopSong
from shazamio.schemas.attributes import ArtistAttribute
from shazamio.schemas.enums import ArtistExtend
from shazamio.schemas.enums import ArtistView
from shazamio.schemas.enums import ArtistExtend, ArtistView
from shazamio.schemas.errors import ErrorModel

View File

@@ -1,8 +1,6 @@
from typing import List
from typing import Optional
from typing import List, Optional
from pydantic import BaseModel
from pydantic import Field
from pydantic import BaseModel, Field
class AttributeName(BaseModel):

View File

@@ -1,11 +1,8 @@
from typing import Generic
from typing import Optional
from typing import TypeVar
from typing import Generic, Optional, TypeVar
from pydantic import BaseModel
from pydantic.generics import GenericModel
T = TypeVar("T", bound=BaseModel)

View File

@@ -1,11 +1,6 @@
from dataclasses import dataclass
from dataclasses import field
from typing import List
from typing import Optional
from typing import Union
from urllib.parse import urlencode
from urllib.parse import urlparse
from urllib.parse import urlunparse
from dataclasses import dataclass, field
from typing import List, Optional, Union
from urllib.parse import urlencode, urlparse, urlunparse
from uuid import UUID

View File

@@ -1,7 +1,6 @@
from typing import Optional
from pydantic import BaseModel
from pydantic import Field
from pydantic import BaseModel, Field
class ImageModel(BaseModel):

View File

@@ -1,13 +1,8 @@
from typing import Union
from shazamio.factory_misc import FACTORY_ARTIST
from shazamio.factory_misc import FACTORY_TRACK
from shazamio.schemas.artists import ArtistInfo
from shazamio.schemas.artists import ArtistResponse
from shazamio.schemas.artists import ArtistV2
from shazamio.schemas.models import ResponseTrack
from shazamio.schemas.models import TrackInfo
from shazamio.schemas.models import YoutubeData
from shazamio.factory_misc import FACTORY_ARTIST, FACTORY_TRACK
from shazamio.schemas.artists import ArtistInfo, ArtistResponse, ArtistV2
from shazamio.schemas.models import ResponseTrack, TrackInfo, YoutubeData
class Serialize:

View File

@@ -1,9 +1,10 @@
from typing import Dict, List
from base64 import b64decode, b64encode
from math import exp, sqrt
from binascii import crc32
from io import BytesIO
from ctypes import *
from io import BytesIO
from math import exp, sqrt
from typing import Dict, List
from .enums import FrequencyBand, SampleRate
DATA_URI_PREFIX = "data:audio/vnd.shazam.sig;base64,"

View File

@@ -1,16 +1,12 @@
import pathlib
from enum import Enum
from io import BytesIO
from typing import Dict
from typing import List
from typing import Optional
from typing import Union
from typing import Dict, List, Optional, Union
import aiofiles
import aiohttp
from aiohttp import ContentTypeError
from pydub import AudioSegment
from shazamio.exceptions import FailedDecodeJson
from shazamio.schemas.artists import ArtistQuery