contrib/windows/update_tortoisehg_libs.py @ bdfacbcf700e default tip
Friendlier patch urls & mimetype Replace /changeset/<revset>/patch/ by /changeset/<revset>.patch and set the mimetype to text/x-diff. This helps the browser opening the right application thanks to the mimetype, and the application to better guess the file type thanks to the '.patch' extension
| author | Christophe de Vienne <christophe@cdevienne.info> | 
|---|---|
| date | Fri, 19 Aug 2016 18:58:14 +0200 | 
| parents | fc97fabaf28d | 
| children | (none) | 
# this script will update tortoisehgs python libs to include the missing libs that hg-review needs # (tested with Python 2.7.3 and Tortoisehg 2.6.2) # # Daniel Newton <djpnewton@gmail.com> # # Version 1.1 (2013/01/18) import sys import os # check python version if sys.version[:3] != '2.7': sys.exit('Need Python 2.7') # check for windows if sys.platform != 'win32': sys.exit('Script only works on win32') # list of libs to add libs = ('Cookie.py', 'htmlentitydefs.py', 'code.py', 'codeop.py', 'compiler', 'symbol.py', 'uuid.py') # find python lib path pylib_path = os.path.join(os.path.dirname(sys.executable), 'lib') # find tortoisehg libary.zip import _winreg hKey = _winreg.OpenKey (_winreg.HKEY_CURRENT_USER, r"Software\TortoiseHg") value, type = _winreg.QueryValueEx (hKey, "") # default key value hKey.Close() torthg_lib_path = os.path.join(value, "library.zip") # check validity of paths if not os.path.exists(pylib_path): sys.exit("%s does not exist" % pylib_path) if not os.path.exists(torthg_lib_path): sys.exit("%s does not exist" % torthg_lib_path) # backup tortoisehg lib import shutil shutil.copyfile(torthg_lib_path, torthg_lib_path + ".bak") # add libs to tortoisehg import zipfile zip = zipfile.ZipFile(torthg_lib_path, 'a') for lib in libs: lib_path = os.path.join(pylib_path, lib) lib_path_arcname = os.path.basename(lib_path) zip.write(lib_path, lib_path_arcname) if os.path.isdir(lib_path): child_paths = os.listdir(lib_path) for lib_path_child in child_paths: lib_path_child_arcname = os.path.join(lib_path_arcname, lib_path_child) lib_path_child = os.path.join(lib_path, lib_path_child) zip.write(lib_path_child, lib_path_child_arcname) zip.close() print 'all done'