mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 19:34:08 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			36 lines
		
	
	
	
		
			952 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			36 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')
 |