def extreu_metadades(nom_fitxer):
    with open(nom_fitxer, 'r') as f:
        metadades = {}
        for linia in f:
            es_meta, clau, valor = analitza_linia_metadada(linia)
            if not es_meta:
                break
            metadades[clau] = valor
    return metadades


def analitza_linia_metadada(linia):
    linia_s = linia.strip()
    linia_parts = linia.split(':', maxsplit=2)
    e = linia_s.startswith(':') and len(linia_parts) == 3
    if e:
        c, v = linia_parts[1:]
    else:
        c, v = '', ''
    return e, c.strip(), v.strip()
