From 7799be4a1cd2d68f70293a515bba1392b989531b Mon Sep 17 00:00:00 2001 From: Adam Chainz Date: Wed, 28 Sep 2016 21:12:32 +0100 Subject: setup.py + README tidying (#22) * Convert `README.md` to `README.rst` since rst is all that PyPI supports * Tidy up README so all functions are explained with their own headers * Use context managers for opening files in `setup.py` * Don't import the code in `setup.py`, which doesn't work on some platforms before it's installed. Instead use parsing of the file to find the version. --- setup.py | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'setup.py') diff --git a/setup.py b/setup.py index 35f6355..4d395ea 100755 --- a/setup.py +++ b/setup.py @@ -2,25 +2,37 @@ import os import codecs -import mimeparse +import re from setuptools import setup +def get_version(filename): + """ + Return package version as listed in `__version__` in 'filename'. + """ + with open(filename) as fp: + contents = fp.read() + return re.search("__version__ = ['\"]([^'\"]+)['\"]", contents).group(1) + +version = get_version('mimeparse.py') + + def read(fname): path = os.path.join(os.path.dirname(__file__), fname) - return codecs.open(path, encoding='utf-8').read() + with codecs.open(path, encoding='utf-8') as fp: + return fp.read() setup( name="python-mimeparse", py_modules=["mimeparse"], - version=mimeparse.__version__, + version=version, description=("A module provides basic functions for parsing mime-type " "names and matching them against a list of media-ranges."), author="DB Tsai", author_email="dbtsai@dbtsai.com", url="https://github.com/dbtsai/python-mimeparse", download_url=("https://github.com/dbtsai/python-mimeparse/tarball/" + - mimeparse.__version__), + version), keywords=["mime-type"], classifiers=[ "Programming Language :: Python", @@ -32,5 +44,5 @@ setup( "Topic :: Internet :: WWW/HTTP", "Topic :: Software Development :: Libraries :: Python Modules", ], - long_description=read('README.md') + long_description=read('README.rst') ) -- cgit v1.2.1