def _make_check_command(args): args = [str(arg) for arg in args] # There is some worry of collision, but the uniqueness of the initial # command should be enough. signature = reduce_RE.sub('_', ''.join([os.path.basename(arg) for arg in args])) Model.Command.objects.reload_cache() try: cmd = Model.Command.objects.get_by_shortname(signature) except (ValueError, KeyError): cmd = Model.Command() cmd.set_attribute('command_name', signature) cmd.set_attribute('command_line', ' '.join(args)) cmd.save() return signature
exit(1) apply_dict = json.loads(argv[2]) with open(FILE_PATH_CHECK_SCRIPT, 'w') as fh_cs: fh_cs.write(SCRIPT_TINKERFORGE_CHECK) os.chmod(FILE_PATH_CHECK_SCRIPT, stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH | \ stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH) if os.path.isfile(FILE_PATH_TF_NAGIOS_CONFIGURATION): os.remove(FILE_PATH_TF_NAGIOS_CONFIGURATION) for rule in apply_dict['rules']: tf_command = Model.Command() tf_service = Model.Service() tf_command.set_filename(FILE_PATH_TF_NAGIOS_CONFIGURATION) tf_service.set_filename(FILE_PATH_TF_NAGIOS_CONFIGURATION) tf_command.command_name = rule['check_command'] tf_command.command_line = rule['command_line'] tf_service.use = 'generic-service' tf_service.host_name = 'localhost' tf_service.service_description = rule['service_description'] tf_service.check_command = rule['check_command'] tf_service.max_check_attempts = '4' tf_service.check_interval = '1' tf_service.retry_interval = '1' tf_service.check_period = '24x7' tf_service.notification_interval = '5' tf_service.first_notification_delay = '0'