X-Git-Url: https://git.bzium.org/embe/man-symlinker.git/blobdiff_plain/9ee488c8c3eb51c4690af9463a5fea8aab1851a8..refs/heads/main:/man-symlinker?ds=sidebyside diff --git a/man-symlinker b/man-symlinker index cdca274..d2d8e2f 100755 --- a/man-symlinker +++ b/man-symlinker @@ -11,7 +11,13 @@ MAN_NAME_RE = re.compile(r'/man/(?:[^/]+/)?man([^/]+)/[^/]+.\1$') MAX_LEN = 1024 SO_RE = re.compile(r'^\.so\s+(.*)$') -def process_file(name): +SUFFIXES = { + 'xz': '.xz', + 'bzip2': '.bz2', + 'gzip': '.gz', +} + +def process_file(name, suffix): full_name = os.path.abspath(name) m = MAN_NAME_RE.search(full_name) if not m: @@ -36,7 +42,7 @@ def process_file(name): elif '/' in link: link = '../' + link os.unlink(name) - os.symlink(link, name) + os.symlink(link + suffix, name + suffix) print 'Converted {} into a symlink to {}'.format(full_name, link) return True @@ -49,9 +55,13 @@ def main(args=[]): else: compressor = args[:dashes] all_files = args[dashes+1:] + if compressor: + suffix = SUFFIXES.get(compressor[0], '') + else: + suffix = '' files = [] for name in all_files: - if not process_file(name): + if not process_file(name, suffix): files.append(name) if not compressor or not files: return 0