diff --git a/2_bootstrap.py b/2_bootstrap.py index 9f5111f9..7ed67e60 100644 --- a/2_bootstrap.py +++ b/2_bootstrap.py @@ -49,6 +49,16 @@ from .package_control import loader, text, sys_path +def compare_text_with_file(input_text, file): + """ + Return `True` when the provided text and the `file` contents are equal. + """ + + with open( file, "r", encoding='utf-8' ) as file: + text = file.read() + return input_text == text + + def _background_bootstrap(settings): """ Runs the bootstrap process in a thread since it may need to block to update @@ -203,10 +213,12 @@ def _delayed_in_progress_removal(package_name): packages_directory = os.path.dirname( PACKAGE_ROOT_DIRECTORY ) reenable_package_code = dedent(reenable_package_code).lstrip() - reloader_package_file = os.path.join( packages_directory, "zz_packagesmanager_reenabler.py" ) + reenable_package_file = os.path.join( packages_directory, "zz_packagesmanager_reenabler.py" ) + + if not compare_text_with_file(reenable_package_code, reenable_package_file): - with open( reloader_package_file, 'w', newline='\n', encoding='utf-8' ) as output_file: - output_file.write( reenable_package_code ) + with open( reenable_package_file, 'w', newline='\n', encoding='utf-8' ) as output_file: + output_file.write( reenable_package_code ) base_loader_code = r""" import sys diff --git a/package-metadata.json b/package-metadata.json index 14411e1a..d130868c 100644 --- a/package-metadata.json +++ b/package-metadata.json @@ -1,5 +1,5 @@ { - "version": "2018.0019.1933", + "version": "2018.0022.1518", "url": "https://packagecontrol.io", "description": "A full-featured package manager", "sublime_text": "*",