#!/usr/bin/env python
"""IPython release script.

This should only be run at real release time.
"""

from toollib import *

# Get main ipython dir, this will raise if it doesn't pass some checks
ipdir = get_ipdir()
cd(ipdir)

# Load release info
execfile(pjoin('IPython','Release.py'))

# Where I keep static backups of each release
ipbackupdir = os.path.expanduser('~/ipython/backup')

print
print "Releasing IPython version $version"
print "=================================="

# Perform local backup
c('./make_tarball.py')
c('mv ipython-*.tgz %s' % ipbackupdir)

# Build release files
c('./mkrel.py %s' % ipdir)

# Register with the Python Package Index (PyPI)
print "Registering with PyPI..."
c('./setup.py register')

# Upload all files
cd('dist')
print "Uploading distribution files..."
c('scp * ipython@ipython.scipy.org:www/dist/')

print "Uploading backup files..."
cd(ipbackupdir)
c('scp `ls -1tr *tgz | tail -1` ipython@ipython.scipy.org:www/backup/')

print "Done!"