view setup_common.py @ 48:f4fd8c20511c MySQLdb

Read a default file in the test setUp. Since Python 2.4, int() will return longs if needed so make all long references int as in Python 3.0 there is no more long due to int/long unification (new ints are old longs).
author adustman
date Sun, 22 Feb 2009 20:01:31 +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()