Skip to content

Commit

Permalink
Addons: hide Orange3-only add-ons from the list
Browse files Browse the repository at this point in the history
  • Loading branch information
kernc committed Jun 14, 2016
1 parent a658220 commit 3c193a6
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions Orange/utils/addons.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@
from collections import namedtuple, defaultdict
from contextlib import closing

from distutils.version import LooseVersion

import Orange.utils.environ

ADDONS_ENTRY_POINT = "orange.addons"
Expand Down Expand Up @@ -156,9 +158,20 @@ def refresh_available_addons(force=False, progress_callback=None):
with closing(open_addons(flag="c")) as addons:
for i, (name, (_, version)) in enumerate(pkg_dict.items()):
installed = addons[name.lower()] if name.lower() in addons else None
# Workaround for PyPI bug
# https://bitbucket.org/pypa/pypi/issues/326/my-package-doesnt-appear-in-the-search
version = max(pypi.package_releases(name), key=LooseVersion)

if force or not installed or installed.available_version != version:
try:
data = pypi.release_data(name, version)

# Skip add-ons that are for Orange 3 only
keywords = data.get('keywords') or ''
if ('orange3 add-on' in keywords and
'orange add-on' not in keywords):
continue

urls = pypi.release_urls(name, version)
release_urls = \
[ReleaseUrl(url["filename"], url["url"],
Expand Down

0 comments on commit 3c193a6

Please sign in to comment.