Implement image.getxmp() similar to image.getexif(), that returns all embedded XMP meta data out of an image as XML
Something like:
def getxmp(self):
for segment, content in self.applist:
if segment == 'APP1':
marker, xmp_tags = content.rsplit(b'\x00', 1)
if marker == b'http://ns.adobe.com/xap/1.0/':
root = xml.etree.ElementTree.fromstring(xmp_tags)
return root
# Based off https://stackoverflow.com/a/32001778
FYI: This didn't work for me:
xmp_tags = self.info.get("XML:com.adobe.xmp")
I am sure this feature request has been asked before... but a search of 'XMP' in issues yielded nothing. Just asking for MVP, not write support, or tag comprehension.
XMP documentation:
Official: https://www.adobe.com/devnet/xmp.html
Helpful: https://exiftool.org/TagNames/XMP.html
Requesting output similar to the output of:
exiftool.exe -xmp:all -X image.jpg