def parse_message(message): tree = util.bytes_to_elementtree(message) root = tree.getroot() result = {} valid_elements = {"artist": parse_artist, "label": parse_label, "release": parse_release, "release-group": parse_release_group, "recording": parse_recording, "work": parse_work, "disc": parse_disc, "puid": parse_puid, "echoprint": parse_puid, "artist-list": parse_artist_list, "label-list": parse_label_list, "release-list": parse_release_list, "release-group-list": parse_release_group_list, "recording-list": parse_recording_list, "work-list": parse_work_list, "collection-list": parse_collection_list, "collection": parse_collection, "message": parse_response_message } result.update(parse_inner(valid_elements, root)) return result
def get_error_message(error): """ Given an error XML message from the webservice containing <error><text>x</text><text>y</text></error>, return a list of [x, y]""" try: tree = util.bytes_to_elementtree(error) root = tree.getroot() errors = [] if root.tag == "error": for ch in root: if ch.tag == "text": errors.append(ch.text) return errors except ET.ParseError: return None
def parse_message(message): tree = util.bytes_to_elementtree(message) root = tree.getroot() result = {} valid_elements = {"area": parse_area, "artist": parse_artist, "instrument": parse_instrument, "label": parse_label, "place": parse_place, "event": parse_event, "release": parse_release, "release-group": parse_release_group, "series": parse_series, "recording": parse_recording, "work": parse_work, "url": parse_url, "disc": parse_disc, "cdstub": parse_cdstub, "isrc": parse_isrc, "annotation-list": parse_annotation_list, "area-list": parse_area_list, "artist-list": parse_artist_list, "label-list": parse_label_list, "place-list": parse_place_list, "event-list": parse_event_list, "instrument-list": parse_instrument_list, "release-list": parse_release_list, "release-group-list": parse_release_group_list, "series-list": parse_series_list, "recording-list": parse_recording_list, "work-list": parse_work_list, "url-list": parse_url_list, "collection-list": parse_collection_list, "collection": parse_collection, "message": parse_response_message } result.update(parse_elements([], valid_elements, root)) return result
def parse_message(message): tree = util.bytes_to_elementtree(message) root = tree.getroot() result = {} valid_elements = {"area": parse_area, "artist": parse_artist, "label": parse_label, "place": parse_place, "event": parse_event, "release": parse_release, "release-group": parse_release_group, "series": parse_series, "recording": parse_recording, "work": parse_work, "url": parse_url, "disc": parse_disc, "cdstub": parse_cdstub, "isrc": parse_isrc, "annotation-list": parse_annotation_list, "area-list": parse_area_list, "artist-list": parse_artist_list, "label-list": parse_label_list, "place-list": parse_place_list, "event-list": parse_event_list, "release-list": parse_release_list, "release-group-list": parse_release_group_list, "series-list": parse_series_list, "recording-list": parse_recording_list, "work-list": parse_work_list, "url-list": parse_url_list, "collection-list": parse_collection_list, "collection": parse_collection, "message": parse_response_message } result.update(parse_elements([], valid_elements, root)) return result