From e2cc2530fc6d54ebc975c01a4ff887ce12f0a736 Mon Sep 17 00:00:00 2001 From: Pavel Aharoni Date: Wed, 29 Mar 2017 13:35:45 +0300 Subject: [SDC-6] sdc-distribution-client 1707 rebasing Change-Id: I322a05fd79beb6ba4fee4d32afffecf531b86e98 Signed-off-by: Pavel Aharoni --- .../Lib/site-packages/pip/commands/uninstall.py | 64 ++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/pip/commands/uninstall.py (limited to 'jython-tosca-parser/src/main/resources/Lib/site-packages/pip/commands/uninstall.py') diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pip/commands/uninstall.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pip/commands/uninstall.py new file mode 100644 index 0000000..3d81a30 --- /dev/null +++ b/jython-tosca-parser/src/main/resources/Lib/site-packages/pip/commands/uninstall.py @@ -0,0 +1,64 @@ +from pip.req import InstallRequirement, RequirementSet, parse_requirements +from pip.basecommand import Command +from pip.exceptions import InstallationError + + +class UninstallCommand(Command): + """ + Uninstall packages. + + pip is able to uninstall most installed packages. Known exceptions are: + + - Pure distutils packages installed with ``python setup.py install``, which + leave behind no metadata to determine what files were installed. + - Script wrappers installed by ``python setup.py develop``. + """ + name = 'uninstall' + usage = """ + %prog [options] ... + %prog [options] -r ...""" + summary = 'Uninstall packages.' + + def __init__(self, *args, **kw): + super(UninstallCommand, self).__init__(*args, **kw) + self.cmd_opts.add_option( + '-r', '--requirement', + dest='requirements', + action='append', + default=[], + metavar='file', + help='Uninstall all the packages listed in the given requirements ' + 'file. This option can be used multiple times.', + ) + self.cmd_opts.add_option( + '-y', '--yes', + dest='yes', + action='store_true', + help="Don't ask for confirmation of uninstall deletions.") + + self.parser.insert_option_group(0, self.cmd_opts) + + def run(self, options, args): + session = self._build_session(options) + + requirement_set = RequirementSet( + build_dir=None, + src_dir=None, + download_dir=None, + session=session, + ) + for name in args: + requirement_set.add_requirement( + InstallRequirement.from_line(name)) + for filename in options.requirements: + for req in parse_requirements( + filename, + options=options, + session=session): + requirement_set.add_requirement(req) + if not requirement_set.has_requirements: + raise InstallationError( + 'You must give at least one requirement to %(name)s (see "pip ' + 'help %(name)s")' % dict(name=self.name) + ) + requirement_set.uninstall(auto_confirm=options.yes) -- cgit 1.2.3-korg