progress on threading
This commit is contained in:
parent
1362f708e6
commit
6caa6a28a6
@ -10,7 +10,7 @@ SOURCE_PAGE_MAP: Dict[SourcePages, Page] = dict()
|
|||||||
|
|
||||||
ALL_PAGES: Tuple[Page, ...] = (
|
ALL_PAGES: Tuple[Page, ...] = (
|
||||||
EncyclopaediaMetallum(),
|
EncyclopaediaMetallum(),
|
||||||
Musify()
|
Musify())
|
||||||
)
|
)
|
||||||
|
|
||||||
AUDIO_PAGES: Tuple[Page, ...] = (
|
AUDIO_PAGES: Tuple[Page, ...] = (
|
||||||
@ -27,7 +27,7 @@ for i, page in enumerate(ALL_PAGES):
|
|||||||
NAME_PAGE_MAP[type(page).__name__.lower()] = page
|
NAME_PAGE_MAP[type(page).__name__.lower()] = page
|
||||||
NAME_PAGE_MAP[SHORTHANDS[i].lower()] = page
|
NAME_PAGE_MAP[SHORTHANDS[i].lower()] = page
|
||||||
|
|
||||||
PAGE_NAME_MAP[page] = SHORTHANDS[i]
|
PAGE_NAME_MAP[type(page)] = SHORTHANDS[i]
|
||||||
|
|
||||||
SOURCE_PAGE_MAP[page.SOURCE_TYPE] = page
|
SOURCE_PAGE_MAP[page.SOURCE_TYPE] = page
|
||||||
|
|
@ -203,7 +203,7 @@ class Search(Download):
|
|||||||
page = self._get_page_from_source(source=source)
|
page = self._get_page_from_source(source=source)
|
||||||
|
|
||||||
if page in self.audio_pages:
|
if page in self.audio_pages:
|
||||||
return page.download(music_object=self._current_option._derive_from, genre=genre, download_all=download_all, **kwargs)
|
return page.download(music_object=self._current_option._derive_from, genre=genre, download_all=download_all)
|
||||||
|
|
||||||
return DownloadResult(error_message=f"Didn't find a source for {self._current_option._derive_from.option_string}.")
|
return DownloadResult(error_message=f"Didn't find a source for {self._current_option._derive_from.option_string}.")
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@ import random
|
|||||||
from copy import copy
|
from copy import copy
|
||||||
from typing import Optional, Union, Type, Dict, Set, List
|
from typing import Optional, Union, Type, Dict, Set, List
|
||||||
import threading
|
import threading
|
||||||
|
from queue import Queue
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
from bs4 import BeautifulSoup
|
from bs4 import BeautifulSoup
|
||||||
@ -108,11 +109,14 @@ class Page(threading.Thread):
|
|||||||
This is an abstract class, laying out the
|
This is an abstract class, laying out the
|
||||||
functionality for every other class fetching something
|
functionality for every other class fetching something
|
||||||
"""
|
"""
|
||||||
|
|
||||||
SOURCE_TYPE: SourcePages
|
SOURCE_TYPE: SourcePages
|
||||||
LOGGER = logging.getLogger("this shouldn't be used")
|
LOGGER = logging.getLogger("this shouldn't be used")
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self, search_queue: Queue, search_result_queue: Queue):
|
||||||
|
self.search_queue = search_queue
|
||||||
|
self.search_result_queue = search_result_queue
|
||||||
|
|
||||||
threading.Thread.__init__(self)
|
threading.Thread.__init__(self)
|
||||||
|
|
||||||
def run(self) -> None:
|
def run(self) -> None:
|
||||||
|
@ -110,13 +110,13 @@ class EncyclopaediaMetallum(Page):
|
|||||||
SOURCE_TYPE = SourcePages.ENCYCLOPAEDIA_METALLUM
|
SOURCE_TYPE = SourcePages.ENCYCLOPAEDIA_METALLUM
|
||||||
LOGGER = ENCYCLOPAEDIA_METALLUM_LOGGER
|
LOGGER = ENCYCLOPAEDIA_METALLUM_LOGGER
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self, **kwargs):
|
||||||
self.connection: Connection = Connection(
|
self.connection: Connection = Connection(
|
||||||
host="https://www.metal-archives.com/",
|
host="https://www.metal-archives.com/",
|
||||||
logger=ENCYCLOPAEDIA_METALLUM_LOGGER
|
logger=ENCYCLOPAEDIA_METALLUM_LOGGER
|
||||||
)
|
)
|
||||||
|
|
||||||
super().__init__()
|
super().__init__(**kwargs)
|
||||||
|
|
||||||
def song_search(self, song: Song) -> List[Song]:
|
def song_search(self, song: Song) -> List[Song]:
|
||||||
endpoint = "https://www.metal-archives.com/search/ajax-advanced/searching/songs/?songTitle={song}&bandName={" \
|
endpoint = "https://www.metal-archives.com/search/ajax-advanced/searching/songs/?songTitle={song}&bandName={" \
|
||||||
|
@ -115,13 +115,13 @@ class Musify(Page):
|
|||||||
|
|
||||||
HOST = "https://musify.club"
|
HOST = "https://musify.club"
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self, *args, **kwargs):
|
||||||
self.connection: Connection = Connection(
|
self.connection: Connection = Connection(
|
||||||
host="https://musify.club/",
|
host="https://musify.club/",
|
||||||
logger=self.LOGGER
|
logger=self.LOGGER
|
||||||
)
|
)
|
||||||
|
|
||||||
super().__init__()
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
def get_source_type(self, source: Source) -> Optional[Type[DatabaseObject]]:
|
def get_source_type(self, source: Source) -> Optional[Type[DatabaseObject]]:
|
||||||
if source.url is None:
|
if source.url is None:
|
||||||
|
@ -20,13 +20,13 @@ class Preset(Page):
|
|||||||
SOURCE_TYPE = SourcePages.PRESET
|
SOURCE_TYPE = SourcePages.PRESET
|
||||||
LOGGER = logging.getLogger("preset")
|
LOGGER = logging.getLogger("preset")
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self, *args, **kwargs):
|
||||||
self.connection: Connection = Connection(
|
self.connection: Connection = Connection(
|
||||||
host="https://www.preset.cum/",
|
host="https://www.preset.cum/",
|
||||||
logger=self.LOGGER
|
logger=self.LOGGER
|
||||||
)
|
)
|
||||||
|
|
||||||
super().__init__()
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
def get_source_type(self, source: Source) -> Optional[Type[DatabaseObject]]:
|
def get_source_type(self, source: Source) -> Optional[Type[DatabaseObject]]:
|
||||||
return super().get_source_type(source)
|
return super().get_source_type(source)
|
||||||
|
Loading…
Reference in New Issue
Block a user