MCPcopy
hub / github.com/freedomofpress/dangerzone / load

Method load

dangerzone/settings.py:106–133  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

104 }
105
106 def load(self) -> None:
107 if os.path.isfile(self.settings_filename):
108 self.settings = self.default_settings
109
110 # If the settings file exists, load it
111 try:
112 with open(self.settings_filename, "r") as settings_file:
113 self.settings = json.load(settings_file)
114
115 # If it's missing any fields, add them from the default settings
116 for key in self.default_settings:
117 if key not in self.settings:
118 self.settings[key] = self.default_settings[key]
119 elif key == "updater_latest_version" and version.parse(
120 get_version()
121 ) > version.parse(self.get(key)):
122 self.set(key, get_version())
123
124 except Exception as e: # noqa: BLE001
125 log.error(f"Error loading settings, falling back to default {e}")
126 self.settings = self.default_settings
127
128 else:
129 # Save with default settings
130 log.info("Settings file doesn't exist, starting with default")
131 self.settings = self.default_settings
132
133 self.save()
134
135 def save(self) -> None:
136 self.settings_filename.parent.mkdir(parents=True, exist_ok=True)

Callers 14

__init__Method · 0.95
__init__Method · 0.80
animate_svg_imageFunction · 0.80
valid_signatureFunction · 0.80
tampered_signatureFunction · 0.80

Calls 4

getMethod · 0.95
setMethod · 0.95
saveMethod · 0.95
get_versionFunction · 0.85

Tested by 5

valid_signatureFunction · 0.64
tampered_signatureFunction · 0.64
test_corrupt_settingsFunction · 0.64
test_post_0_4_2_settingsFunction · 0.64