Home | History | Annotate | Download | only in command
      1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 import os
      6 import logging
      7 
      8 import command_common
      9 import sdk_update_common
     10 
     11 def Uninstall(install_dir, local_manifest, bundle_names):
     12   valid_bundles, invalid_bundles = \
     13       command_common.GetValidBundles(local_manifest, bundle_names)
     14   if invalid_bundles:
     15     logging.warn('Unknown bundle(s): %s\n' % (', '.join(invalid_bundles)))
     16 
     17   if not valid_bundles:
     18     logging.warn('No bundles to uninstall.')
     19     return
     20 
     21   for bundle_name in valid_bundles:
     22     logging.info('Removing %s' % (bundle_name,))
     23     bundle_dir = os.path.join(install_dir, bundle_name)
     24     try:
     25       sdk_update_common.RemoveDir(bundle_dir)
     26     except Exception as e:
     27       logging.error('Failed to remove directory \"%s\".  %s' % (bundle_dir, e))
     28       continue
     29     local_manifest.RemoveBundle(bundle_name)
     30