#!/usr/bin/env python3
# Copyright 2019 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

from __future__ import print_function

import pprint
import sys

import flimflam

flim = flimflam.FlimFlam()

if len(sys.argv) < 2:
    print('Usage: %s <service_name>' % (sys.argv[0]))
    sys.exit(1)

service = flim.FindElementByProperty('Service', 'Name', sys.argv[1])

if not service:
    print('Could not find service: %s' % (sys.argv[1]))
    sys.exit(1)

pprint.pprint(flim.DisconnectService(service))
