Merge branch 'experimental' of github.com:HeIIow2/music-downloader into experimental

This commit is contained in:
Hellow 2023-04-18 14:57:53 +02:00
commit 3cf9b042da
5 changed files with 25 additions and 5 deletions

View File

@ -7,11 +7,12 @@ import gc
import musicbrainzngs
from . import objects, pages
from .utils import exception, shared
from .utils import exception, shared, path_manager
from .utils.config import config, read, write, PATHS_SECTION
from .utils.shared import MUSIC_DIR, MODIFY_GC, NOT_A_GENRE_REGEX, get_random_message
from .utils.string_processing import fit_to_file_system
if MODIFY_GC:
"""
At the start I modify the garbage collector to run a bit fewer times.

View File

@ -60,6 +60,12 @@ if __name__ == "__main__":
action="store_true"
)
parser.add_argument(
"-r",
help="Resets the config file to the default one.",
action="store_true"
)
arguments = parser.parse_args()
if arguments.verbose or arguments.test:
@ -83,6 +89,12 @@ if __name__ == "__main__":
music_kraken.paths()
exit()
if arguments.r:
import os
if os.path.exists(music_kraken.shared.CONFIG_FILE):
os.remove(music_kraken.shared.CONFIG_FILE)
music_kraken.read()
# getting the genre
genre: str = arguments.genre
if arguments.test:

View File

@ -1,4 +1,5 @@
from typing import Union, Tuple, Dict, Iterable, List
from datetime import datetime
import logging
import os
@ -21,6 +22,7 @@ class Config:
Description("IMPORTANT: If you modify this file, the changes for the actual setting, will be kept as is.\n"
"The changes you make to the comments, will be discarded, next time you run music-kraken. "
"Have fun!"),
Description(f"Latest reset: {datetime.now()}"),
Description("Those are all Settings for the audio codec.\n"
"If you, for some reason wanna fill your drive real quickly, I mean enjoy HIFI music,\n"
"feel free to tinker with the Bitrate or smth. :)"),
@ -105,7 +107,7 @@ class Config:
self.set_name_to_value(name, value)
def read_from_config_file(self, path: os.PathLike):
with open(path, "r") as conf_file:
with open(path, "r", encoding=LOCATIONS.FILE_ENCODING) as conf_file:
for section in self._section_list:
section.reset_list_attribute()
@ -113,7 +115,7 @@ class Config:
self._parse_conf_line(line, i+1)
def write_to_config_file(self, path: os.PathLike):
with open(path, "w") as conf_file:
with open(path, "w", encoding=LOCATIONS.FILE_ENCODING) as conf_file:
conf_file.write(self.config_string)
def __iter__(self) -> Iterable[Attribute]:

View File

@ -9,13 +9,15 @@ from .config_directory import get_config_directory
class Locations:
def __init__(self, application_name: os.PathLike = "music-kraken"):
self.FILE_ENCODING: str = "utf-8"
self.TEMP_DIRECTORY = Path(tempfile.gettempdir(), application_name)
self.TEMP_DIRECTORY.mkdir(exist_ok=True)
self.TEMP_DIRECTORY.mkdir(exist_ok=True, parents=True)
self.MUSIC_DIRECTORY = get_music_directory()
self.CONFIG_DIRECTORY = get_config_directory(str(application_name))
self.CONFIG_DIRECTORY.mkdir(exist_ok=True)
self.CONFIG_DIRECTORY.mkdir(exist_ok=True, parents=True)
self.CONFIG_FILE = Path(self.CONFIG_DIRECTORY, f"{application_name}.conf")
def get_log_file(self, file_name: os.PathLike) -> Path:

View File

@ -6,6 +6,9 @@ from typing import List, Tuple
from .path_manager import LOCATIONS
from .config import LOGGING_SECTION, AUDIO_SECTION, CONNECTION_SECTION, MISC_SECTION, PATHS_SECTION
CONFIG_FILE = LOCATIONS.CONFIG_FILE
# modifies the garbage collector to speed up the program
# https://mkennedy.codes/posts/python-gc-settings-change-this-and-make-your-app-go-20pc-faster/
# https://web.archive.org/web/20221124122222/https://mkennedy.codes/posts/python-gc-settings-change-this-and-make-your-app-go-20pc-faster/