#!/usr/bin/env python # # mpfextract.py: A script to extract clipart files from Microsoft Office Clipart Manager # clipart packages. # Written by DarkWyrm # Licensed under the GPL import base64, sys, os import xml.dom.minidom def ExtractMPF(filename, path): fileHandle = open(filename) doc = xml.dom.minidom.parse(fileHandle) if path != '.': os.chdir(path) filenameList = doc.getElementsByTagName('C:filepath') filedataList = doc.getElementsByTagName('C:contents') for i in range(0,filenameList.length): name = filenameList[i].firstChild.data encodedData = filedataList[i].firstChild.data decodedData = base64.b64decode(encodedData) outfileHandle = open(name,'w') outfileHandle.write(decodedData) outfileHandle.close() def main(): args = sys.argv[1:] argcount = len(args) infile = 'ClipArt.mpf' if argcount < 1 or argcount > 2: print 'usage: mpfextract.py infile.mpf [outfolder]\n' print 'defaulting to extracting ClipArt.mpf to the current folder.' else: infile = args[0] outfolder = '.' if argcount == 2: outfolder = args[1] ExtractMPF(infile,outfolder) if __name__ == '__main__': main()