diff options
Diffstat (limited to 'client/cros/scripts/profile')
-rwxr-xr-x | client/cros/scripts/profile | 171 |
1 files changed, 0 insertions, 171 deletions
diff --git a/client/cros/scripts/profile b/client/cros/scripts/profile deleted file mode 100755 index 124dd183f3..0000000000 --- a/client/cros/scripts/profile +++ /dev/null @@ -1,171 +0,0 @@ -#!/usr/bin/python2 - -# Copyright (c) 2013 The Chromium OS Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -import pprint -import sys - -import common -from autotest_lib.client.cros.networking import shill_proxy - -def usage(): - """ Prints a script usage message. """ - cmd = sys.argv[0] - print 'Usage: %s <command> [more parameters]' % cmd - print 'Example uses:' - print cmd, 'create <name> - Create a profile called |name|.' - print cmd, 'push <name> - Push a previously created profile called |name|.' - print cmd, 'pop <name> - Pop a profile called |name|.' - print cmd, 'pop - Pop the top-most profile.' - print cmd, 'remove <name> - Remove a profile called |name| from disk.' - print cmd, 'clean - Pop and remove profiles above the default profile.' - print cmd, 'list - List profiles and their properties.' - print cmd, 'list-entries - List profile entries.' - print cmd, 'delete-entry <entry> [name] - Delete an entry from a ' \ - 'profile called |name| or all profiles if no name is given.' - return False - - -def print_profile_path(profile_path, active_path): - """ Print profile_path and indicate if it is the active profile. """ - if profile_path == active_path: - print 'Profile: %s <== active' % profile_path - else: - print 'Profile: %s' % profile_path - - -def clean_profiles(): - """ Pop and remove all profiles until 'default' is found. """ - shill = shill_proxy.ShillProxy() - while True: - active_profile = shill.get_active_profile() - properties = active_profile.GetProperties(utf8_strings=True) - active_name = shill.dbus2primitive( - properties[shill.PROFILE_PROPERTY_NAME]) - if active_name == 'default': - return True - else: - print 'Removing profile: %s' % active_name - shill.manager.PopProfile(active_name) - shill.manager.RemoveProfile(active_name) - - -def delete_entry(): - """ - Remove an entry from the specified profile, or all profiles if no profile - is given. - - """ - if len(sys.argv) <= 2: - return usage() - identifier = sys.argv[2] - profile_path = None - if len(sys.argv) > 3: - profile_path = sys.argv[3] - shill = shill_proxy.ShillProxy() - properties = shill.dbus2primitive( - shill.manager.GetProperties(utf8_strings=True)) - active_profile = shill.get_active_profile() - for path in properties[shill.MANAGER_PROPERTY_PROFILES]: - print_profile_path(path, active_profile.object_path) - if profile_path and path != profile_path: - continue - - profile = shill.get_dbus_object(shill.DBUS_TYPE_PROFILE, path) - try: - profile.DeleteEntry(identifier) - print " -> delete succeeded" - except: - print " -> delete failed" - - -def list_entries(): - """ Display detailed profile entry information. """ - shill = shill_proxy.ShillProxy() - active_profile = shill.get_active_profile() - for profile in shill.get_profiles(): - print_profile_path(profile.object_path, active_profile.object_path) - properties = shill.dbus2primitive( - profile.GetProperties(utf8_strings=True)) - if not shill.PROFILE_PROPERTY_ENTRIES in properties: - continue - for ident in properties[shill.PROFILE_PROPERTY_ENTRIES]: - print 'Entry: %s' % ident - pprint.pprint(shill.dbus2primitive(profile.GetEntry(ident)), - indent=2) - print - return True - - -def list_profiles(): - """ List shill profiles and their properties. """ - shill = shill_proxy.ShillProxy() - active_profile = shill.get_active_profile() - for profile in shill.get_profiles(): - print_profile_path(profile.object_path, active_profile.object_path) - properties = shill.dbus2primitive( - profile.GetProperties(utf8_strings=True)) - pprint.pprint(properties, indent=2) - print - return True - - -def main(): - """ Main entry point for the profile script. """ - if len(sys.argv) < 2: - return usage() - - command = sys.argv[1] - shill = shill_proxy.ShillProxy() - - if command == 'clean': - return clean_profiles() - - if command == 'delete-entry': - return delete_entry() - - if command == 'list': - return list_profiles() - - if command == 'list-entries': - return list_entries() - - if command == 'pop' and len(sys.argv) == 2: - shill.manager.PopAnyProfile() - print 'Popped profile.' - return True - - # All the remaining operations require a profile name. - if len(sys.argv) < 3: - return usage() - - name = sys.argv[2] - - if command == 'pop': - shill.manager.PopProfile(name) - print 'Popped profile %s.' % name - return True - - if command == 'create': - path = shill.manager.CreateProfile(name) - print 'New profile created at %s.' % path - return True - - if command == 'push': - path = shill.manager.PushProfile(name) - print 'Pushed profile %s.' % path - return True - - if command == 'remove': - shill.manager.RemoveProfile(name) - print 'Removed profile %s.' % name - return True - - return usage() - - -if __name__ == '__main__': - if not main(): - sys.exit(1) |