diff --git a/bob/extension/test_utils.py b/bob/extension/test_utils.py index 73da7428e557aa975aff4f0c517c826a0b0c0541..09c73de22045ad7f681c4657d45570b2d53378cb 100644 --- a/bob/extension/test_utils.py +++ b/bob/extension/test_utils.py @@ -191,12 +191,12 @@ package-z ] # test linkage to pythonhosted.org - server = "https://pythonhosted.org/%s" + server = "https://pythonhosted.org/%s/" os.environ["BOB_DOCUMENTATION_SERVER"] = server result = link_documentation(additional_packages, stringio(f)) expected = [ - 'https://docs.python.org/%d.%d' % sys.version_info[:2], - 'http://matplotlib.org', + 'https://docs.python.org/%d.%d/' % sys.version_info[:2], + 'http://matplotlib.org/', 'https://setuptools.readthedocs.io/en/latest/', server % 'bob.extension', server % 'gridtk', @@ -205,12 +205,12 @@ package-z nose.tools.eq_(sorted(result), sorted(expected)) # test idiap server - server = "https://www.idiap.ch/software/bob/docs/latest/bob/%s/master" + server = "https://www.idiap.ch/software/bob/docs/latest/bob/%s/master/" os.environ["BOB_DOCUMENTATION_SERVER"] = server result = link_documentation(additional_packages, stringio(f)) expected = [ - 'https://docs.python.org/%d.%d' % sys.version_info[:2], - 'http://matplotlib.org', + 'https://docs.python.org/%d.%d/' % sys.version_info[:2], + 'http://matplotlib.org/', 'https://setuptools.readthedocs.io/en/latest/', server % 'bob.extension', server % 'gridtk', diff --git a/bob/extension/utils.py b/bob/extension/utils.py index 2ee440cae84e819c3754f8fa7b0a13778fe241a0..0eaf07f45b366e72e4ab61f88d88f8d23180b3ec 100644 --- a/bob/extension/utils.py +++ b/bob/extension/utils.py @@ -432,11 +432,12 @@ def link_documentation(additional_packages = ['python', 'numpy'], requirements_f # collect packages are automatically included in the list of indexes packages = [] + version_re = re.compile(r'\s*[\<\>=]+\s*') if requirements_file is not None: if not isinstance(requirements_file, str) or \ os.path.exists(requirements_file): requirements = load_requirements(requirements_file) - packages += [re.split(r'\s*[\<\>=]*\s*',k)[0] for k in requirements] + packages += [version_re.split(k)[0] for k in requirements] packages += additional_packages @@ -514,7 +515,10 @@ def link_documentation(additional_packages = ['python', 'numpy'], requirements_f # transforms "(file:///path/to/dir https://example.com/dir| http://bla )" # into ["file:///path/to/dir", "https://example.com/dir", "http://bla"] # so, trim eventual parenthesis/white-spaces and splits by white space or | - server = re.split(r'[|\s]+', server.strip('() ')) + if server.strip(): + server = re.split(r'[|\s]+', server.strip('() ')) + else: + server = [] # check if the packages have documentation on the server for p in packages: