import random

from web_application.models import User


def generate_password():
    lc = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z".split(",")
    uc = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z".split(",")
    num = "0,1,2,3,4,5,6,7,8,9".split(",")
    sc = "!,@,#,$,%,^,&,*,(,)".split(",")

    selected_chars = (
        random.sample(lc, k=3)
        + random.sample(uc, k=3)
        + random.sample(num, k=2)
        + random.sample(sc, k=2)
    )
    random.shuffle(selected_chars)
    return "".join(selected_chars)
