mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 05:31:01 +00:00 
			
		
		
		
	
		
			
	
	
		
			48 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			48 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | #!/usr/bin/env python3 | ||
|  | 
 | ||
|  | import argparse | ||
|  | import glob | ||
|  | import os | ||
|  | 
 | ||
|  | if __name__ != "__main__": | ||
|  |     raise ImportError(f"{__name__} should not be used as a module.") | ||
|  | 
 | ||
|  | 
 | ||
|  | def main(): | ||
|  |     parser = argparse.ArgumentParser(description="Cleanup old cache files") | ||
|  |     parser.add_argument("timestamp", type=int, help="Unix timestamp cutoff") | ||
|  |     parser.add_argument("directory", help="Path to cache directory") | ||
|  |     args = parser.parse_args() | ||
|  | 
 | ||
|  |     ret = 0 | ||
|  | 
 | ||
|  |     # TODO: Convert to non-hardcoded path | ||
|  |     if os.path.exists("redundant.txt"): | ||
|  |         with open("redundant.txt") as redundant: | ||
|  |             for item in map(str.strip, redundant): | ||
|  |                 if os.path.isfile(item): | ||
|  |                     try: | ||
|  |                         os.remove(item) | ||
|  |                     except OSError: | ||
|  |                         print(f'Failed to handle "{item}"; skipping.') | ||
|  |                         ret += 1 | ||
|  | 
 | ||
|  |     for file in glob.glob(os.path.join(args.directory, "*", "*")): | ||
|  |         try: | ||
|  |             if os.path.getatime(file) < args.timestamp: | ||
|  |                 os.remove(file) | ||
|  |         except OSError: | ||
|  |             print(f'Failed to handle "{file}"; skipping.') | ||
|  |             ret += 1 | ||
|  | 
 | ||
|  |     return ret | ||
|  | 
 | ||
|  | 
 | ||
|  | try: | ||
|  |     raise SystemExit(main()) | ||
|  | except KeyboardInterrupt: | ||
|  |     import signal | ||
|  | 
 | ||
|  |     signal.signal(signal.SIGINT, signal.SIG_DFL) | ||
|  |     os.kill(os.getpid(), signal.SIGINT) |