Skip to content

Commit 87f5fce

Browse files
authored
Merge pull request #1639 from stonebig/master
wppm -md -ws . will compare Installed package to WheelHouse packages
2 parents 6395528 + cb85466 commit 87f5fce

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

winpython/wppm.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import json
1515
from pathlib import Path
1616
from argparse import ArgumentParser, RawTextHelpFormatter
17-
from . import utils, piptree, associate
17+
from . import utils, piptree, associate, diff
1818
from . import wheelhouse as wh
1919
from operator import itemgetter
2020
# Workaround for installing PyVISA on Windows from source:
@@ -80,10 +80,10 @@ def render_markdown_for_list(self, title, items):
8080
return md
8181

8282
def generate_package_index_markdown(self, python_executable_directory: str|None = None, winpyver2: str|None = None,
83-
flavor: str|None = None, architecture_bits: int|None = None, release_level: str|None = None) -> str:
83+
flavor: str|None = None, architecture_bits: int|None = None
84+
, release_level: str|None = None, wheeldir: str|None = None) -> str:
8485
"""Generates a Markdown formatted package index page."""
8586
my_ver , my_arch = utils.get_python_infos(python_executable_directory or self.target)
86-
# suppose we suite ourself (method will vary over time)
8787
my_winpyver2 = winpyver2 or os.getenv("WINPYVER2","")
8888
my_winpyver2 = my_winpyver2 if my_winpyver2 != "" else my_ver
8989
my_flavor = flavor or os.getenv("WINPYFLAVOR", "")
@@ -92,10 +92,10 @@ def generate_package_index_markdown(self, python_executable_directory: str|None
9292
tools_list = utils.get_installed_tools(utils.get_python_executable(python_executable_directory))
9393
package_list = [(pkg.name, pkg.url, pkg.version, pkg.description) for pkg in self.get_installed_packages()]
9494
wheelhouse_list = []
95-
wheeldir = self.wheelhouse / 'included.wheels'
96-
if wheeldir.is_dir():
95+
my_wheeldir = Path(wheeldir) if wheeldir else self.wheelhouse / 'included.wheels'
96+
if my_wheeldir.is_dir():
9797
wheelhouse_list = [(name, f"https://pypi.org/project/{name}", version, summary)
98-
for name, version, summary in wh.list_packages_with_metadata(str(wheeldir)) ]
98+
for name, version, summary in wh.list_packages_with_metadata(str(my_wheeldir)) ]
9999

100100
return f"""## WinPython {my_winpyver2 + my_flavor}
101101
@@ -366,7 +366,12 @@ def main(test=False):
366366
p = subprocess.Popen(["start", "cmd", "/k",dist.python_exe, "-c" , cmd_mov], shell = True, cwd=dist.target)
367367
sys.exit()
368368
if args.markdown:
369-
print(dist.generate_package_index_markdown())
369+
default = dist.generate_package_index_markdown()
370+
if args.wheelsource:
371+
compare = dist.generate_package_index_markdown(wheeldir = args.wheelsource)
372+
print(diff.compare_markdown_sections(default, compare,'python', 'wheelhouse', 'installed', 'wheelhouse'))
373+
else:
374+
print(default)
370375
sys.exit()
371376
if not args.install and not args.uninstall and args.fname.endswith(".toml"):
372377
args.install = True # for Drag & Drop of .toml (and not wheel)

0 commit comments

Comments
 (0)