示例#1
0
文件: MHNT.py 项目: JeanFred/MHNT
    def handle_record(self, image):
        """Handle a record.

        Read metadata from IPTC fields, decodes latin-1 encoding.
        Return a new MHNTRecord

        """
        info = IPTCInfo(image)
        image_metadata = {}
        for key, value in info.getData().items():
            key = IPTCData.keyAsStr(key)
            try:
                image_metadata[key] = self.decode_strip_encode(value)
            except AttributeError:
                image_metadata[key] = [self.decode_strip_encode(x) for x in value]
        image_metadata['original_name'] = search_original_name(image_metadata['caption/abstract'])
        if 'headline' in image_metadata:
            image_metadata['title'] = image_metadata['headline']
        elif image_metadata['original_name']:
            image_metadata['title'] = image_metadata['original_name']
        else:
            image_metadata['title'] = "NONE"
        image_metadata['nonstandard_231'] = "REDACTED"
        return metadata.MetadataRecord(image, image_metadata)
示例#2
0
'''

for f in os.listdir('.'):
    try:
        for pic in os.listdir(f):
            if 'jpg' in str(pic).lower() or 'jpeg' in str(pic).lower() or 'gif' in str(pic).lower() or 'bmp' in str(pic).lower():
                i += 1
                #print f + '/' + pic
                iterPhoto = open(f + '/' + pic)
                try:
                    info = IPTCInfo(iterPhoto)
                except:
                    print "IPTC Error (not present)"
                if info:
                    try:
                        d = info.getData()['caption/abstract']
                    except:
                        print "IPTC, but no caption"
                        d = False
                    if d:
                        dStripped = ''.join(d.splitlines())
                        #print dStripped
                        i += 1
                        p = re.compile('<b>Car:</b><br>(.*?)<p>')
                        car = False
                        try:
                            car = p.match(dStripped).group(1)
                        except:
                            print "Could not determine model"
                        year = False
                        try: