Merge branch 'experimental' of github.com:HeIIow2/music-downloader into experimental
This commit is contained in:
commit
3cf9b042da
@ -7,11 +7,12 @@ import gc
|
|||||||
import musicbrainzngs
|
import musicbrainzngs
|
||||||
|
|
||||||
from . import objects, pages
|
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.config import config, read, write, PATHS_SECTION
|
||||||
from .utils.shared import MUSIC_DIR, MODIFY_GC, NOT_A_GENRE_REGEX, get_random_message
|
from .utils.shared import MUSIC_DIR, MODIFY_GC, NOT_A_GENRE_REGEX, get_random_message
|
||||||
from .utils.string_processing import fit_to_file_system
|
from .utils.string_processing import fit_to_file_system
|
||||||
|
|
||||||
|
|
||||||
if MODIFY_GC:
|
if MODIFY_GC:
|
||||||
"""
|
"""
|
||||||
At the start I modify the garbage collector to run a bit fewer times.
|
At the start I modify the garbage collector to run a bit fewer times.
|
||||||
|
@ -60,6 +60,12 @@ if __name__ == "__main__":
|
|||||||
action="store_true"
|
action="store_true"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
parser.add_argument(
|
||||||
|
"-r",
|
||||||
|
help="Resets the config file to the default one.",
|
||||||
|
action="store_true"
|
||||||
|
)
|
||||||
|
|
||||||
arguments = parser.parse_args()
|
arguments = parser.parse_args()
|
||||||
|
|
||||||
if arguments.verbose or arguments.test:
|
if arguments.verbose or arguments.test:
|
||||||
@ -83,6 +89,12 @@ if __name__ == "__main__":
|
|||||||
music_kraken.paths()
|
music_kraken.paths()
|
||||||
exit()
|
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
|
# getting the genre
|
||||||
genre: str = arguments.genre
|
genre: str = arguments.genre
|
||||||
if arguments.test:
|
if arguments.test:
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
from typing import Union, Tuple, Dict, Iterable, List
|
from typing import Union, Tuple, Dict, Iterable, List
|
||||||
|
from datetime import datetime
|
||||||
import logging
|
import logging
|
||||||
import os
|
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"
|
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. "
|
"The changes you make to the comments, will be discarded, next time you run music-kraken. "
|
||||||
"Have fun!"),
|
"Have fun!"),
|
||||||
|
Description(f"Latest reset: {datetime.now()}"),
|
||||||
Description("Those are all Settings for the audio codec.\n"
|
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"
|
"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. :)"),
|
"feel free to tinker with the Bitrate or smth. :)"),
|
||||||
@ -105,7 +107,7 @@ class Config:
|
|||||||
self.set_name_to_value(name, value)
|
self.set_name_to_value(name, value)
|
||||||
|
|
||||||
def read_from_config_file(self, path: os.PathLike):
|
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:
|
for section in self._section_list:
|
||||||
section.reset_list_attribute()
|
section.reset_list_attribute()
|
||||||
|
|
||||||
@ -113,7 +115,7 @@ class Config:
|
|||||||
self._parse_conf_line(line, i+1)
|
self._parse_conf_line(line, i+1)
|
||||||
|
|
||||||
def write_to_config_file(self, path: os.PathLike):
|
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)
|
conf_file.write(self.config_string)
|
||||||
|
|
||||||
def __iter__(self) -> Iterable[Attribute]:
|
def __iter__(self) -> Iterable[Attribute]:
|
||||||
|
@ -9,13 +9,15 @@ from .config_directory import get_config_directory
|
|||||||
|
|
||||||
class Locations:
|
class Locations:
|
||||||
def __init__(self, application_name: os.PathLike = "music-kraken"):
|
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 = 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.MUSIC_DIRECTORY = get_music_directory()
|
||||||
|
|
||||||
self.CONFIG_DIRECTORY = get_config_directory(str(application_name))
|
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")
|
self.CONFIG_FILE = Path(self.CONFIG_DIRECTORY, f"{application_name}.conf")
|
||||||
|
|
||||||
def get_log_file(self, file_name: os.PathLike) -> Path:
|
def get_log_file(self, file_name: os.PathLike) -> Path:
|
||||||
|
@ -6,6 +6,9 @@ from typing import List, Tuple
|
|||||||
from .path_manager import LOCATIONS
|
from .path_manager import LOCATIONS
|
||||||
from .config import LOGGING_SECTION, AUDIO_SECTION, CONNECTION_SECTION, MISC_SECTION, PATHS_SECTION
|
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
|
# 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://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/
|
# https://web.archive.org/web/20221124122222/https://mkennedy.codes/posts/python-gc-settings-change-this-and-make-your-app-go-20pc-faster/
|
||||||
|
Loading…
Reference in New Issue
Block a user