Spade
Mini Shell
| Directory:~$ /proc/self/root/usr/lib64/python3.6/distutils/command/ |
| [Home] [System Details] [Kill Me] |
"""distutils.command.clean
Implements the Distutils 'clean' command."""
# contributed by Bastian Kleineidam <calvin@cs.uni-sb.de>, added
2000-03-18
import os
from distutils.core import Command
from distutils.dir_util import remove_tree
from distutils import log
class clean(Command):
description = "clean up temporary files from 'build'
command"
user_options = [
('build-base=', 'b',
"base build directory (default:
'build.build-base')"),
('build-lib=', None,
"build directory for all modules (default:
'build.build-lib')"),
('build-temp=', 't',
"temporary build directory (default:
'build.build-temp')"),
('build-scripts=', None,
"build directory for scripts (default:
'build.build-scripts')"),
('bdist-base=', None,
"temporary directory for built distributions"),
('all', 'a',
"remove all build output, not just temporary
by-products")
]
boolean_options = ['all']
def initialize_options(self):
self.build_base = None
self.build_lib = None
self.build_temp = None
self.build_scripts = None
self.bdist_base = None
self.all = None
def finalize_options(self):
self.set_undefined_options('build',
('build_base',
'build_base'),
('build_lib',
'build_lib'),
('build_scripts',
'build_scripts'),
('build_temp',
'build_temp'))
self.set_undefined_options('bdist',
('bdist_base',
'bdist_base'))
def run(self):
# remove the build/temp.<plat> directory (unless it's
already
# gone)
if os.path.exists(self.build_temp):
remove_tree(self.build_temp, dry_run=self.dry_run)
else:
log.debug("'%s' does not exist -- can't
clean it",
self.build_temp)
if self.all:
# remove build directories
for directory in (self.build_lib,
self.bdist_base,
self.build_scripts):
if os.path.exists(directory):
remove_tree(directory, dry_run=self.dry_run)
else:
log.warn("'%s' does not exist --
can't clean it",
directory)
# just for the heck of it, try to remove the base build directory:
# we might have emptied it right now, but if not we don't care
if not self.dry_run:
try:
os.rmdir(self.build_base)
log.info("removing '%s'",
self.build_base)
except OSError:
pass