Search code examples
pythonjqueryodoo

Trying to get the input data in xml and returns TypeError: 'NoneType' object has no attribute '__getitem__'


please tell me what did I do wrong? But it is successfully created a data in javascript but I always get this error in python:

getVals = list([val for val in partner_name[:25] if val.isalnum()]) #limit the domain to 12 chars only TypeError: 'NoneType' object has no attribute '__getitem__'

def get_db_name(partner_name):
    getVals = list([val for val in partner_name[:25] if val.isalnum()]) #limit the domain to 12 chars only
    result = "".join(getVals).lower()
    if len(result) >= 3:
        return result
    else:
        result = get_random_string(5)
        return result

$(function()
    {
        $("#start_trial").click(function()
        {
            var db_name = $('input').attr('name', 'partner_name').val();

            session.rpc('/saas/createdb', 
            {
                db_name: db_name,
            }).then(function (result) 
            {
                    console.log('DB name ', db_name)
                    console.log("Database created successfully")
                    $("div.spanner-one").addClass("show");
                    $("div.overlay").addClass("show");
                    $("p.one").addClass("show").fadeOut(5000);      
            });
         }
     });


Solution

  • the error is likely coming from your partner_name variable, so you need to put a check on it:

    def get_db_name(partner_name):
        result = ''
        if partner_name:
            getVals = list([val for val in partner_name[:25] if val.isalnum()]) #limit the domain to 12 chars only
            result = "".join(getVals).lower()
    
        if len(result) >= 3:
            return result
        else:
            result = get_random_string(5)
            return result