setup.py
branch3.23
changeset 11421 06bcb7e7a69c
parent 11420 b5cd8a2cccab
child 11422 63ac20ef558e
equal deleted inserted replaced
11420:b5cd8a2cccab 11421:06bcb7e7a69c
   116     except OSError as ex:
   116     except OSError as ex:
   117         # file exists ?
   117         # file exists ?
   118         import errno
   118         import errno
   119         if ex.errno != errno.EEXIST:
   119         if ex.errno != errno.EEXIST:
   120             raise
   120             raise
       
   121     else:
       
   122         if verbose:
       
   123             print('created %s directory' % to_dir)
   121     for dirpath, dirnames, filenames in os.walk(from_dir):
   124     for dirpath, dirnames, filenames in os.walk(from_dir):
   122         for norecurs in blacklist:
   125         for norecurs in blacklist:
   123             try:
   126             try:
   124                 dirnames.remove(norecurs)
   127                 dirnames.remove(norecurs)
   125             except ValueError:
   128             except ValueError:
   126                 pass
   129                 pass
       
   130             else:
       
   131                 if verbose:
       
   132                     print('not recursing in %s' % join(dirpath, norecurs))
   127         for dirname in dirnames:
   133         for dirname in dirnames:
   128             dest = join(to_dir, dirname)
   134             dest = join(to_dir, dirname)
   129             if not exists(dest):
   135             if not exists(dest):
       
   136                 if verbose:
       
   137                     print('creating %s directory' % dest)
   130                 os.mkdir(dest)
   138                 os.mkdir(dest)
   131         for filename in filenames:
   139         for filename in filenames:
   132             # don't include binary files
   140             # don't include binary files
   133             src = join(dirpath, filename)
   141             src = join(dirpath, filename)
   134             dest = to_dir + src[len(from_dir):]
   142             dest = to_dir + src[len(from_dir):]
   136                 continue
   144                 continue
   137             if filename[-1] == '~':
   145             if filename[-1] == '~':
   138                 continue
   146                 continue
   139             if exists(dest):
   147             if exists(dest):
   140                 os.remove(dest)
   148                 os.remove(dest)
       
   149             if verbose:
       
   150                 print('copying %s to %s' % (src, dest))
   141             shutil.copy2(src, dest)
   151             shutil.copy2(src, dest)
   142 
   152 
   143 
   153 
   144 class MyInstallLib(install_lib.install_lib):
   154 class MyInstallLib(install_lib.install_lib):
   145     """extend install_lib command to handle  package __init__.py and
   155     """extend install_lib command to handle  package __init__.py and
   151         # create Products.__init__.py if needed
   161         # create Products.__init__.py if needed
   152         # manually install included directories if any
   162         # manually install included directories if any
   153         if include_dirs:
   163         if include_dirs:
   154             for directory in include_dirs:
   164             for directory in include_dirs:
   155                 dest = join(self.install_dir, modname, directory)
   165                 dest = join(self.install_dir, modname, directory)
   156                 export(directory, dest, verbose=False)
   166                 export(directory, dest, verbose=self.verbose)
   157 
   167 
   158 # write required share/cubicweb/cubes/__init__.py
   168 # write required share/cubicweb/cubes/__init__.py
   159 class MyInstallData(install_data.install_data):
   169 class MyInstallData(install_data.install_data):
   160     """A class That manages data files installation"""
   170     """A class That manages data files installation"""
   161     def run(self):
   171     def run(self):