Mercurial > hgrepos > Python2 > PyMuPDF
diff mupdf-source/scripts/wrap/util.py @ 2:b50eed0cc0ef upstream
ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4.
The directory name has changed: no version number in the expanded directory now.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:43:07 +0200 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mupdf-source/scripts/wrap/util.py Mon Sep 15 11:43:07 2025 +0200 @@ -0,0 +1,50 @@ +''' +Utility fns. +''' + +import os + +import jlib + +def clip( text, prefixes, suffixes=''): + ''' + Returns <text> with prefix(s) and suffix(s) removed if present. + ''' + if isinstance( prefixes, str): + prefixes = prefixes, + if isinstance( suffixes, str): + suffixes = suffixes, + while 1: + for prefix in prefixes: + if text.startswith( prefix): + text = text[ len( prefix):] + break + else: + break + while 1: + for suffix in suffixes: + if suffix and text.endswith( suffix): + text = text[ :-len( suffix)] + break + else: + break + return text + + +def update_file_regress( text, filename, check_regression): + ''' + Behaves like jlib.fs_update(), but if check_regression is true and + <filename> already exists with different content from <text>, we show a + diff and return an exception. + ''' + text_old = jlib.fs_update( text, filename, check_regression) + if check_regression: + if text_old is not None: + # Existing content differs and <check_regression> is true. + with open( f'{filename}-2', 'w') as f: + f.write( text) + message = f'File would have changed: {os.path.relpath(filename)}' + jlib.log( message) + jlib.system( f'diff -u {filename} {filename}-2', verbose=True, raise_errors=False, prefix=f'diff {os.path.relpath(filename)}: ', out='log') + return Exception( message) + return text_old
