view setup_common.py @ 54:6e31278d3433 MySQLdb

There's no good reason to delay imports when the module is (1) useless without it or (2) you do the same late import more than once.
author kylev
date Mon, 23 Feb 2009 23:52:44 +0000
parents 3f4c6af70e52
children c9fd1a7932f4
line wrap: on
line source

from ConfigParser import SafeConfigParser

def get_metadata_and_options():
    config = SafeConfigParser()
    config.read(['metadata.cfg', 'site.cfg'])
    
    metadata = dict(config.items('metadata'))
    options = dict(config.items('options'))
    
    metadata['py_modules'] = filter(None, metadata['py_modules'].split('\n'))
    metadata['classifiers'] = filter(None, metadata['classifiers'].split('\n'))

    return metadata, options

def enabled(options, option):
    value = options[option]
    s = value.lower()
    if s in ('yes','true','1','y'):
        return True
    elif s in ('no', 'false', '0', 'n'):
        return False
    else:
        raise Abort, "Unknown value %s for option %s" % (value, option)

def create_release_file(metadata):
    rel = open("MySQLdb/release.py",'w')
    rel.write("""
"Release data, autogenerated from metadata.cfg by setup_common.create_release_file()"
__author__ = "%(author)s <%(author_email)s>"
version_info = %(version_info)s
__version__ = "%(version)s"
__revision__ = "$ Revision: $"[11:-2]
""" % metadata)
    rel.close()