Unverified Commit 0969ca4a authored by erykoff's avatar erykoff Committed by GitHub
Browse files

Change sys.exit to raise ImportError (#2440)



The fix for #1688 in #1761 breaks help("modules") introspection and also leads
to unhappy results when inadvertently importing blackd from Python. Basically
the sys.exit(-1) causes the whole Python REPL to exit -- not great to suffice.

Commit history before merge:

* Change sys.exit to Raise.
* Add #2440 to changelog.
* Fix lint error from prettier
* Remove exception chain for more helpful user message.

Co-authored-by: default avatarRichard Si <63936253+ichard26@users.noreply.github.com>
parent b97a4ac4
Loading
Loading
Loading
Loading
+4 −0
Changes for CHANGES.md: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -10,6 +10,10 @@
- The failsafe for accidentally added backslashes in f-string expressions has been
  hardened to handle more edge cases during quote normalization (#2437)

### _Blackd_

- Replace sys.exit(-1) with raise ImportError (#2440)

### Integrations

- The provided pre-commit hooks no longer specify `language_version` to avoid overriding
+3 −6
Changes for src/blackd/__init__.py: 3 added lines, 6 removed lines.
Original line number Diff line number Diff line
import asyncio
import logging
import sys
from concurrent.futures import Executor, ProcessPoolExecutor
from datetime import datetime
from functools import partial
@@ -11,13 +10,11 @@
    from aiohttp import web
    import aiohttp_cors
except ImportError as ie:
    print(
    raise ImportError(
        f"aiohttp dependency is not installed: {ie}. "
        + "Please re-install black with the '[d]' extra install "
        + "to obtain aiohttp_cors: `pip install black[d]`",
        file=sys.stderr,
    )
    sys.exit(-1)
        + "to obtain aiohttp_cors: `pip install black[d]`"
    ) from None

import black
from black.concurrency import maybe_install_uvloop