File tree Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Original file line number Diff line number Diff line change 4040from collections import namedtuple , defaultdict
4141from contextlib import closing
4242
43+ from distutils .version import LooseVersion
44+
4345import Orange .utils .environ
4446
4547ADDONS_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" ],
You can’t perform that action at this time.
0 commit comments