code: def _parse_term(_rawterms):
          
          line = yield
          _rawterms.append(collections.defaultdict(list))
          while True:
              line = yield
              if "[Term]" in line:
                  _rawterms.append(collections.defaultdict(list))
              else:
                  key, value = line.split(':', 1)
                  _rawterms[-1][key.strip()].append(value.strip())
docs: Parse a term line.
  
          The term is organized as a succesion of ``key:value`` pairs
          that are extracted into the same dictionnary until a new
          header is encountered
  
          Arguments:
              line (str): the line containing a term statement