view python/dependencies.py @ 325:bc2d0d504270

preserve mode (could, in theory, take from script)
author Jeff Hammel <jhammel@mozilla.com>
date Sat, 08 Jun 2013 08:42:21 -0700
parents af52700d1ce0
children
line wrap: on
line source

#!/usr/bin/env python

"""
illustrate overriding ``setuptools.setup`` to read package data
"""

import imp
import os
import pprint
import sys

current_module = None
info = {}

def setup(**kwargs):
    assert current_module
    info[current_module] = kwargs

def main(args=sys.argv[1:]):

    global current_module
    current_module = None

    setuptools = sys.modules.get('setuptools')
    sys.modules['setuptools'] = sys.modules[__name__]

    try:
        for setup_py in args:
            current_module = setup_py
            assert os.path.exists(setup_py)
            module = imp.load_source('setup', setup_py)
    finally:
        sys.modules.pop('setuptools')
        if setuptools:
            sys.modules['setuptools'] = setuptoools

    pprint.pprint(info)

if __name__ == '__main__':
    main()