]>
git.saurik.com Git - wxWidgets.git/blob - wxPython/distutils/command/install_data.py
   1 """distutils.command.install_data 
   3 Implements the Distutils 'install_data' command, for installing 
   4 platform-independent data files.""" 
   6 # contributed by Bastian Kleineidam 
   8 # This module should be kept compatible with Python 1.5.2. 
  13 from types 
import StringType
 
  14 from distutils
.core 
import Command
 
  15 from distutils
.util 
import change_root
, convert_path
 
  17 class install_data (Command
): 
  19     description 
= "install data files" 
  23          "base directory for installing data files " 
  24          "(default: installation base dir)"), 
  26          "install everything relative to this alternate root directory"), 
  27         ('force', 'f', "force installation (overwrite existing files)"), 
  30     boolean_options 
= ['force'] 
  32     def initialize_options (self
): 
  33         self
.install_dir 
= None 
  38         self
.data_files 
= self
.distribution
.data_files
 
  41     def finalize_options (self
): 
  42         self
.set_undefined_options('install', 
  43                                    ('install_data', 'install_dir'), 
  49         self
.mkpath(self
.install_dir
) 
  50         for f 
in self
.data_files
: 
  51             if type(f
) is StringType
: 
  52                 # it's a simple file, so copy it 
  55                     self
.warn("setup script did not provide a directory for " 
  56                               "'%s' -- installing right in '%s'" % 
  57                               (f
, self
.install_dir
)) 
  58                 (out
, _
) = self
.copy_file(f
, self
.install_dir
) 
  59                 self
.outfiles
.append(out
) 
  61                 # it's a tuple with path to install to and a list of files 
  62                 dir = convert_path(f
[0]) 
  63                 if not os
.path
.isabs(dir): 
  64                     dir = os
.path
.join(self
.install_dir
, dir) 
  66                     dir = change_root(self
.root
, dir) 
  70                     # If there are no files listed, the user must be 
  71                     # trying to create an empty directory, so add the 
  72                     # directory to the list of output files. 
  73                     self
.outfiles
.append(dir) 
  75                     # Copy files, adding them to the list of output files. 
  77                         data 
= convert_path(data
) 
  78                         (out
, _
) = self
.copy_file(data
, dir) 
  79                         self
.outfiles
.append(out
) 
  81     def get_inputs (self
): 
  82         return self
.data_files 
or [] 
  84     def get_outputs (self
):