示例#1
0
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
示例#2
0
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