|  |  |  | @ -32,7 +32,7 @@ import os.path | 
			
		
	
		
			
				
					|  |  |  |  | import tempfile | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | from warnings import warn | 
			
		
	
		
			
				
					|  |  |  |  | from wpylib import shell_utils as sh | 
			
		
	
		
			
				
					|  |  |  |  | from wpylib import shell_tools as sh | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | _g = globals() | 
			
		
	
		
			
				
					|  |  |  |  | _g.setdefault("TMPDIR", None) | 
			
		
	
	
		
			
				
					|  |  |  | @ -46,24 +46,26 @@ def tmpdir(): | 
			
		
	
		
			
				
					|  |  |  |  |   and return the created temporary directory name. | 
			
		
	
		
			
				
					|  |  |  |  |   For subsequent calls, the same temporary directory name is given again. | 
			
		
	
		
			
				
					|  |  |  |  |   """ | 
			
		
	
		
			
				
					|  |  |  |  |   from wpylib.file.file_utils import is_writable | 
			
		
	
		
			
				
					|  |  |  |  |   import atexit | 
			
		
	
		
			
				
					|  |  |  |  |   global TMPDIR, TMPDIR_ROOTS | 
			
		
	
		
			
				
					|  |  |  |  |   if TMPDIR != None: return TMPDIR | 
			
		
	
		
			
				
					|  |  |  |  |   tmproot = None | 
			
		
	
		
			
				
					|  |  |  |  |   # FIXME: site-specific hooks probably need to be set somewhere | 
			
		
	
		
			
				
					|  |  |  |  |   for d in list(TMPDIR_ROOTS) + [ os.getenv("TMP"), os.getenv("TMPDIR"), "/tmp", "/var/tmp" ]: | 
			
		
	
		
			
				
					|  |  |  |  |     if d != None and os.path.isdir(d) and : | 
			
		
	
		
			
				
					|  |  |  |  |     if d != None and os.path.isdir(d) and is_writable(d): | 
			
		
	
		
			
				
					|  |  |  |  |       tmproot = d | 
			
		
	
		
			
				
					|  |  |  |  |       break | 
			
		
	
		
			
				
					|  |  |  |  |   if not tmproot: | 
			
		
	
		
			
				
					|  |  |  |  |     warn("Cannot find suitable temporary directory root, using current directory.", | 
			
		
	
		
			
				
					|  |  |  |  |          RuntimeWarning) | 
			
		
	
		
			
				
					|  |  |  |  |     tmproot = os.getcwd() | 
			
		
	
		
			
				
					|  |  |  |  |   TMPDIR = tempfile.mkdtemp(prefix=("%s/chkgit-%d" % (tmproot, os.getpid()))) | 
			
		
	
		
			
				
					|  |  |  |  |   TMPDIR = tempfile.mkdtemp(prefix=("%s/pytmp-%d" % (tmproot, os.getpid()))) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   def tmpdir_exitfunc(): | 
			
		
	
		
			
				
					|  |  |  |  |     global TMPDIR | 
			
		
	
		
			
				
					|  |  |  |  |     global TMPDIR_CLEANUP | 
			
		
	
		
			
				
					|  |  |  |  |     print "TMPDIR_CLEANUP = ", TMPDIR_CLEANUP | 
			
		
	
		
			
				
					|  |  |  |  |     if TMPDIR != None and os.path.isdir(TMPDIR) and TMPDIR_CLEANUP: | 
			
		
	
		
			
				
					|  |  |  |  |       try: | 
			
		
	
		
			
				
					|  |  |  |  |         sh.rm("-rf", TMPDIR) | 
			
		
	
	
		
			
				
					|  |  |  | 
 |