import os
import re

version_re = re.compile(r'''version\s*=\s*['"](?P<version>[\d\.]+)['"]''')

def get_version():
    """Extract the current version from the setup.py file."""
    setup = open('setup.py').read()
    return version_re.search(setup).group('version')

def release():
    """Release Djangorecipe to PyPi."""
    version = get_version()
    set(version=version)
    local('python2.5 setup.py sdist')
    # Make sure we have a proper release that could be installed.
    local('tar xfz %s/dist/djangorecipe-%s.tar.gz -C /tmp' % (
            os.path.abspath('.'), version))
    local('cd /tmp/djangorecipe-$(version); python2.5 setup.py egg_info')
    # Release the code.
    local('python2.5 setup.py sdist register upload')
