summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pypaste/server/__init__.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/pypaste/server/__init__.py b/pypaste/server/__init__.py
index 67f8771..1c13960 100644
--- a/pypaste/server/__init__.py
+++ b/pypaste/server/__init__.py
@@ -190,7 +190,14 @@ class App:
text="content must be unicode only, no binary data is allowed"
)
- key = generate_key(self.config.dictionary, self.config.key_length)
+ try:
+ while await self.storage.exists(
+ (key := generate_key(self.config.dictionary, self.config.key_length))
+ ):
+ pass
+ except Exception as e:
+ log_error(str(e))
+ return web.HTTPInternalServerError()
try:
paste = Paste(key, datetime.now(), syntax, text)