]> git.rkrishnan.org Git - tahoe-lafs/zfec.git/blobdiff - setuptools-0.6c16dev3.egg/setuptools/command/bdist_wininst.py
zfec: rearrange files
[tahoe-lafs/zfec.git] / setuptools-0.6c16dev3.egg / setuptools / command / bdist_wininst.py
diff --git a/setuptools-0.6c16dev3.egg/setuptools/command/bdist_wininst.py b/setuptools-0.6c16dev3.egg/setuptools/command/bdist_wininst.py
new file mode 100644 (file)
index 0000000..e8521f8
--- /dev/null
@@ -0,0 +1,82 @@
+from distutils.command.bdist_wininst import bdist_wininst as _bdist_wininst
+import os, sys
+
+class bdist_wininst(_bdist_wininst):
+    _good_upload = _bad_upload = None
+
+    def create_exe(self, arcname, fullname, bitmap=None):
+        _bdist_wininst.create_exe(self, arcname, fullname, bitmap)
+        installer_name = self.get_installer_filename(fullname) 
+        if self.target_version:
+            pyversion = self.target_version
+            # fix 2.5+ bdist_wininst ignoring --target-version spec
+            self._bad_upload = ('bdist_wininst', 'any', installer_name)
+        else:
+            pyversion = 'any'
+        self._good_upload = ('bdist_wininst', pyversion, installer_name)
+        
+    def _fix_upload_names(self):
+        good, bad = self._good_upload, self._bad_upload
+        dist_files = getattr(self.distribution, 'dist_files', [])
+        if bad in dist_files:
+            dist_files.remove(bad)
+        if good not in dist_files:
+            dist_files.append(good)
+
+    def reinitialize_command (self, command, reinit_subcommands=0):
+        cmd = self.distribution.reinitialize_command(
+            command, reinit_subcommands)
+        if command in ('install', 'install_lib'):
+            cmd.install_lib = None  # work around distutils bug
+        return cmd
+
+    def run(self):
+        self._is_running = True
+        try:
+            _bdist_wininst.run(self)
+            self._fix_upload_names()
+        finally:
+            self._is_running = False
+
+
+    if not hasattr(_bdist_wininst, 'get_installer_filename'):
+        def get_installer_filename(self, fullname):
+            # Factored out to allow overriding in subclasses
+            if self.target_version:
+                # if we create an installer for a specific python version,
+                # it's better to include this in the name
+                installer_name = os.path.join(self.dist_dir,
+                                              "%s.win32-py%s.exe" %
+                                               (fullname, self.target_version))
+            else:
+                installer_name = os.path.join(self.dist_dir,
+                                              "%s.win32.exe" % fullname)
+            return installer_name
+    # get_installer_filename()
+    
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+