mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	
		
			
	
	
		
			37 lines
		
	
	
	
		
			952 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
	
		
			952 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								#! /usr/bin/env python3
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Fixes encoding of the project files to add UTF-8 BOM.
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Visual Studio insists on having the BOM in project files, and will
							 | 
						||
| 
								 | 
							
								# restore it on first edit. This script will go through the relevant
							 | 
						||
| 
								 | 
							
								# files and ensure the BOM is included, which should prevent too many
							 | 
						||
| 
								 | 
							
								# irrelevant changesets.
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								from pathlib import Path
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								__author__ = "Steve Dower <steve.dower@python.org>"
							 | 
						||
| 
								 | 
							
								__version__ = "1.0.0.0"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								def fix(p):
							 | 
						||
| 
								 | 
							
								    with open(p, 'r', encoding='utf-8-sig') as f:
							 | 
						||
| 
								 | 
							
								        data = f.read()
							 | 
						||
| 
								 | 
							
								    with open(p, 'w', encoding='utf-8-sig') as f:
							 | 
						||
| 
								 | 
							
								        f.write(data)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								ROOT_DIR = Path(__file__).resolve().parent
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if __name__ == '__main__':
							 | 
						||
| 
								 | 
							
								    count = 0
							 | 
						||
| 
								 | 
							
								    print('Fixing:')
							 | 
						||
| 
								 | 
							
								    for f in ROOT_DIR.glob('*.vcxproj'):
							 | 
						||
| 
								 | 
							
								        print(f' - {f.name}')
							 | 
						||
| 
								 | 
							
								        fix(f)
							 | 
						||
| 
								 | 
							
								        count += 1
							 | 
						||
| 
								 | 
							
								    for f in ROOT_DIR.glob('*.vcxproj.filters'):
							 | 
						||
| 
								 | 
							
								        print(f' - {f.name}')
							 | 
						||
| 
								 | 
							
								        fix(f)
							 | 
						||
| 
								 | 
							
								        count += 1
							 | 
						||
| 
								 | 
							
								    print()
							 | 
						||
| 
								 | 
							
								    print(f'Fixed {count} files')
							 |