Tworzenie symlinków z rozszerzeniem. master
authorMichał Bartoszkiewicz <mbartoszkiewicz@gmail.com>
Thu, 7 Feb 2013 01:49:03 +0000 (02:49 +0100)
committerMichał Bartoszkiewicz <mbartoszkiewicz@gmail.com>
Thu, 7 Feb 2013 01:49:03 +0000 (02:49 +0100)
man-symlinker

index cdca2749bea7e1856b7d6c886106f9a267b33a52..d2d8e2ff638ee77bae5378a8ff7b5c6639d0f3d1 100755 (executable)
@@ -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