chore(style): change imports, remove url regex duplication

This commit is contained in:
NiceAesth 2024-02-24 15:49:12 +02:00
parent 84765e0ed5
commit e48ed8fd4b
5 changed files with 32 additions and 41 deletions

View File

@ -11,17 +11,12 @@ from typing import Union
import aiohttp import aiohttp
import orjson as json import orjson as json
from .exceptions import * from pomice.applemusic.exceptions import *
from .objects import * from pomice.applemusic.objects import *
from pomice.enums import URLRegex
__all__ = ("Client",) __all__ = ("Client",)
AM_URL_REGEX = re.compile(
r"https?://music.apple.com/(?P<country>[a-zA-Z]{2})/(?P<type>album|playlist|song|artist)/(?P<name>.+)/(?P<id>[^?]+)",
)
AM_SINGLE_IN_ALBUM_REGEX = re.compile(
r"https?://music.apple.com/(?P<country>[a-zA-Z]{2})/(?P<type>album|playlist|song|artist)/(?P<name>.+)/(?P<id>.+)(\?i=)(?P<id2>.+)",
)
AM_SCRIPT_REGEX = re.compile(r'<script.*?src="(/assets/index-.*?)"') AM_SCRIPT_REGEX = re.compile(r'<script.*?src="(/assets/index-.*?)"')
@ -103,7 +98,7 @@ class Client:
if not self.token or datetime.utcnow() > self.expiry: if not self.token or datetime.utcnow() > self.expiry:
await self.request_token() await self.request_token()
result = AM_URL_REGEX.match(query) result = URLRegex.AM_URL.match(query)
if not result: if not result:
raise InvalidAppleMusicURL( raise InvalidAppleMusicURL(
"The Apple Music link provided is not valid.", "The Apple Music link provided is not valid.",
@ -113,7 +108,7 @@ class Client:
type = result.group("type") type = result.group("type")
id = result.group("id") id = result.group("id")
if type == "album" and (sia_result := AM_SINGLE_IN_ALBUM_REGEX.match(query)): if type == "album" and (sia_result := URLRegex.AM_SINGLE_IN_ALBUM_REGEX.match(query)):
# apple music likes to generate links for singles off an album # apple music likes to generate links for singles off an album
# by adding a param at the end of the url # by adding a param at the end of the url
# so we're gonna scan for that and correct it # so we're gonna scan for that and correct it

View File

@ -7,7 +7,7 @@ from typing import List
from typing import Optional from typing import Optional
from typing import Tuple from typing import Tuple
from .exceptions import FilterInvalidArgument from pomice.exceptions import FilterInvalidArgument
__all__ = ( __all__ = (
"Filter", "Filter",

View File

@ -23,31 +23,31 @@ from discord.ext import commands
from websockets import client from websockets import client
from websockets import exceptions from websockets import exceptions
from . import __version__ from pomice import __version__
from . import applemusic from pomice import applemusic
from . import spotify from pomice import spotify
from .enums import * from pomice.enums import *
from .exceptions import InvalidSpotifyClientAuthorization from pomice.exceptions import InvalidSpotifyClientAuthorization
from .exceptions import LavalinkVersionIncompatible from pomice.exceptions import LavalinkVersionIncompatible
from .exceptions import NodeConnectionFailure from pomice.exceptions import NodeConnectionFailure
from .exceptions import NodeCreationError from pomice.exceptions import NodeCreationError
from .exceptions import NodeNotAvailable from pomice.exceptions import NodeNotAvailable
from .exceptions import NodeRestException from pomice.exceptions import NodeRestException
from .exceptions import NoNodesAvailable from pomice.exceptions import NoNodesAvailable
from .exceptions import TrackLoadError from pomice.exceptions import TrackLoadError
from .filters import Filter from pomice.filters import Filter
from .objects import Playlist from pomice.models.music import Playlist
from .objects import Track from pomice.models.music import Track
from .routeplanner import RoutePlanner
from .utils import ExponentialBackoff
from .utils import NodeStats
from .utils import Ping
from pomice.models.payloads import ResumePayloadTypeAdapter from pomice.models.payloads import ResumePayloadTypeAdapter
from pomice.models.payloads import ResumePayloadV4 from pomice.models.payloads import ResumePayloadV4
from pomice.models.version import LavalinkVersion from pomice.models.version import LavalinkVersion
from pomice.routeplanner import RoutePlanner
from pomice.utils import ExponentialBackoff
from pomice.utils import NodeStats
from pomice.utils import Ping
if TYPE_CHECKING: if TYPE_CHECKING:
from .player import Player from pomice.player import Player
__all__ = ( __all__ = (
"Node", "Node",

View File

@ -3,7 +3,7 @@ from __future__ import annotations
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
if TYPE_CHECKING: if TYPE_CHECKING:
from .pool import Node from pomice.pool import Node
from pomice.utils import RouteStats from pomice.utils import RouteStats

View File

@ -1,7 +1,6 @@
from __future__ import annotations from __future__ import annotations
import logging import logging
import re
import time import time
from base64 import b64encode from base64 import b64encode
from typing import Dict from typing import Dict
@ -13,18 +12,15 @@ from urllib.parse import quote
import aiohttp import aiohttp
import orjson as json import orjson as json
from .exceptions import InvalidSpotifyURL from pomice.enums import URLRegex
from .exceptions import SpotifyRequestException from pomice.spotify.exceptions import *
from .objects import * from pomice.spotify.models import *
__all__ = ("Client",) __all__ = ("Client",)
GRANT_URL = "https://accounts.spotify.com/api/token" GRANT_URL = "https://accounts.spotify.com/api/token"
REQUEST_URL = "https://api.spotify.com/v1/{type}s/{id}" REQUEST_URL = "https://api.spotify.com/v1/{type}s/{id}"
SPOTIFY_URL_REGEX = re.compile(
r"https?://open.spotify.com/(?P<type>album|playlist|track|artist)/(?P<id>[a-zA-Z0-9]+)",
)
class Client: class Client:
@ -74,7 +70,7 @@ class Client:
if not self._bearer_token or time.time() >= self._expiry: if not self._bearer_token or time.time() >= self._expiry:
await self._fetch_bearer_token() await self._fetch_bearer_token()
result = SPOTIFY_URL_REGEX.match(query) result = URLRegex.SPOTIFY_URL.match(query)
if not result: if not result:
raise InvalidSpotifyURL("The Spotify link provided is not valid.") raise InvalidSpotifyURL("The Spotify link provided is not valid.")
@ -148,7 +144,7 @@ class Client:
if not self._bearer_token or time.time() >= self._expiry: if not self._bearer_token or time.time() >= self._expiry:
await self._fetch_bearer_token() await self._fetch_bearer_token()
result = SPOTIFY_URL_REGEX.match(query) result = URLRegex.SPOTIFY_URL.match(query)
if not result: if not result:
raise InvalidSpotifyURL("The Spotify link provided is not valid.") raise InvalidSpotifyURL("The Spotify link provided is not valid.")