Coverage for sm/utils.py: 100%

11 statements  

« prev     ^ index     » next       coverage.py v7.17.0, created at 2026-10-24 19:06 +0000

1import hashlib 

2import random 

3import string 

4 

5 

6def get_email_hash(email): 

7 """ 

8 Returns MD5 hash of lowercase email for avatar services. 

9 """ 

10 if not email: 

11 return "00000000000000000000000000000000" 

12 return hashlib.md5(email.lower().encode("utf-8")).hexdigest() 

13 

14 

15def random_string(len=10): 

16 return "".join( 

17 random.SystemRandom().choice(string.ascii_lowercase + string.digits) 

18 for _ in range(10) 

19 ) 

20 

21 

22def random_number(start=0, end=10): 

23 return random.randint(start, end)