aboutsummarybugs & patchesrefslogtreecommitdiffstats
path: root/src/discord_image_bridge
diff options
context:
space:
mode:
authorVosjedev <vosje@vosjedev.net>2026-01-25 11:50:21 +0100
committerVosjedev <vosje@vosjedev.net>2026-01-25 11:50:21 +0100
commit6c12b9b02bafe3f83d8b409b589ccd15de8bf0f2 (patch)
treeed0abb4acc555ca6c97994b4ddc86d367ba405cc /src/discord_image_bridge
parent643c54686e0ff37771dc1375c65925f2dc2367ea (diff)
downloaddiscord_image_bridge-6c12b9b02bafe3f83d8b409b589ccd15de8bf0f2.tar.gz
discord_image_bridge-6c12b9b02bafe3f83d8b409b589ccd15de8bf0f2.tar.bz2
discord_image_bridge-6c12b9b02bafe3f83d8b409b589ccd15de8bf0f2.tar.xz
use a try/catch for mkdir instead of an if block to avoid race conditions
Signed-off-by: Vosjedev <vosje@vosjedev.net>
Diffstat (limited to 'src/discord_image_bridge')
-rw-r--r--src/discord_image_bridge/utils.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/discord_image_bridge/utils.py b/src/discord_image_bridge/utils.py
index 1e013c1..79fd209 100644
--- a/src/discord_image_bridge/utils.py
+++ b/src/discord_image_bridge/utils.py
@@ -5,7 +5,6 @@ import requests
from hashlib import sha256 as do_hash
from . import discord
-from . import _values
from .downloadpool import DownloadPool
from . import fsmanager
@@ -18,8 +17,10 @@ def download_and_cache(url, filename):
try:
fname=fsmanager.hash2fname(hash)
dirname=os.path.dirname(fname)
- if not os.path.isdir(dirname):
+ try:
os.mkdir(dirname)
+ except FileExistsError:
+ pass
with fsmanager.DataFile(open(fname,'wb')) as fd:
fd.write(resp.content)