# Default to success, change it if anything fails.
status = EXIT_OK
+# Parse the configuration file...
config = configparser.ConfigParser()
config.read(args.config_file)
+# And loop through each section.
for section in config.sections():
+ # For each section, we create an Untangle object based on that
+ # section's configuration.
u = Untangle(config[section])
try:
+ # And then try to log in and retrieve a backup.
u.login()
backup = u.get_backup()
+
+ # If that worked, we save the backup file and make it
+ # accessible only to its owner.
filename = u.name + '.backup'
with open(filename, 'wb') as f:
f.write(backup)
chmod(filename, 0o600)
+ # If it didn't work, but in a predictable way (some host is down),
+ # then we report that error and keep going.
except URLError as e:
msg = u.name + ': ' + str(e.reason) + ' from ' + u.host
print(msg, file=stderr)