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

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

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=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