virtualenv/setup/create_python_env.py
changeset 47 4ed054be603f
parent 30 83f4abc7568f
child 50 0d59e0522d36
--- a/virtualenv/setup/create_python_env.py	Wed Mar 09 18:42:58 2011 +0100
+++ b/virtualenv/setup/create_python_env.py	Thu Mar 10 18:33:37 2011 +0100
@@ -32,134 +32,13 @@
 src_base = os.path.join(here,"res","src").replace("\\","/")
 lib_path = os.path.abspath(os.path.join(here,"res","lib")).replace("\\","/")
 
-EXTRA_TEXT  = "URLS = { \n"
-
-EXTRA_TEXT += "    'DISTRIBUTE' : { 'setup': 'distribute', 'url': 'http://pypi.python.org/packages/source/d/distribute/distribute-0.6.14.tar.gz', 'local': '"+ os.path.abspath(os.path.join(src_base,"distribute-0.6.14.tar.gz")).replace("\\","/")+"'},\n"
-EXTRA_TEXT += "    'MERCURIAL' : { 'setup': 'distribute', 'url': 'http://pypi.python.org/packages/source/d/mercurial/mercurial-1.7.5.tar.gz', 'local': '"+ os.path.abspath(os.path.join(src_base,"mercurial-1.7.5.tar.gz")).replace("\\","/")+"'},\n"
-EXTRA_TEXT += "}\n"
-
-EXTRA_TEXT += "import sys\n"
-EXTRA_TEXT += "sys.path.append('"+lib_path+"')\n"
-
-EXTRA_TEXT += """
-
-import shutil
-import tarfile
-import zipfile
-import urllib
-import platform
-
-
-INDEX_URL = 'http://pypi.python.org/simple/'
-
-
-def extend_parser(parser):
-    parser.add_option(
-        '--index-url',
-        metavar='INDEX_URL',
-        dest='index_url',
-        default='',
-        help='base URL of Python Package Index')
-    parser.add_option(
-        '--type-install',
-        metavar='type_install',
-        dest='type_install',
-        default='local',
-        help='type install : local, url, setup')
-    parser.add_option(
-        '--ignore-packages',
-        metavar='ignore_packages',
-        dest='ignore_packages',
-        default=None,
-        help='list of comma separated keys for package to ignore')
-
-
-
-def adjust_options(options, args):
-    pass
-
+EXTRA_TEXT  = "import sys\n"
+EXTRA_TEXT += "sys.path.append('%s')\n" % (lib_path)
+f = open(os.path.join(os.path. os.path.join(os.path.dirname(os.path.abspath(__file__)),"res"),'res_create_env.py'), 'r')
+EXTRA_TEXT += f.read()
+EXTRA_TEXT += "\n"
+EXTRA_TEXT += "RES_ENV = ResourcesEnv('%s')\n" % (src_base)
 
-def after_install(options, home_dir):
-    home_dir, lib_dir, inc_dir, bin_dir = path_locations(home_dir)
-    base_dir = os.path.dirname(home_dir)
-    src_dir = join(home_dir, 'src')
-    tmp_dir = join(home_dir, 'tmp')
-    ensure_dir(src_dir)
-    ensure_dir(tmp_dir)
-    system_str = platform.system()
-    
-    res_source_key = options.type_install
-    
-    ignore_packages = []
-    
-    if options.ignore_packages :
-        ignore_packages = options.ignore_packages.split(",")
-    
-    logger.indent += 2
-    try:
-        NORMAL_INSTALL = [ #(key,method, option_str, extra_env)
-            ('DISTRIBUTE', 'pip', None, None),
-            ('MERCURIAL', 'pip', None, None),
-            ]
-
-            
-        for key, method, option_str, extra_env in NORMAL_INSTALL:
-            if key not in ignore_packages:
-                normal_install(key, method, option_str, extra_env, res_source_key, home_dir, tmp_dir)
-                        
-        logger.notify("Clear source dir")
-        shutil.rmtree(src_dir)
-
-    finally:
-        logger.indent -= 2
-    script_dir = join(base_dir, bin_dir)
-    logger.notify('Run "%s Package" to install new packages that provide builds'
-                  % join(script_dir, 'easy_install'))
-
-
-def normal_install(key, method, option_str, extra_env, res_source_key, home_dir, tmp_dir):
-    logger.notify("Install %s from %s with %s" % (key,URLS[key][res_source_key],method))
-    if method == 'pip':
-        if sys.platform == 'win32':
-            args = [os.path.abspath(os.path.join(home_dir, 'Scripts', 'pip')), 'install', '-E', os.path.abspath(home_dir), URLS[key][res_source_key]]
-        else:
-            args = [os.path.abspath(os.path.join(home_dir, 'bin', 'pip')), 'install', '-E', os.path.abspath(home_dir), URLS[key][res_source_key]]
-        if option_str :
-            args.insert(4,option_str)
-        call_subprocess(args,
-                cwd=os.path.abspath(tmp_dir),
-                filter_stdout=filter_python_develop,
-                show_stdout=True,
-                extra_env=extra_env)
-    else:
-        if sys.platform == 'win32':
-            args = [os.path.abspath(os.path.join(home_dir, 'Scripts', 'easy_install')), URLS[key][res_source_key]]
-        else:
-            args = [os.path.abspath(os.path.join(home_dir, 'bin', 'easy_install')), URLS[key][res_source_key]]
-        if option_str :
-            args.insert(1,option_str)
-        call_subprocess(args,
-                cwd=os.path.abspath(tmp_dir),
-                filter_stdout=filter_python_develop,
-                show_stdout=True,
-                extra_env=extra_env)
-    
-
-def ensure_dir(dir):
-    if not os.path.exists(dir):
-        logger.notify('Creating directory %s' % dir)
-        os.makedirs(dir)
-
-def filter_python_develop(line):
-    if not line.strip():
-        return Logger.DEBUG
-    for prefix in ['Searching for', 'Reading ', 'Best match: ', 'Processing ',
-                   'Moving ', 'Adding ', 'running ', 'writing ', 'Creating ',
-                   'creating ', 'Copying ']:
-        if line.startswith(prefix):
-            return Logger.DEBUG
-    return Logger.NOTIFY
-"""
 
 def main():
     python_version = ".".join(map(str,sys.version_info[0:2]))