diff options
author | Ask Solem <ask@rabbitmq.com> | 2011-12-06 11:14:11 +0000 |
---|---|---|
committer | Ask Solem <ask@rabbitmq.com> | 2011-12-06 11:14:11 +0000 |
commit | c407a756b008344a8ae5df31de3a6e869b3dca78 (patch) | |
tree | bd491951cc76b710046d1f33263f9b6f1595203c | |
parent | 782c8f7d8e8b10ddb6606c5bd0c421adc05de158 (diff) | |
download | anyjson-c407a756b008344a8ae5df31de3a6e869b3dca78.tar.gz |
Parses distmeta + adds trove classifiers
-rw-r--r-- | anyjson/__init__.py | 8 | ||||
-rw-r--r-- | setup.py | 58 |
2 files changed, 54 insertions, 12 deletions
diff --git a/anyjson/__init__.py b/anyjson/__init__.py index 2c6ff53..1cab2c5 100644 --- a/anyjson/__init__.py +++ b/anyjson/__init__.py @@ -3,11 +3,15 @@ interface""" import sys -__version__ = "0.3.1" -__author__ = "Rune Halvorsen <runefh@gmail.com>" +VERSION = (0, 3, 1) +__version__ = ".".join(map(str, VERSION[0:3])) + "".join(VERSION[3:]) +__author__ = "Rune Halvorsen" +__contact__ "runefh@gmail.com" __homepage__ = "http://bitbucket.org/runeh/anyjson/" __docformat__ = "restructuredtext" +# -eof meta- + implementation = None """ @@ -9,17 +9,56 @@ try: except ImportError: from distutils.core import setup, find_packages -author = "Rune Halvorsen" -email = "runefh@gmail.com" -version = "0.3.1" -desc = """Wraps the best available JSON implementation available in a common interface""" +# -*- Distribution Meta -*- +import re +re_meta = re.compile(r'__(\w+?)__\s*=\s*(.*)') +re_vers = re.compile(r'VERSION\s*=\s*\((.*?)\)') +re_doc = re.compile(r'^"""(.+?)"""') +rq = lambda s: s.strip("\"'") + +def add_default(m): + attr_name, attr_value = m.groups() + return ((attr_name, rq(attr_value)), ) + + +def add_version(m): + v = list(map(rq, m.groups()[0].split(", "))) + return (("VERSION", ".".join(v[0:3]) + "".join(v[3:])), ) + + +def add_doc(m): + return (("doc", m.groups()[0]), ) + +pats = {re_meta: add_default, + re_vers: add_version, + re_doc: add_doc} +here = os.path.abspath(os.path.dirname(__file__)) +meta_fh = open(os.path.join(here, "anyjson/__init__.py")) +try: + meta = {} + for line in meta_fh: + if line.strip() == '# -eof meta-': + break + for pattern, handler in pats.items(): + m = pattern.match(line.strip()) + if m: + meta.update(handler(m)) +finally: + meta_fh.close() + setup(name='anyjson', - version=version, - description=desc, + version=meta["VERSION"], + description=meta["doc"], + author=meta["author"], + author_email=meta["contact"], + url=meta["homepage"], + license='BSD', long_description=open("README").read(), classifiers=[ + 'Development Status :: 5 - Production/Stable', 'License :: OSI Approved :: BSD License', + 'Operating System :: OS Independent', 'Intended Audience :: Developers', 'Programming Language :: Python', 'Programming Language :: Python :: 2', @@ -29,12 +68,11 @@ setup(name='anyjson', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.1', + 'Programming Language :: Python :: Implementation :: CPython', + 'Programming Language :: Python :: Implementation :: PyPy', + 'Programming Language :: Python :: Implementation :: Jython', ], keywords='json', - author=author, - author_email=email, - url='http://bitbucket.org/runeh/anyjson', - license='BSD', packages=find_packages(exclude=['ez_setup', 'examples', 'tests']), zip_safe=False, platforms=["any"], |