view INSTALL.py @ 44:14556787478c

python 2.4 compatability
author Jeff Hammel <jhammel@mozilla.com>
date Fri, 30 Mar 2012 16:46:49 -0700
parents 96362e527bd6
children
line wrap: on
line source

#!/usr/bin/env python

"""
installation script for PaInt
python PAckage INTrospection
"""

import os
import sys
import urllib2
import subprocess
try:
    from subprocess import check_call as call
except:
    from subprocess import call

REPO='http://k0s.org/mozilla/hg/PaInt'
DEST='PaInt' # name of the virtualenv
VIRTUALENV='https://raw.github.com/pypa/virtualenv/develop/virtualenv.py'

def which(binary, path=os.environ['PATH']):
    dirs = path.split(os.pathsep)
    for dir in dirs:
        if os.path.isfile(os.path.join(dir, fileName)):
            return os.path.join(dir, fileName)
        if os.path.isfile(os.path.join(dir, fileName + ".exe")):
            return os.path.join(dir, fileName + ".exe")

def main(args=sys.argv[1:]):

    # create a virtualenv
    virtualenv = which('virtualenv') or which('virtualenv.py')
    if virtualenv:
        call([virtualenv, DEST])
    else:
        process = subproces.Popen([sys.executable, '-', DEST], stdin=subprocess.PIPE)
        process.communicate(stdin=urllib2.urlopen(VIRTUALENV).read())

    # create a src directory
    src = os.path.join(DEST, 'src')
    os.mkdir(src)

    # clone the repository
    call(['hg', 'clone', REPO], cwd=src)

"""
XXX unfinished

hg clone ${REPO}
cd PaInt
python setup.py develop
"""