Spaces:
Runtime error
Runtime error
face-swap-docker
/
mynewshinyroop
/Lib
/site-packages
/setuptools
/_distutils
/command
/install_data.py
"""distutils.command.install_data | |
Implements the Distutils 'install_data' command, for installing | |
platform-independent data files.""" | |
# contributed by Bastian Kleineidam | |
import os | |
from ..core import Command | |
from ..util import change_root, convert_path | |
class install_data(Command): | |
description = "install data files" | |
user_options = [ | |
( | |
'install-dir=', | |
'd', | |
"base directory for installing data files " | |
"(default: installation base dir)", | |
), | |
('root=', None, "install everything relative to this alternate root directory"), | |
('force', 'f', "force installation (overwrite existing files)"), | |
] | |
boolean_options = ['force'] | |
def initialize_options(self): | |
self.install_dir = None | |
self.outfiles = [] | |
self.root = None | |
self.force = 0 | |
self.data_files = self.distribution.data_files | |
self.warn_dir = 1 | |
def finalize_options(self): | |
self.set_undefined_options( | |
'install', | |
('install_data', 'install_dir'), | |
('root', 'root'), | |
('force', 'force'), | |
) | |
def run(self): | |
self.mkpath(self.install_dir) | |
for f in self.data_files: | |
if isinstance(f, str): | |
# it's a simple file, so copy it | |
f = convert_path(f) | |
if self.warn_dir: | |
self.warn( | |
"setup script did not provide a directory for " | |
"'%s' -- installing right in '%s'" % (f, self.install_dir) | |
) | |
(out, _) = self.copy_file(f, self.install_dir) | |
self.outfiles.append(out) | |
else: | |
# it's a tuple with path to install to and a list of files | |
dir = convert_path(f[0]) | |
if not os.path.isabs(dir): | |
dir = os.path.join(self.install_dir, dir) | |
elif self.root: | |
dir = change_root(self.root, dir) | |
self.mkpath(dir) | |
if f[1] == []: | |
# If there are no files listed, the user must be | |
# trying to create an empty directory, so add the | |
# directory to the list of output files. | |
self.outfiles.append(dir) | |
else: | |
# Copy files, adding them to the list of output files. | |
for data in f[1]: | |
data = convert_path(data) | |
(out, _) = self.copy_file(data, dir) | |
self.outfiles.append(out) | |
def get_inputs(self): | |
return self.data_files or [] | |
def get_outputs(self): | |
return self.outfiles | |