diff makeitso/python_package/INSTALL.py @ 133:cd51ef9288ea

WIP
author Jeff Hammel <jhammel@mozilla.com>
date Thu, 03 Nov 2011 11:00:01 -0700
parents makeitso/python_package/INSTALL.sh@cc17537254d2
children 702216c49594
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/makeitso/python_package/INSTALL.py	Thu Nov 03 11:00:01 2011 -0700
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+
+"""
+installation script for {{project}}
+{{description}}
+"""
+
+import os
+import sys
+import urllib2
+import subprocess
+try:
+    from subprocess import check_call as call
+except:
+    from subprocess import call
+
+REPO='{{repo}}'
+DEST='{{project}}' # 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 {{project}}
+python setup.py develop
+"""