def get_monitoring_data(service_definition, formatted=True):
    if service_definition in service_definitions:
        service_definition = service_definitions.get(service_definition)
        exit_code = subprocess.call(
            service_definition.get("command"), shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE
        )
        if service_definition.get("type") == TYPE_NAGIOS:
            data = get_nagios_status(service_definition.get("name"), exit_code)
        else:
            data = get_up_down_status(service_definition.get("name"), exit_code)
    else:
        data = (service_definition, "orange", "NOT FOUND")
    return format_data(data) if formatted else data
def get_json_data(service_definition):
    json_data_file = os.path.join(JSON_DATA_DIR, service_definition + ".json")
    json_fd = open(json_data_file, "r")
    try:
        json_data = json.loads(json_fd.readline())
    except ValueError:
        return "%s${alignr} ${color grey}RETRIEVING${color}" % service_definitions.get(service_definition).get("name")
    finally:
        json_fd.close()
    return "%s ${alignr} ${color %s}%s${color}" % (
        json_data.get("service_name"),
        json_data.get("status_color"),
        json_data.get("status_message"),
    )