From f231db11a2f7c2cf28c1228146b0c087c4be882a Mon Sep 17 00:00:00 2001 From: Simran Basi Date: Wed, 23 Sep 2015 11:38:14 -0700 Subject: [PATCH] GITC: Add repo gitc-delete command. repo gitc-delete deletes a GITC client and all the locally saved sources. Useful for removing unnecessary clients and recovering disk space. Change-Id: Idf23addcea52b8713d268c34a7b37da0c5e5cd26 --- subcmds/gitc_delete.py | 55 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 subcmds/gitc_delete.py diff --git a/subcmds/gitc_delete.py b/subcmds/gitc_delete.py new file mode 100644 index 00000000..7380c352 --- /dev/null +++ b/subcmds/gitc_delete.py @@ -0,0 +1,55 @@ +# +# Copyright (C) 2015 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import print_function +import os +import shutil +import sys + +from command import Command, GitcClientCommand +import gitc_utils + +from pyversion import is_python3 +if not is_python3(): + # pylint:disable=W0622 + input = raw_input + # pylint:enable=W0622 + +class GitcDelete(Command, GitcClientCommand): + common = True + visible_everywhere = False + helpSummary = "Delete a GITC Client." + helpUsage = """ +%prog +""" + helpDescription = """ +This subcommand deletes the current GITC client, deleting the GITC manifest +and all locally downloaded sources. +""" + + def _Options(self, p): + p.add_option('-f', '--force', + dest='force', action='store_true', + help='Force the deletion (no prompt).') + + def Execute(self, opt, args): + if not opt.force: + prompt = ('This will delete GITC client: %s\nAre you sure? (yes/no) ' % + self.gitc_manifest.gitc_client_name) + response = input(prompt).lower() + if not response == 'yes': + print('Response was not "yes"\n Exiting...') + sys.exit(1) + shutil.rmtree(self.gitc_manifest.gitc_client_dir)