Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 57d9016

Browse files
committed
remove the need to update package.ini step1
we read the installed package metadata
1 parent 0ca066a commit 57d9016

File tree

1 file changed

+21
-5
lines changed

1 file changed

+21
-5
lines changed

winpython/wppm.py

+21-5
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,17 @@
2828
from argparse import ArgumentParser
2929
from 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:
3343
os.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

6884
class BasePackage(object):

0 commit comments

Comments
 (0)