]> git.bzium.org/ - embe/man-symlinker.git/blobdiff - man-symlinker
Obsługa komentarzy.
[embe/man-symlinker.git] / man-symlinker
index 529982969a85d193b43c4b0ef6593aa33a7e28d1..df13d0620dbbb8d0bdf20bdff2d99c90bc3026ca 100755 (executable)
@@ -12,7 +12,8 @@ MAX_LEN = 1024
 SO_RE = re.compile(r'^\.so\s+(.*)$')
 
 def process_file(name):
-    m = MAN_NAME_RE.search(name)
+    full_name = os.path.abspath(name)
+    m = MAN_NAME_RE.search(full_name)
     if not m:
         return False
     category = m.group(1)
@@ -21,10 +22,10 @@ def process_file(name):
         s = f.read(MAX_LEN+1)
         if len(s) > MAX_LEN:
             return False
-        s = s.strip()
-        if '\n' in s:
-            return False
-    m = SO_RE.search(s)
+    lines = [line for line in s.rstrip().split('\n') if not line.startswith('.\\"')]
+    if len(lines) != 1:
+        return False
+    m = SO_RE.search(lines[0])
     if not m:
         return False
     link = m.group(1)
@@ -36,7 +37,7 @@ def process_file(name):
         link = '../' + link
     os.unlink(name)
     os.symlink(link, name)
-    print 'Converted {} into a symlink to {}'.format(name, link)
+    print 'Converted {} into a symlink to {}'.format(full_name, link)
     return True
 
 def main(args=[]):