summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2017-05-12 19:14:08 +0200
committerGiampaolo Rodola <g.rodola@gmail.com>2017-05-12 19:14:08 +0200
commitc7251d25c63fb00f068f740d4138a0fdc53e4399 (patch)
treedf3cd70b49dd967501bc9a8fb4c5c7638cdc88e4
parentbb6ffa8b7f2a0865c8ecda05c98f51794fcfef50 (diff)
downloadpsutil-c7251d25c63fb00f068f740d4138a0fdc53e4399.tar.gz
broken links: also inspect generic files
-rwxr-xr-xscripts/internal/check_broken_links.py24
1 files changed, 20 insertions, 4 deletions
diff --git a/scripts/internal/check_broken_links.py b/scripts/internal/check_broken_links.py
index 0ae2b323..7cf1e489 100755
--- a/scripts/internal/check_broken_links.py
+++ b/scripts/internal/check_broken_links.py
@@ -78,8 +78,15 @@ def memoize(fun):
def sanitize_url(url):
- return \
- url.strip('(').strip(')').strip('[').strip(']').strip('<').strip('>')
+ url = url.rstrip(',')
+ url = url.rstrip('.')
+ url = url.lstrip('(')
+ url = url.rstrip(')')
+ url = url.lstrip('[')
+ url = url.rstrip(']')
+ url = url.lstrip('<')
+ url = url.rstrip('>')
+ return url
def find_urls(s):
@@ -152,8 +159,14 @@ def parse_c(fname):
return list(urls)
+def parse_generic(fname):
+ with open(fname) as f:
+ text = f.read()
+ return find_urls(text)
+
+
def get_urls(fname):
- """Extracts all URLs available in specified fname."""
+ """Extracts all URLs in fname and return them as a list."""
if fname.endswith('.rst'):
return parse_rst(fname)
elif fname.endswith('.py'):
@@ -161,7 +174,10 @@ def get_urls(fname):
elif fname.endswith('.c') or fname.endswith('.h'):
return parse_c(fname)
else:
- return []
+ with open(fname) as f:
+ if f.readline().strip().startswith('#!/usr/bin/env python'):
+ return parse_py(fname)
+ return parse_generic(fname)
@memoize