mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-24 01:08:10 +02:00
Use "with suppress()" to suppress python exceptions
Using
```Python
with suppress(OSError):
os.remove('somefile.tmp')
```
instead of
```Python
try:
os.remove('somefile.tmp')
except OSError:
pass
```
makes the code more compact and more readable IMO.
This pattern was recommended by Raymond Hettinger, a Python Core
Developer in his talk "Transforming Code into Beautiful, Idiomatic Python" at https://www.youtube.com/watch?v=OSGv2VnC0go. The transcript is available at https://github.com/JeffPaine/beautiful_idiomatic_python
This commit is contained in:
@@ -8,6 +8,7 @@ import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
from contextlib import suppress
|
||||
|
||||
if False:
|
||||
tarball = sys.argv[-1]
|
||||
@@ -16,14 +17,10 @@ if False:
|
||||
os.makedirs(dest)
|
||||
os.chdir(dest)
|
||||
dest = os.path.expanduser('~/.local/bin/kitty')
|
||||
try:
|
||||
with suppress(EnvironmentError):
|
||||
os.remove(dest)
|
||||
except EnvironmentError:
|
||||
pass
|
||||
try:
|
||||
with suppress(EnvironmentError):
|
||||
os.makedirs(os.path.dirname(dest))
|
||||
except EnvironmentError:
|
||||
pass
|
||||
subprocess.check_call(['tar', 'xJf', tarball])
|
||||
os.symlink(os.path.abspath('bin/kitty'), dest)
|
||||
print('kitty installed to ~/.local/kitty.app')
|
||||
|
||||
Reference in New Issue
Block a user