Mercurial > hg > carton
comparison carton.py @ 23:987086aad234
stub adding carton to to virtualenv
| author | Jeff Hammel <jhammel@mozilla.com> | 
|---|---|
| date | Fri, 08 Jul 2011 18:25:31 -0700 | 
| parents | 9c710f06e51d | 
| children | bb19d3dac4c5 | 
   comparison
  equal
  deleted
  inserted
  replaced
| 22:9c710f06e51d | 23:987086aad234 | 
|---|---|
| 48 ENV='''%(ENV)s''' | 48 ENV='''%(ENV)s''' | 
| 49 | 49 | 
| 50 # packed files | 50 # packed files | 
| 51 VIRTUAL_ENV='''%(VIRTUAL_ENV)s'''.decode('base64').decode('zlib') | 51 VIRTUAL_ENV='''%(VIRTUAL_ENV)s'''.decode('base64').decode('zlib') | 
| 52 PACKAGE_SOURCES=%(PACKAGE_SOURCES)s | 52 PACKAGE_SOURCES=%(PACKAGE_SOURCES)s | 
| 53 CARTON=%(CARTON)s | |
| 53 | 54 | 
| 54 # parse options | 55 # parse options | 
| 55 usage = os.path.basename(sys.argv[0]) + ' [options]' | 56 usage = os.path.basename(sys.argv[0]) + ' [options]' | 
| 56 parser = OptionParser(usage=usage, description=__doc__) | 57 parser = OptionParser(usage=usage, description=__doc__) | 
| 57 parser.add_option('--env', dest='env', help="environment name [DEFAULT: " + ENV + "]") | 58 parser.add_option('--env', dest='env', help="environment name [DEFAULT: " + ENV + "]") | 
| 118 setup_pys.add(i) | 119 setup_pys.add(i) | 
| 119 | 120 | 
| 120 # add virtualenv to the virtualenv (!) | 121 # add virtualenv to the virtualenv (!) | 
| 121 virtualenv_dir = os.path.dirname(virtualenv) | 122 virtualenv_dir = os.path.dirname(virtualenv) | 
| 122 if os.path.exists(os.path.join(virtualenv_dir, 'setup.py')): | 123 if os.path.exists(os.path.join(virtualenv_dir, 'setup.py')): | 
| 123 call([python, 'setup.py', 'install'], cwd=virtualenv_dir) | 124 call([python, 'setup.py', 'install'], cwd=virtualenv_dir, stdout=subprocess.PIPE) | 
| 124 | 125 | 
| 125 # TODO: | 126 # TODO: | 
| 127 | |
| 126 # - add carton to the virtualenv (!) | 128 # - add carton to the virtualenv (!) | 
| 129 # if CARTON: | |
| 130 # CARTON = CARTON.decode('base64').decode('zlib') | |
| 131 # carton_filename = os.path.join(scripts_dir, 'carton.py') | |
| 132 # f = file(carton_filename, 'w') | |
| 133 # f.write(CARTON) | |
| 134 # f.close() | |
| 135 # try: | |
| 136 # os.chmod(carton_filename, 0755) | |
| 137 # except: | |
| 138 # # you probably don't have os.chmod | |
| 139 # pass | |
| 140 | |
| 127 # - cleanup tempdir | 141 # - cleanup tempdir | 
| 128 # shutil.rmtree(tempdir) | 142 # shutil.rmtree(tempdir) | 
| 129 """ | 143 """ | 
| 130 | 144 | 
| 131 def isURL(path): | 145 def isURL(path): | 
| 212 else: | 226 else: | 
| 213 globals()['VIRTUAL_ENV'] = urllib2.urlopen(virtualenv_url).read() | 227 globals()['VIRTUAL_ENV'] = urllib2.urlopen(virtualenv_url).read() | 
| 214 # TODO: used the below hashed value of VIRTUAL_ENV if set | 228 # TODO: used the below hashed value of VIRTUAL_ENV if set | 
| 215 # (set that with another file) | 229 # (set that with another file) | 
| 216 | 230 | 
| 231 # get the contents of this file | |
| 232 carton = None | |
| 233 try: | |
| 234 if __file__: | |
| 235 filename = __file__.rstrip('c') # avoid pyfiles | |
| 236 if os.path.exists(filename): | |
| 237 carton = file(filename).read().encode('zlib').encode('base64') | |
| 238 except NameError: | |
| 239 pass | |
| 240 | |
| 217 # interpolate "template" -> output | 241 # interpolate "template" -> output | 
| 218 outfile = options.outfile | 242 outfile = options.outfile | 
| 219 if outfile is None: | 243 if outfile is None: | 
| 220 outfile = environment + '.py' | 244 outfile = environment + '.py' | 
| 221 variables = {'VIRTUAL_ENV': VIRTUAL_ENV.encode('zlib').encode('base64'), | 245 variables = {'VIRTUAL_ENV': VIRTUAL_ENV.encode('zlib').encode('base64'), | 
| 222 'ENV': environment, | 246 'ENV': environment, | 
| 247 'CARTON': repr(carton), | |
| 223 'PACKAGE_SOURCES': repr(source_array)} | 248 'PACKAGE_SOURCES': repr(source_array)} | 
| 224 f = file(outfile, 'w') | 249 f = file(outfile, 'w') | 
| 225 f.write(template % variables) | 250 f.write(template % variables) | 
| 226 f.close() | 251 f.close() | 
| 227 try: | 252 try: | 
