Skip to content

Commit

Permalink
Handle malformed settings.json (#2189)
Browse files Browse the repository at this point in the history
- Generates new file in the same manner as if it were to not exist, using the default settings.
- Fixes issue #1484.

(cherry picked from commit 952b8e4)
  • Loading branch information
RenFraser authored Feb 18, 2022
1 parent cd30f20 commit 9e0fb88
Showing 1 changed file with 13 additions and 8 deletions.
21 changes: 13 additions & 8 deletions transmission/updateSettings.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,22 @@
)


# Define which file to base the config on
if os.path.isfile(transmission_settings):
try:
print('Attempting to use existing settings.json for Transmission')
configuration_baseline = transmission_settings
print('Using existing settings.json for Transmission', transmission_settings)
else:

with open(configuration_baseline, 'r') as input_file:
settings_dict = json.load(input_file)

print('Successfully used existing settings.json', transmission_settings)

except (FileNotFoundError, json.JSONDecodeError):
configuration_baseline = default_settings
print('Generating settings.json for Transmission from environment and defaults', default_settings)
print('Could not read existing settings.json. Generating settings.json for '
'Transmission from environment and defaults', default_settings)

# Read config base
with open(configuration_baseline, 'r') as input_file:
settings_dict = json.load(input_file)
with open(configuration_baseline, 'r') as input_file:
settings_dict = json.load(input_file)


def setting_as_env(setting: str) -> str:
Expand Down

0 comments on commit 9e0fb88

Please sign in to comment.