wxWidgets/wxPython/wxaddons/setup.py

31 lines
1.2 KiB
Python
Raw Normal View History

import distutils.command.install_lib
import distutils.command.install
import os
from distutils.core import setup
class wxaddon_install_lib(distutils.command.install_lib.install_lib):
"""need to change self.install_dir to the actual library dir"""
def run(self):
install_cmd = self.get_finalized_command('install')
self.install_dir = os.path.join(getattr(install_cmd, 'install_purelib'), "wxaddons")
return distutils.command.install_lib.install_lib.run(self)
class wxaddon_install(distutils.command.install.install):
def run(self):
result = distutils.command.install.install.run(self)
metadata_file = 'addon.info'
if os.path.exists(metadata_file):
import wx
import email
fields = email.message_from_string(open(metadata_file).read())
config = wx.Config("wxaddons-receipts")
config.SetPath(fields['name'])
for field in fields._headers:
config.Write(field[0], field[1])
return result
def wxaddon(**kwargs):
kwargs['cmdclass'] = {'install_lib' : wxaddon_install_lib,
'install' : wxaddon_install }
setup(**kwargs)