Returns molecules generated from sdfile text

    Throws:
        StopIteration: if the text does not have molecule
        ValueError: if Unsupported symbol is found

def mols_from_text(text, no_halt=True, assign_descriptors=True):
    """Returns molecules generated from sdfile text

    Throws:
        StopIteration: if the text does not have molecule
        ValueError: if Unsupported symbol is found
    """
    if isinstance(text, bytes):
        t = tx.decode(text)
    else:
        t = text
    # Lazy line splitter. More efficient memory usage than str.split.
    exp = re.compile(r"[^\n]*\n|.")
    sp = (x.group(0) for x in re.finditer(exp, t))
    for c in mol_supplier(sp, no_halt, assign_descriptors):
        yield c