]> git.madduck.net Git - etc/vim.git/commitdiff

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Add blackd to nicely exit if missing aiohttp deps (#1761)
authorCooper Lees <me@cooperlees.com>
Tue, 13 Oct 2020 05:03:00 +0000 (22:03 -0700)
committerGitHub <noreply@github.com>
Tue, 13 Oct 2020 05:03:00 +0000 (07:03 +0200)
- If no aiohttp* deps exist nicely print a helpful message and exit
- There seems to be no nice way to optionally install the entry point, so lets make the entry point nicer

Test:
```
cooper-mbp1:black cooper$ /tmp/tb/bin/pip install .
cooper-mbp1:black cooper$ /tmp/tb/bin/blackd
aiohttp dependency is not installed: No module named 'aiohttp'. Please re-install black with the '[d]' extra install  to obtain aiohttp_cors: `pip install black[d]`
cooper-mbp1:black cooper$ /tmp/tb/bin/pip install .[d]
...
Successfully installed aiohttp-3.6.3 aiohttp-cors-0.7.0 black
cooper-mbp1:black cooper$ /tmp/tb/bin/blackd
blackd version 20.8b2.dev31+gdd2f86a.d20201013 listening on localhost port 45484
```

Fixes #1688

src/blackd/__init__.py

index d79bfe75bc2f8c7b419668e8cf10f28e432362c9..f77a5e8e7be49c0a5b881e22fe4401b5a36f221e 100644 (file)
@@ -1,13 +1,24 @@
 import asyncio
+import logging
+import sys
 from concurrent.futures import Executor, ProcessPoolExecutor
 from datetime import datetime
 from functools import partial
-import logging
 from multiprocessing import freeze_support
 from typing import Set, Tuple
 
-from aiohttp import web
-import aiohttp_cors
+try:
+    from aiohttp import web
+    import aiohttp_cors
+except ImportError as ie:
+    print(
+        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)
+
 import black
 import click