class XMPEmbedderImpl: def __init__(self): self._fc = Storage() def metadata_synch(self, component_id, changes): # get xmp # the filename is needed because the extension is unknown, the following line of code is # tmp code because c.ID will include extension file (not only basename) # in the new MediaDART release #print 'MediaDART resource path: ', md_res_path try: myxmpfilename = str(self._fc.abspath(component_id)) except Exception, err: print '\n found some problems getting filename, err: ', err, '\n' xmpfile = XMPFiles(file_path=myxmpfilename, open_forupdate=files.XMP_OPEN_FORUPDATE) xmp = xmpfile.get_xmp() if not xmp: xmp = XMPMeta() for ns in changes.keys(): #print 'Property ', str(i[0]),':', str(i[1]) # first of all check if namespace str(i[0]) and property name str(i[1]) exist prefix = None try: prefix = xmp.get_prefix_for_namespace(str(ns)) except XMPError, err: print 'Error in get_prefix_for_namespace: ', err if prefix == None: #print 'prefix ', prefix[:-1] , ' does not exist.' try: log.debug('%s %s' % (str(ns), str(changes[ns]['prefix']))) res = xmp.register_namespace( str(ns), str(changes[ns]['prefix'])) # CHANGE ME #print 'register_namespace gave res = ', res except XMPError, err: print 'Error in register_namespace: ', err
class XMPEmbedderImpl: def __init__(self): self._fc = Storage() def metadata_synch(self, component_id, changes): # get xmp # the filename is needed because the extension is unknown, the following line of code is # tmp code because c.ID will include extension file (not only basename) # in the new MediaDART release # print 'MediaDART resource path: ', md_res_path try: myxmpfilename = str(self._fc.abspath(component_id)) except Exception, err: print "\n found some problems getting filename, err: ", err, "\n" xmpfile = XMPFiles(file_path=myxmpfilename, open_forupdate=files.XMP_OPEN_FORUPDATE) xmp = xmpfile.get_xmp() if not xmp: xmp = XMPMeta() for ns in changes.keys(): # print 'Property ', str(i[0]),':', str(i[1]) # first of all check if namespace str(i[0]) and property name str(i[1]) exist prefix = None try: prefix = xmp.get_prefix_for_namespace(str(ns)) except XMPError, err: print "Error in get_prefix_for_namespace: ", err if prefix == None: # print 'prefix ', prefix[:-1] , ' does not exist.' try: log.debug("%s %s" % (str(ns), str(changes[ns]["prefix"]))) res = xmp.register_namespace(str(ns), str(changes[ns]["prefix"])) # CHANGE ME # print 'register_namespace gave res = ', res except XMPError, err: print "Error in register_namespace: ", err