mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	
		
			
	
	
		
			25 lines
		
	
	
	
		
			739 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			25 lines
		
	
	
	
		
			739 B
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | import distutils, os | ||
|  | from setuptools import Command | ||
|  | from setuptools.command.setopt import edit_config, option_base | ||
|  | 
 | ||
|  | class saveopts(option_base): | ||
|  |     """Save command-line options to a file""" | ||
|  | 
 | ||
|  |     description = "save supplied options to setup.cfg or other config file" | ||
|  | 
 | ||
|  |     def run(self): | ||
|  |         dist = self.distribution | ||
|  |         commands = dist.command_options.keys() | ||
|  |         settings = {} | ||
|  | 
 | ||
|  |         for cmd in commands: | ||
|  | 
 | ||
|  |             if cmd=='saveopts': | ||
|  |                 continue    # don't save our own options! | ||
|  | 
 | ||
|  |             for opt,(src,val) in dist.get_option_dict(cmd).items(): | ||
|  |                 if src=="command line": | ||
|  |                     settings.setdefault(cmd,{})[opt] = val | ||
|  | 
 | ||
|  |         edit_config(self.filename, settings, self.dry_run) |