mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	
		
			
	
	
		
			60 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			60 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								"""	  ***DANGEROUS***
							 | 
						||
| 
								 | 
							
									  script to remove 
							 | 
						||
| 
								 | 
							
									  all results of a 
							 | 
						||
| 
								 | 
							
									   build process. 
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									    ***Don't*** 
							 | 
						||
| 
								 | 
							
									run this if you are
							 | 
						||
| 
								 | 
							
									     ***not***
							 | 
						||
| 
								 | 
							
									  building Python 
							 | 
						||
| 
								 | 
							
									  from the source
							 | 
						||
| 
								 | 
							
									        !!!
							 | 
						||
| 
								 | 
							
								"""
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import macfs
							 | 
						||
| 
								 | 
							
								import os
							 | 
						||
| 
								 | 
							
								import sys
							 | 
						||
| 
								 | 
							
								import re
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sweepfiletypes = [
							 | 
						||
| 
								 | 
							
									'APPL', 	# applications
							 | 
						||
| 
								 | 
							
									'Atmp',		# applet template
							 | 
						||
| 
								 | 
							
									'shlb', 	# shared libs
							 | 
						||
| 
								 | 
							
									'MPSY',		# SYM and xSYM files
							 | 
						||
| 
								 | 
							
									'PYC ',		# .pyc files
							 | 
						||
| 
								 | 
							
									]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sweepfolderre = re.compile(r"(.*) Data$")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								def remove(top):
							 | 
						||
| 
								 | 
							
									if os.path.isdir(top):
							 | 
						||
| 
								 | 
							
										for name in os.listdir(top):
							 | 
						||
| 
								 | 
							
											path = os.path.join(top, name)
							 | 
						||
| 
								 | 
							
											remove(path)
							 | 
						||
| 
								 | 
							
									os.remove(top)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								def walk(top):
							 | 
						||
| 
								 | 
							
									if os.path.isdir(top):
							 | 
						||
| 
								 | 
							
										m = sweepfolderre.match(top)
							 | 
						||
| 
								 | 
							
										if m and os.path.exists(m.group(1) + ".prj"):
							 | 
						||
| 
								 | 
							
											print "removing folder:", top
							 | 
						||
| 
								 | 
							
											remove(top)
							 | 
						||
| 
								 | 
							
										else:
							 | 
						||
| 
								 | 
							
											for name in os.listdir(top):
							 | 
						||
| 
								 | 
							
												path = os.path.join(top, name)
							 | 
						||
| 
								 | 
							
												walk(path)
							 | 
						||
| 
								 | 
							
									else:
							 | 
						||
| 
								 | 
							
										fss = macfs.FSSpec(top)
							 | 
						||
| 
								 | 
							
										cr, tp = fss.GetCreatorType()
							 | 
						||
| 
								 | 
							
										if tp in sweepfiletypes and top <> sys.executable:
							 | 
						||
| 
								 | 
							
											print "removing file:  ", top
							 | 
						||
| 
								 | 
							
											remove(top)
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								fss, ok = macfs.GetDirectory("Please locate the Python home directory")
							 | 
						||
| 
								 | 
							
								if ok:
							 | 
						||
| 
								 | 
							
									walk(fss.as_pathname())
							 | 
						||
| 
								 | 
							
									sys.exit(1)  # so we see the results
							 |