refactored module names and imports

This commit is contained in:
Lars Noack 2022-11-16 10:15:35 +01:00
parent 65bb48c3cf
commit e9056771ff
17 changed files with 33 additions and 53 deletions

View File

@ -29,7 +29,7 @@
- metadata - metadata
- search - search
- fetch - fetch
- something with target - target
- audio_source - audio_source
- fetch_source - fetch_source
- fetch_audio - fetch_audio

0
src/__init__.py Normal file
View File

View File

@ -1,11 +1,10 @@
from .utils.shared import * from .utils.shared import *
from .metadata.download import MetadataDownloader from .metadata.fetch import MetadataDownloader
from .metadata import download from .metadata import fetch
from .metadata import search as s from .metadata import search as s
from . import download_links from .audio_source import fetch_source, fetch_audio
from . import url_to_path from .target import set_target
from . import download_
# NEEDS REFACTORING # NEEDS REFACTORING
from .lyrics.lyrics import fetch_lyrics from .lyrics.lyrics import fetch_lyrics
@ -91,15 +90,15 @@ def cli(start_at: int = 0, only_lyrics: bool = False):
if start_at <= 1 and not only_lyrics: if start_at <= 1 and not only_lyrics:
logging.info("creating Paths") logging.info("creating Paths")
url_to_path.UrlPath(genre=genre) set_target.UrlPath(genre=genre)
if start_at <= 2 and not only_lyrics: if start_at <= 2 and not only_lyrics:
logging.info("Fetching Download Links") logging.info("Fetching Download Links")
download_links.Download() fetch_source.Download()
if start_at <= 3 and not only_lyrics: if start_at <= 3 and not only_lyrics:
logging.info("starting to download the mp3's") logging.info("starting to download the mp3's")
download_.Download() fetch_audio.Download()
if start_at <= 4: if start_at <= 4:
logging.info("starting to fetch the lyrics") logging.info("starting to fetch the lyrics")

View File

@ -4,8 +4,14 @@ import os.path
from mutagen.easyid3 import EasyID3 from mutagen.easyid3 import EasyID3
from pydub import AudioSegment from pydub import AudioSegment
from .utils.shared import * from ..utils.shared import *
from .scraping import musify, youtube_music from .sources import (
youtube,
musify,
local_files
)
logger = DOWNLOAD_LOGGER
""" """
https://en.wikipedia.org/wiki/ID3 https://en.wikipedia.org/wiki/ID3
@ -17,8 +23,6 @@ print("\n".join(EasyID3.valid_keys.keys()))
print(EasyID3.valid_keys.keys()) print(EasyID3.valid_keys.keys())
""" """
logger = DOWNLOAD_LOGGER
class Download: class Download:
def __init__(self): def __init__(self):
@ -36,7 +40,7 @@ class Download:
if src == 'musify': if src == 'musify':
download_success = musify.download(row) download_success = musify.download(row)
elif src == 'youtube': elif src == 'youtube':
download_success = youtube_music.download(row) download_success = youtube.download(row)
if download_success == -1: if download_success == -1:
logger.warning(f"couldn't download {row['url']} from {row['src']}") logger.warning(f"couldn't download {row['url']} from {row['src']}")

View File

@ -1,7 +1,9 @@
import requests from ..utils.shared import *
from .sources import (
from .utils.shared import * youtube,
from .scraping import musify, youtube_music, file_system musify,
local_files
)
logger = URL_DOWNLOAD_LOGGER logger = URL_DOWNLOAD_LOGGER
@ -28,7 +30,7 @@ class Download:
""" """
# check YouTube # check YouTube
youtube_url = youtube_music.get_youtube_url(row) youtube_url = youtube.get_youtube_url(row)
if youtube_url is not None: if youtube_url is not None:
self.add_url(youtube_url, 'youtube', id_) self.add_url(youtube_url, 'youtube', id_)
continue continue
@ -47,7 +49,8 @@ class Download:
logger.warning(f"Didn't find any sources for {row['title']}") logger.warning(f"Didn't find any sources for {row['title']}")
def add_url(self, url: str, src: str, id_: str): @staticmethod
def add_url(url: str, src: str, id_: str):
database.set_download_data(id_, url, src) database.set_download_data(id_, url, src)

View File

@ -1,7 +1,7 @@
import os import os
from ..utils.shared import * from ...utils.shared import *
from ..utils import phonetic_compares from ...utils import phonetic_compares
def is_valid(a1, a2, t1, t2) -> bool: def is_valid(a1, a2, t1, t2) -> bool:

View File

@ -4,8 +4,8 @@ import time
import requests import requests
import bs4 import bs4
from ..utils.shared import * from ...utils.shared import *
from ..utils import phonetic_compares from ...utils import phonetic_compares
TRIES = 5 TRIES = 5
TIMEOUT = 10 TIMEOUT = 10

View File

@ -4,7 +4,7 @@ import youtube_dl
import logging import logging
import time import time
from ..utils import phonetic_compares from ...utils import phonetic_compares
YDL_OPTIONS = {'format': 'bestaudio', 'noplaylist': 'True'} YDL_OPTIONS = {'format': 'bestaudio', 'noplaylist': 'True'}
YOUTUBE_URL_KEY = 'webpage_url' YOUTUBE_URL_KEY = 'webpage_url'

View File

@ -1,8 +1,6 @@
import mutagen import mutagen
from mutagen.id3 import ID3, USLT from mutagen.id3 import ID3, USLT
from ..metadata import database as db
from ..utils.shared import * from ..utils.shared import *
from . import genius from . import genius

View File

@ -1,24 +0,0 @@
from datetime import date
def get_elem_from_obj(current_object, keys: list, after_process=lambda x: x, return_if_none=None):
current_object = current_object
for key in keys:
if key in current_object or (type(key) == int and key < len(current_object)):
current_object = current_object[key]
else:
return return_if_none
return after_process(current_object)
def parse_music_brainz_date(mb_date: str) -> date:
year = 1
month = 1
day = 1
first_release_date = mb_date
if first_release_date.count("-") == 2:
year, month, day = [int(i) for i in first_release_date.split("-")]
elif first_release_date.count("-") == 0 and first_release_date.isdigit():
year = int(first_release_date)
return date(year, month, day)

View File

View File

@ -1,7 +1,7 @@
import os.path import os.path
import logging import logging
from .utils.shared import * from ..utils.shared import *
logger = PATH_LOGGER logger = PATH_LOGGER

View File

@ -3,7 +3,7 @@ import logging
import tempfile import tempfile
import os import os
from ..metadata.database import Database from .database import Database
TEMP_FOLDER = "music-downloader" TEMP_FOLDER = "music-downloader"
LOG_FILE = "download_logs.log" LOG_FILE = "download_logs.log"