Skip to content

Commit 51fd4e8

Browse files
make sure that random slugs are unique (#454)
* make sure that random slugs are unique * prevent busy-looping
1 parent 7963d80 commit 51fd4e8

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

interop.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import json
22
import logging
33
import os
4-
from random_slugs import generate_slug
4+
from unique_random_slugs import generate_slug
55
import re
66
import shutil
77
import statistics

testcases.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import logging
44
import os
55
import random
6-
from random_slugs import generate_slug
6+
from unique_random_slugs import generate_slug
77
import re
88
import shutil
99
import string

unique_random_slugs.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
from random_slugs import generate_slug as original_generate_slug
2+
3+
_used_slugs = set()
4+
5+
6+
def generate_slug():
7+
for _ in range(100000):
8+
slug = original_generate_slug()
9+
if slug not in _used_slugs:
10+
_used_slugs.add(slug)
11+
return slug
12+
raise ValueError("Unable to generate unique slug after 100k attempts")

0 commit comments

Comments
 (0)