Skip to content

Instantly share code, notes, and snippets.

@shanecandoit
Created March 26, 2024 21:27
Show Gist options
  • Save shanecandoit/7fa3db4f5bd60f82af396f8845af508e to your computer and use it in GitHub Desktop.
Save shanecandoit/7fa3db4f5bd60f82af396f8845af508e to your computer and use it in GitHub Desktop.
import random
import string
def generate_slug(pattern='cvccvc-cvccvc-xxxxxx-cvccvc-000'):
""" Return something like 'pevqak-jaxkev-evryfd-IGyv-45v94'
given a pattern like: 'cvccvc-cvccvc-xxxxxx-XXxx-00x00'
"""
vowels = 'aeiou'
consonants = 'bcdfghjklmnpqrstvwxyz'
numbers = '0123456789'
slug = ''
for i in range(len(pattern)):
if pattern[i] =='v':
slug += random.choice(vowels)
elif pattern[i] =='c':
slug += random.choice(consonants)
elif pattern[i] =='-':
slug += '-'
elif pattern[i] =='x' or pattern[i] in string.ascii_lowercase:
slug += random.choice(string.ascii_lowercase)
elif pattern[i] =='X' or pattern[i] in string.ascii_uppercase:
slug += random.choice(string.ascii_uppercase)
elif pattern[i] =='n' or pattern[i] in numbers:
slug += random.choice(numbers)
return slug
if __name__ == '__main__':
for i in range(10):
print(generate_slug())
"""
qamfog-lumhoc-kczcft-fupcah-076
muqsig-qenjow-ezrzfz-pelwac-646
kawsis-zajziw-ldkimx-vaxcen-425
werkab-kendum-opgbvg-nahron-742
miqmud-xelmey-bfcbnn-duvqov-943
dubbug-qeqvoz-zqkdne-zavhat-141
xalfiq-jewmal-alhrne-lojcaz-550
fayhuk-muchal-ecdmzd-lofbim-492
rorlif-jamboq-chscya-xeywiy-764
ziqhig-jabyej-elezvw-huwgad-220
"""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment