Skip to content

Commit 3c193a6

Browse files
committed
Addons: hide Orange3-only add-ons from the list
1 parent a658220 commit 3c193a6

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

Orange/utils/addons.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@
4040
from collections import namedtuple, defaultdict
4141
from contextlib import closing
4242

43+
from distutils.version import LooseVersion
44+
4345
import Orange.utils.environ
4446

4547
ADDONS_ENTRY_POINT = "orange.addons"
@@ -156,9 +158,20 @@ def refresh_available_addons(force=False, progress_callback=None):
156158
with closing(open_addons(flag="c")) as addons:
157159
for i, (name, (_, version)) in enumerate(pkg_dict.items()):
158160
installed = addons[name.lower()] if name.lower() in addons else None
161+
# Workaround for PyPI bug
162+
# https://bitbucket.org/pypa/pypi/issues/326/my-package-doesnt-appear-in-the-search
163+
version = max(pypi.package_releases(name), key=LooseVersion)
164+
159165
if force or not installed or installed.available_version != version:
160166
try:
161167
data = pypi.release_data(name, version)
168+
169+
# Skip add-ons that are for Orange 3 only
170+
keywords = data.get('keywords') or ''
171+
if ('orange3 add-on' in keywords and
172+
'orange add-on' not in keywords):
173+
continue
174+
162175
urls = pypi.release_urls(name, version)
163176
release_urls = \
164177
[ReleaseUrl(url["filename"], url["url"],

0 commit comments

Comments
 (0)