def suck_out_editions(reporters):
    """Builds a dictionary mapping edition keys to their root name.

    The dictionary takes the form of:
        {
         "A.":   "A.",
         "A.2d": "A.",
         "A.3d": "A.",
         "A.D.": "A.D.",
         ...
        }

    In other words, this lets you go from an edition match to its parent key.
    """
    editions_out = {}
    for reporter_key, data_list in reporters.items():
        for data in data_list:
            for edition_key, edition_value in data['editions'].items():
                try:
                    editions_out[edition_key]
                except KeyError:
                    editions_out[edition_key] = reporter_key
    return editions_out
