continued
This commit is contained in:
@@ -132,7 +132,7 @@ class Database:
|
||||
"release_group.id == release_.release_group_id",
|
||||
"artist_track.artist_id == artist.id",
|
||||
"artist_track.track_id == track.id",
|
||||
"source.track_id == track.id"
|
||||
"(track.id == source.track_id OR track.id NOT IN (SELECT track_id FROM source))"
|
||||
]
|
||||
where_args.extend(custom_where)
|
||||
|
||||
@@ -274,3 +274,61 @@ if __name__ == "__main__":
|
||||
|
||||
database = Database(os.path.join(temp_dir, "metadata.db"), os.path.join(temp_dir, "database_structure.sql"), logger,
|
||||
reset_anyways=True)
|
||||
|
||||
"""
|
||||
|
||||
SELECT DISTINCT
|
||||
json_object(
|
||||
'artists', json_group_array(
|
||||
(
|
||||
SELECT DISTINCT json_object(
|
||||
'id', artist.id,
|
||||
'name', artist.name
|
||||
)
|
||||
)
|
||||
),
|
||||
'source', json_group_array(
|
||||
(
|
||||
SELECT json_object(
|
||||
'src_', src_.src,
|
||||
'url', src_.url,
|
||||
'valid', src_.valid
|
||||
)
|
||||
)
|
||||
),
|
||||
'id', track.id,
|
||||
'tracknumber', track.tracknumber,
|
||||
'titlesort ', track.tracknumber,
|
||||
'musicbrainz_releasetrackid', track.id,
|
||||
'musicbrainz_albumid', release_.id,
|
||||
'title', track.track,
|
||||
'isrc', track.isrc,
|
||||
'album', release_.title,
|
||||
'copyright', release_.copyright,
|
||||
'album_status', release_.album_status,
|
||||
'language', release_.language,
|
||||
'year', release_.year,
|
||||
'date', release_.date,
|
||||
'country', release_.country,
|
||||
'barcode', release_.barcode,
|
||||
'albumartist', release_group.albumartist,
|
||||
'albumsort', release_group.albumsort,
|
||||
'musicbrainz_albumtype', release_group.musicbrainz_albumtype,
|
||||
'compilation', release_group.compilation,
|
||||
'album_artist_id', release_group.album_artist_id,
|
||||
'path', track.path,
|
||||
'file', track.file,
|
||||
'genre', track.genre,
|
||||
'url', track.url,
|
||||
'src', track.src,
|
||||
'lyrics', track.lyrics
|
||||
)
|
||||
FROM track, release_, release_group, artist, artist_track
|
||||
LEFT JOIN release_ id ON track.release_id = release_.id
|
||||
LEFT JOIN release_group id ON release_.id = release_group.id
|
||||
LEFT JOIN artist_track track_id ON track.id = artist_track.track_id
|
||||
LEFT JOIN artist id ON artist_track.artist_id = artist.id
|
||||
LEFT JOIN source src_ ON track.id = src_.track_id
|
||||
GROUP BY track.id;
|
||||
|
||||
"""
|
||||
|
@@ -10,33 +10,43 @@ LOG_FILE = "download_logs.log"
|
||||
DATABASE_FILE = "metadata.db"
|
||||
DATABASE_STRUCTURE_FILE = "database_structure.sql"
|
||||
DATABASE_STRUCTURE_FALLBACK = "https://raw.githubusercontent.com/HeIIow2/music-downloader/master/assets/database_structure.sql"
|
||||
temp_dir = os.path.join(tempfile.gettempdir(), TEMP_FOLDER)
|
||||
if not os.path.exists(temp_dir):
|
||||
os.mkdir(temp_dir)
|
||||
|
||||
# configure logger default
|
||||
logging.basicConfig(
|
||||
level=logging.INFO,
|
||||
format=logging.BASIC_FORMAT,
|
||||
handlers=[
|
||||
logging.FileHandler(os.path.join(temp_dir, LOG_FILE)),
|
||||
logging.StreamHandler()
|
||||
]
|
||||
)
|
||||
|
||||
SEARCH_LOGGER = logging.getLogger("mb-cli")
|
||||
DATABASE_LOGGER = logging.getLogger("database")
|
||||
METADATA_DOWNLOAD_LOGGER = logging.getLogger("metadata-download")
|
||||
METADATA_DOWNLOAD_LOGGER = logging.getLogger("metadata")
|
||||
URL_DOWNLOAD_LOGGER = logging.getLogger("AudioSource")
|
||||
YOUTUBE_LOGGER = logging.getLogger("Youtube")
|
||||
MUSIFY_LOGGER = logging.getLogger("Musify")
|
||||
PATH_LOGGER = logging.getLogger("create-paths")
|
||||
DOWNLOAD_LOGGER = logging.getLogger("download")
|
||||
LYRICS_LOGGER = logging.getLogger("lyrics")
|
||||
GENIUS_LOGGER = logging.getLogger("genius")
|
||||
|
||||
NOT_A_GENRE = ".", "..", "misc_scripts", "Music", "script", ".git", ".idea"
|
||||
MUSIC_DIR = os.path.expanduser('~/Music')
|
||||
|
||||
temp_dir = os.path.join(tempfile.gettempdir(), TEMP_FOLDER)
|
||||
if not os.path.exists(temp_dir):
|
||||
os.mkdir(temp_dir)
|
||||
|
||||
logging.getLogger("musicbrainzngs").setLevel(logging.WARNING)
|
||||
musicbrainzngs.set_useragent("metadata receiver", "0.1", "https://github.com/HeIIow2/music-downloader")
|
||||
|
||||
NOT_A_GENRE = ".", "..", "misc_scripts", "Music", "script", ".git", ".idea"
|
||||
MUSIC_DIR = os.path.expanduser('~/Music')
|
||||
|
||||
|
||||
database = Database(os.path.join(temp_dir, DATABASE_FILE),
|
||||
os.path.join(temp_dir, DATABASE_STRUCTURE_FILE),
|
||||
DATABASE_STRUCTURE_FALLBACK,
|
||||
DATABASE_LOGGER,
|
||||
reset_anyways=True)
|
||||
reset_anyways=False)
|
||||
|
||||
|
||||
TOR = False
|
||||
@@ -46,4 +56,4 @@ proxies = {
|
||||
} if TOR else {}
|
||||
|
||||
# only the sources here will get downloaded, in the order the list is ordered
|
||||
AUDIO_SOURCES = ["Youtube", "Musify"]
|
||||
AUDIO_SOURCES = ["Musify", "Youtube"]
|
||||
|
Reference in New Issue
Block a user