Skip to content

Commit 5683926

Browse files
committed
refactoring
1 parent e9dd9cd commit 5683926

File tree

2 files changed

+41
-18
lines changed

2 files changed

+41
-18
lines changed

src/modules/audio_converter.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def generate_file_tree(self, path, mirror_file_structure=True):
5757
if self.is_file_type_correct(file):
5858
self.save_print(f"\t* {file}")
5959
converted_without_errors = self.convert_file_to_wav(
60-
Path(f"{root}\\{file}"), converted_files_subdir_abs)
60+
Path.joinpath(root, file), converted_files_subdir_abs)
6161
if converted_without_errors:
6262
summary["converted"] += 1
6363
else:
@@ -106,7 +106,7 @@ def convert_file_to_wav(self, file_path: Path, target_path):
106106

107107
try:
108108
complete_file_name = str(
109-
Path(f"{target_path}\\{new_file_name}.{export_file_format}").resolve())
109+
Path.joinpath(target_path, f"{new_file_name}.{export_file_format}").resolve())
110110
flac_tmp_audio_data.export(
111111
complete_file_name,
112112
format=export_file_format,

src/modules/config.py

Lines changed: 39 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,47 @@
11
import configparser
2+
import sys
23
from pathlib import Path
34

45
config_parser = configparser.ConfigParser()
5-
config_parser.read(f'{Path(__file__).parent.parent.resolve()}\\config.ini')
66

7-
def get_config():
7+
if getattr(sys, 'frozen', False):
8+
application_path = Path(sys.executable).parent.resolve()
9+
elif __file__:
10+
application_path = Path(__file__).parent.parent.resolve()
11+
12+
config_path = Path.joinpath(application_path, 'config.ini')
13+
print(f'INFO: Looking for config file in directory "{config_path}"')
14+
config_parser.read(config_path)
15+
16+
17+
def try_config_get(section, key, fallback):
18+
fallback_type = type(fallback)
819
try:
9-
return {
10-
"FileFilter": config_parser.get('AUDIOPARSER', 'FileFilter'),
11-
"ExportFormat": config_parser.get('AUDIOPARSER', 'ExportFormat'),
12-
"ConvertedFilesDirName": config_parser.get('AUDIOPARSER', 'ConvertedFilesDirName'),
13-
"RemoveConvertedFiles": config_parser.getboolean('AUDIOPARSER', 'RemoveConvertedFiles'),
14-
"MirrorFileStructure": config_parser.getboolean('AUDIOPARSER', 'MirrorFileStructure'),
15-
"TitleSeparator": config_parser.get('AUDIOPARSER/FILENAMEMODIFICATIONS', 'TitleSeparator'),
16-
"CustomRegexReplacement": config_parser.get('AUDIOPARSER/FILENAMEMODIFICATIONS', 'CustomRegexReplacement'),
17-
"RecreateFileNameFromMetadata": config_parser.getboolean('AUDIOPARSER/FILENAMEMODIFICATIONS', 'RecreateFileNameFromMetadata'),
18-
}
19-
except ValueError as e:
20-
print("ERROR: cannot parse config file values, the following error occured: ")
21-
print(e)
22-
return {}
20+
if fallback_type is int:
21+
return config_parser.getint(section, key)
22+
elif fallback_type is bool:
23+
return config_parser.getboolean(section, key)
24+
elif fallback_type is float:
25+
return config_parser.getfloat(section, key)
26+
else:
27+
return config_parser.get(section, key)
28+
except Exception:
29+
print(
30+
f"ERROR: could not parse value of {section}/{key}, returning fallback value")
31+
return fallback
32+
33+
34+
def get_config():
35+
return {
36+
"FileFilter": try_config_get('AUDIOPARSER', 'FileFilter', fallback='flac|m4a'),
37+
"ExportFormat": try_config_get('AUDIOPARSER', 'ExportFormat', fallback='wav'),
38+
"ConvertedFilesDirName": try_config_get('AUDIOPARSER', 'ConvertedFilesDirName', fallback='converted'),
39+
"RemoveConvertedFiles": try_config_get('AUDIOPARSER', 'RemoveConvertedFiles', fallback=False),
40+
"MirrorFileStructure": try_config_get('AUDIOPARSER', 'MirrorFileStructure', fallback=True),
41+
"TitleSeparator": try_config_get('AUDIOPARSER/FILENAMEMODIFICATIONS', 'TitleSeparator', fallback='-'),
42+
"CustomRegexReplacement": try_config_get('AUDIOPARSER/FILENAMEMODIFICATIONS', 'CustomRegexReplacement', fallback=''),
43+
"RecreateFileNameFromMetadata": try_config_get('AUDIOPARSER/FILENAMEMODIFICATIONS', 'RecreateFileNameFromMetadata', fallback=True),
44+
}
45+
2346

2447
config = get_config()

0 commit comments

Comments
 (0)