From 816824a0c701982fd07e674bdde8798ca0c1a465 Mon Sep 17 00:00:00 2001 From: Dunestorm Date: Sat, 6 Aug 2022 00:49:01 +0100 Subject: [PATCH] Initial commit of working config write code --- .vscode/launch.json | 16 ++++++++++++ config_writer.py | 55 +++++++++++++++++++++++++++++++++++++++++ headphones_dark.png | Bin 0 -> 1520 bytes headphones_light.png | Bin 0 -> 3243 bytes loudspeakers_dark.png | Bin 0 -> 1435 bytes loudspeakers_light.png | Bin 0 -> 3262 bytes main.pyw | 10 ++++++++ 7 files changed, 81 insertions(+) create mode 100644 .vscode/launch.json create mode 100644 config_writer.py create mode 100644 headphones_dark.png create mode 100644 headphones_light.png create mode 100644 loudspeakers_dark.png create mode 100644 loudspeakers_light.png create mode 100644 main.pyw diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..306f58e --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,16 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Python: Current File", + "type": "python", + "request": "launch", + "program": "${file}", + "console": "integratedTerminal", + "justMyCode": true + } + ] +} \ No newline at end of file diff --git a/config_writer.py b/config_writer.py new file mode 100644 index 0000000..7484fc5 --- /dev/null +++ b/config_writer.py @@ -0,0 +1,55 @@ +from dis import dis + + +class ConfigWriter: + def __init__(self): + self._config_file = 'C:\\Program Files\\EqualizerAPO\\config\\config.txt' + self._config_output = None + + self.headphone_mode_enabled = False + self.active_headphone = None + self.inactive_headphones = list() + + # Read current config. + with open(self._config_file, 'r') as c: + self._config_output = c.readlines() + c.close() + + # Extract spec name from text output. + for spec in self._config_output: + if spec.startswith('# '): + _spec = spec.replace('# ', '').removesuffix('\n').removesuffix('.txt').removeprefix('Include:') + self.inactive_headphones.append(_spec.strip()) + else: + _spec = spec.removesuffix('\n').removesuffix('.txt').removeprefix('Include:') + self.active_headphone = _spec.strip() + + if self.active_headphone is not None: + self.headphone_mode_enabled = True + + + def write_specs(self, disabled_specs, enabled_spec): + formatted_disabled_specs = list() + formatted_enabled_spec = self._format_spec(enabled_spec, False) + + if disabled_specs is not None: + for s in disabled_specs: + formatted_disabled_specs.append(self._format_spec(s, True)) + + with open(self._config_file, 'w+') as c: + for i in formatted_disabled_specs: + c.write(i + '\n') + + if enabled_spec is not None: + c.write(formatted_enabled_spec) + + c.close() + + def _format_spec(self, entry: str, disable: bool): + _entry = None + if disable: + _entry = '# Include: {}.txt'.format(entry) + else: + _entry = 'Include: {}.txt'.format(entry) + + return _entry \ No newline at end of file diff --git a/headphones_dark.png b/headphones_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..a25ddd2f1f6b4e7a728e79e4ebb9b460ac239898 GIT binary patch literal 1520 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 literal 0 HcmV?d00001 diff --git a/loudspeakers_light.png b/loudspeakers_light.png new file mode 100644 index 0000000000000000000000000000000000000000..03ea7b84d522d992c1a9ea1f1aba621472da2ac5 GIT binary patch literal 3262 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