8000 tweak further --register and --unregister messages · winpython/winpython@8afdf92 · GitHub
[go: up one dir, main page]

Skip to content

Commit 8afdf92

Browse files
committed
tweak further --register and --unregister messages
1 parent 72eb75e commit 8afdf92

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

winpython/associate.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import os
1515
from pathlib import Path
1616
import platform
17+
import importlib
1718

1819
# import subprocess
1920

@@ -75,7 +76,8 @@ def register(target, current=True, verbose=True):
7576
root = winreg.HKEY_CURRENT_USER if current else winreg.HKEY_LOCAL_MACHINE
7677

7778
# Creating Registry entries
78-
print(f'Creating WinPython registry entries for {target}')
79+
if verbose:
80+
print(f'Creating WinPython registry entries for {target}')
7981
# Extensions
8082
winreg.SetValueEx(
8183
winreg.CreateKey(root, KEY_C % ".py"),
@@ -335,15 +337,20 @@ def register(target, current=True, verbose=True):
335337
)
336338

337339
# Create start menu entries for all WinPython launchers
338-
print(f'Creating WinPython menu for all icons in {target}')
340+
spec = importlib.util.find_spec('pythoncom')
341+
if verbose and spec is None:
342+
print(f"Can't create WinPython menu as pywin32 package is not installed")
343+
if verbose and spec is not None:
344+
print(f'Creating WinPython menu for all icons in {target}')
339345
for path, desc, fname in _get_shortcut_data(target, current=current):
340346
utils.create_shortcut(path, desc, fname, verbose=verbose)
341347

342348

343349
def unregister(target, current= 8000 True, verbose=True):
344350
"""Unregister a Python distribution in Windows registry"""
345351
# Removing Registry entries
346-
print(f'Removing WinPython registry entries for {target}')
352+
if verbose:
353+
print(f'Removing WinPython registry entries for {target}')
347354
root = winreg.HKEY_CURRENT_USER if current else winreg.HKEY_LOCAL_MACHINE
348355
short_version = utils.get_python_infos(target)[0]
349356
key_core = (KEY_S1 % short_version) + r"\%s"
@@ -406,7 +413,11 @@ def unregister(target, current=True, verbose=True):
406413
file=sys.stderr,
407414
)
408415
# remove menu shortcuts
409-
print(f'Removing WinPython menu for all icons in {target}')
416+
spec = importlib.util.find_spec('pythoncom')
417+
if verbose and spec is None:
418+
print(f"Can't remove WinPython menu as pywin32 package is not installed")
419+
if verbose and spec is not None:
420+
print(f'Removing WinPython menu for all icons in {target}')
410421
_remove_start_menu_folder(target, current=current)
411422

412423
#for path, desc, fname in _get_shortcut_data(target, current=current):

0 commit comments

Comments
 (0)
0