Switches to Zooko's version method

This centralizes the version number into a single place but makes it
available in the code as well as in setup.py.

Based on the recipe found at
http://stackoverflow.com/questions/458550/standard-way-to-embed-version-into-python-package/7071358#7071358
This commit is contained in:
Will Kahn-Greene 2011-09-01 19:35:31 -04:00
parent 41a695c418
commit cf37fffc11
3 changed files with 36 additions and 2 deletions

View File

@ -14,3 +14,4 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from mediagoblin._version import __version__

17
mediagoblin/_version.py Normal file
View File

@ -0,0 +1,17 @@
# GNU MediaGoblin -- federated, autonomous media hosting
# Copyright (C) 2011 Free Software Foundation, Inc
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
__version__ = "0.0.5"

View File

@ -15,10 +15,26 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from setuptools import setup, find_packages
import os
import re
READMEFILE = "README"
VERSIONFILE = os.path.join("mediagoblin", "_version.py")
VSRE = r"^__version__ = ['\"]([^'\"]*)['\"]"
def get_version():
verstrline = open(VERSIONFILE, "rt").read()
mo = re.search(VSRE, verstrline, re.M)
if mo:
return mo.group(1)
else:
raise RuntimeError("Unable to find version string in %s." % VERSIONFILE)
setup(
name = "mediagoblin",
version = "0.0.4",
version = get_version(),
packages=find_packages(exclude=['ez_setup', 'examples', 'tests']),
zip_safe=False,
# scripts and dependencies
@ -73,7 +89,7 @@ setup(
author_email='cwebber@gnu.org',
url="http://mediagoblin.org/",
download_url="http://mediagoblin.org/download/",
long_description=open('README').read(),
long_description=open(READMEFILE).read(),
classifiers=[
"Development Status :: 3 - Alpha",
"Environment :: Web Environment",