[Docs] Fix build errors getting Deluge version

The use of pkg_resource.require caused an unwanted requirements lookup
that errored out the sphinx build when no dependencies are installed.

This is fixed by switching to pkg_resources.get_distribution.

Also changed the tox docs env to not install Deluge as the setup.py
now contains install_requires which is unwanted.
This commit is contained in:
Calum Lind 2018-11-01 23:18:05 +00:00
parent 82ecf8a416
commit 20431cc771
3 changed files with 17 additions and 14 deletions

View File

@ -87,14 +87,12 @@ PY2 = sys.version_info.major == 2
def get_version():
"""
Returns the program version from the egg metadata
:returns: the version of Deluge
:rtype: string
"""The program version from the egg metadata.
Returns:
str: The version of Deluge.
"""
return pkg_resources.require('Deluge')[0].version
return pkg_resources.get_distribution('Deluge').version
def get_default_config_dir(filename=None):
@ -289,14 +287,17 @@ def get_pixmap(fname):
def resource_filename(module, path):
"""While developing, if there's a second deluge package, installed globally
and another in develop mode somewhere else, while pkg_resources.require('Deluge')
returns the proper deluge instance, pkg_resources.resource_filename does
not, it returns the first found on the python path, which is not good
enough.
This is a work-around that.
"""Get filesystem path for a resource.
This function contains a work-around for pkg_resources.resource_filename
not returning the correct path with multiple packages installed.
So if there's a second deluge package, installed globally and another in
develop mode somewhere else, while pkg_resources.get_distribution('Deluge')
returns the proper deluge instance, pkg_resources.resource_filename
does not, it returns the first found on the python path, which is wrong.
"""
return pkg_resources.require('Deluge>=%s' % get_version())[0].get_resource_filename(
return pkg_resources.get_distribution('Deluge').get_resource_filename(
pkg_resources._manager, os.path.join(*(module.split('.') + [path]))
)

View File

@ -150,7 +150,7 @@ copyright = '2008-%s, Deluge Team' % current_year # noqa: A001
if get_version:
version = get_version(prefix='deluge-', suffix='.dev0')
else:
version = pkg_resources.require('Deluge')[0].version
version = pkg_resources.get_distribution('Deluge').version
# The full version, including alpha/beta/rc tags.
release = version

View File

@ -156,6 +156,7 @@ deps =
[testenv:docs]
basepython = python2.7
sitepackages = {[docsbase]sitepackages}
skip_install = True
deps = {[docsbase]deps}
commands =
python setup.py clean_docs
@ -165,6 +166,7 @@ commands =
[testenv:docscoverage]
basepython = python2.7
sitepackages = {[docsbase]sitepackages}
skip_install = True
changedir = {[docsbase]changedir}
deps =
{[docsbase]deps}