With a dictionary that represents a queue entry, update the queue entry with
    the values

def updateQueue(destinationRoot, queueDict, debug=False):
    """
    With a dictionary that represents a queue entry, update the queue entry with
    the values
    """

    attrDict = bagatom.AttrDict(queueDict)
    url = urlparse.urljoin(destinationRoot, "APP/queue/" + attrDict.ark + "/")
    queueXML = bagatom.queueEntryToXML(attrDict)
    urlID = os.path.join(destinationRoot, attrDict.ark)
    uploadXML = bagatom.wrapAtom(queueXML, id=urlID, title=attrDict.ark)
    uploadXMLText = '<?xml version="1.0"?>\n' + etree.tostring(
        uploadXML, pretty_print=True
    )
    if debug:
        print "Sending XML to %s" % url
        print uploadXMLText
    try:
        response, content = doWebRequest(url, "PUT", data=uploadXMLText)
    except:
        # Sleep a few minutes then give it a second shot before dying
        time.sleep(300)
        response, content = doWebRequest(url, "PUT", data=uploadXMLText)
    if response.getcode() != 200:
        raise Exception(
            "Error updating queue %s to url %s.  Response code is %s\n%s" %
            (attrDict.ark, url, response.getcode(), content)
        )