<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def infer_namespace(ac):
 """Infer the single namespace of the given accession This function is convenience wrapper around infer_namespaces(). Returns: * None if no namespaces are inferred * The (single) namespace if only one namespace is inferred * Raises an exception if more than one namespace is inferred 'ensembl' 'refseq' 'uniprot' N.B. The following test is disabled because Python 2 and Python 3 handle doctest exceptions differently. :-( Traceback (most recent call last):
 bioutils.exceptions.BioutilsError: Multiple namespaces possible for P12345 True """


    namespaces = infer_namespaces(ac)
    if not namespaces:
        return None
    if len(namespaces) > 1:
        raise BioutilsError("Multiple namespaces possible for {}".format(ac))
    return namespaces[0]