2828from argparse import ArgumentParser
2929from winpython import py3compat
3030
31-
31+ # import information reader
32+ # importlib_metadata before Python 3.8
33+ try :
34+ from importlib import metadata as metadata # Python-3.8
35+ metadata = metadata .metadata
36+ except :
37+ try :
38+ from importlib_metadata import metadata # <Python-3.8
39+ except :
40+ metadata = None # nothing available
41+
3242# Workaround for installing PyVISA on Windows from source:
3343os .environ ['HOME' ] = os .environ ['USERPROFILE' ]
3444
@@ -43,11 +53,11 @@ def get_package_metadata(database, name):
4353 # machine which is not connected to the internet
4454 db = cp .ConfigParser ()
4555 db .readfp (open (osp .join (DATA_PATH , database )))
46- metadata = dict (
56+ my_metadata = dict (
4757 description = '' ,
4858 url = 'https://pypi.org/project/' + name ,
4959 )
50- for key in metadata :
60+ for key in my_metadata :
5161 name1 = name .lower ()
5262 # wheel replace '-' per '_' in key
5363 for name2 in (
@@ -58,11 +68,17 @@ def get_package_metadata(database, name):
5868 normalize (name ),
5969 ):
6070 try :
61- metadata [key ] = db .get (name2 , key )
71+ my_metadata [key ] = db .get (name2 , key )
6272 break
6373 except (cp .NoSectionError , cp .NoOptionError ):
6474 pass
65- return metadata
75+ if my_metadata .get ('description' ) == '' and metadata : # nothing in package.ini
76+ try :
77+ my_metadata ['description' ]= (
78+ metadata (name )['Summary' ]+ '\n ' ).splitlines ()[0 ]
79+ except :
80+ pass
81+ return my_metadata
6682
6783
6884class BasePackage (object ):
0 commit comments