Exemplo n.º 1
0
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,
        "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,
        "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
Exemplo n.º 2
0
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,
                      "url": parse_url,

                      "disc": parse_disc,
                      "cdstub": parse_cdstub,
                      "puid": parse_puid,
                      "isrc": parse_puid,
                      "echoprint": parse_puid,

                      "annotation-list": parse_annotation_list,
                      "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
Exemplo n.º 3
0
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,
        "url": parse_url,
        "disc": parse_disc,
        "cdstub": parse_cdstub,
        "puid": parse_puid,
        "isrc": parse_puid,
        "echoprint": parse_puid,
        "annotation-list": parse_annotation_list,
        "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
Exemplo n.º 4
0
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,
        "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,
        "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
Exemplo n.º 5
0
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