(cls, hr_name, max_length=25)
return name
Generate a URL-friendly name based on a given human-readable name.
        Normalizes given name, then looks for conflicting domains, addressing
        conflicts by adding "-1", "-2", etc. May return None if it fails to
        generate a new, unique name. Throws exception if it can't figure out
        a name, which shouldn't happen unless max_length is absurdly short.
Generate a URL-friendly name based on a given human-readable name.
        Normalizes given name, then looks for conflicting domains, addressing
        conflicts by adding "-1", "-2", etc. May return None if it fails to
        generate a new, unique name. Throws exception if it can't figure out
        a name, which shouldn't happen unless max_length is absurdly short.
Generate a URL - friendly name based on a given human - readable name . Normalizes given name then looks for conflicting domains addressing conflicts by adding - 1 - 2 etc . May return None if it fails to generate a new unique name . Throws exception if it can t figure out a name which shouldn t happen unless max_length is absurdly short .
def generate_name(cls, hr_name, max_length=25):
        '''
        Generate a URL-friendly name based on a given human-readable name.
        Normalizes given name, then looks for conflicting domains, addressing
        conflicts by adding "-1", "-2", etc. May return None if it fails to
        generate a new, unique name. Throws exception if it can't figure out
        a name, which shouldn't happen unless max_length is absurdly short.
        '''
        from corehq.apps.domain.utils import get_domain_url_slug
        from corehq.apps.domain.dbaccessors import domain_or_deleted_domain_exists
        name = get_domain_url_slug(hr_name, max_length=max_length)
        if not name:
            raise NameUnavailableException
        if domain_or_deleted_domain_exists(name):
            prefix = name
            while len(prefix):
                name = next_available_name(prefix, Domain.get_names_by_prefix(prefix + '-'))
                if domain_or_deleted_domain_exists(name):
                    # should never happen
                    raise NameUnavailableException
                if len(name) <= max_length:
                    return name
                prefix = prefix[:-1]
            raise NameUnavailableException

        return name
def generate_name ( cls , hr_name , max_length = 25 ) : from corehq . apps . domain . utils import get_domain_url_slug from corehq . apps . domain . dbaccessors import domain_or_deleted_domain_exists name = get_domain_url_slug ( hr_name , max_length = max_length ) if not name : raise NameUnavailableException if domain_or_deleted_domain_exists ( name ) : prefix = name while len ( prefix ) : name = next_available_name ( prefix , Domain . get_names_by_prefix ( prefix + '-' ) ) if domain_or_deleted_domain_exists ( name ) : # should never happen raise NameUnavailableException if len ( name ) <= max_length : return name prefix = prefix [ : - 1 ] raise NameUnavailableException return name