def _complete_multipart_body(self, body):
    ps = minidom.parseString(body).getElementsByTagName('Part')
    prev = 0
    for p in ps:
        pn = int(p.getElementsByTagName('PartNumber')[0].firstChild.wholeText)
        if (pn <= prev):
            raise InvalidPartOrder()
        (yield (pn, p.getElementsByTagName('ETag')[0].firstChild.wholeText))
def _complete_multipart_body(self, body):
    ps = minidom.parseString(body).getElementsByTagName('Part')
    prev = 0
    for p in ps:
        pn = int(p.getElementsByTagName('PartNumber')[0].firstChild.wholeText)
        if (pn <= prev):
            raise InvalidPartOrder()
        (yield (pn, p.getElementsByTagName('ETag')[0].firstChild.wholeText))