示例#1
0
 def write_info(self):
     """Write picasa album names and star rating to photo's IPTC keywords."""
     for photo, info in self.photos.items():
         photo = IPTCInfo(photo, force=True)
         if "albums" in info:
             photo.keywords = list(set(photo.keywords + info["albums"]))
         print "Write: {}".format(photo.keywords)
         photo.save()
示例#2
0
 def test_only_write_tags_once(self):
     labeler = FileLabeler()
     info = IPTCInfo(self.jpg_file, force=True)
     info.keywords = ('cat', 'mammal')
     info.save()
     os.remove('%s~' % self.jpg_file)
     labeler.label(self.jpg_file, (u'cat', u'mammal'))
     info = IPTCInfo(self.jpg_file)
     self.assertEqual(info.keywords, ['cat', 'mammal'])
示例#3
0
 def test_preserve_existing_labels(self):
     labeler = FileLabeler()
     info = IPTCInfo(self.jpg_file, force=True)
     info.keywords = ('cat', 'mammal')
     info.save()
     os.remove('%s~' % self.jpg_file)
     labeler.label(self.jpg_file, (u'dog', u'mammal'))
     info = IPTCInfo(self.jpg_file)
     self.assertEqual(info.keywords, ['cat', 'mammal', 'dog'])
 def write_info(self):
     """Write picasa album names and star rating to photo's IPTC keywords."""
     for filename, info in self.photos.items():
         photo = IPTCInfo(filename, force=True)
         if "albums" in info:
             photo.keywords = list(set(photo.keywords + info["albums"]))
         print "Writing {}: {}".format(filename, photo.keywords)
         try:
             photo.save()
         except:
             self.errors[filename] = sys.exc_info()[0]
示例#5
0
 def test_skip_already_tagged_files(self):
     file_walker = FileWalker(FileLabeler(), LabelServiceExecutor(TestServiceConnector()))
     os.makedirs('_testdir/2016/10')
     self._create_testfile('_testdir/2016/10/test1.jpg')
     os.makedirs('_testdir/2016/11')
     self._create_testfile('_testdir/2016/11/test2.jpg')
     info = IPTCInfo('_testdir/2016/11/test2.jpg', force=True)
     info.keywords = ('already', 'tagged')
     info.data[TAGGED_PHOTO_KEY] = TAGGED_PHOTO_LABEL
     info.save()
     file_walker.walk_and_tag('_testdir/2016')
     self.assertEqual(IPTCInfo('_testdir/2016/10/test1.jpg').keywords,
                      ['cat', 'mammal', 'vertebrate', 'whiskers', 'animal'])
     self.assertEqual(IPTCInfo('_testdir/2016/11/test2.jpg').keywords, ['already', 'tagged'])
示例#6
0
#!/usr/bin/env python
# :mode=python:encoding=utf-8
# -*- coding: utf-8 -*-

import sys
sys.path.insert(0, '.')
from iptcinfo import IPTCInfo, LOG, LOGDBG

if __name__ == '__main__':
    import logging
    logging.basicConfig(level=logging.DEBUG)
    LOGDBG.setLevel(logging.DEBUG)
    if len(sys.argv) > 1:
        info = IPTCInfo(sys.argv[1], True)
        info.keywords = ['test']
        info.supplementalCategories = []
        info.contacts = []
        print("info = %s\n%s" % (info, "=" * 30), file=sys.stderr)
        info.save()
示例#7
0
 def test_write_keywords(self):
     info = IPTCInfo(self.jpg_file, force=True)
     info.keywords = ('A', 'B')
     info.save()
     info = IPTCInfo(self.jpg_file)
     self.assertEqual(info.keywords, ['A', 'B'])
示例#8
0
#!/usr/bin/env python
# :mode=python:encoding=ISO-8859-2:
# -*- coding: utf-8 -*-
# Author: 2004 Gulácsi Tamás

import sys
sys.path.insert(0, '.')
from iptcinfo import IPTCInfo, LOG, LOGDBG

if __name__ == '__main__':
    import logging
    logging.basicConfig(level=logging.DEBUG)
    LOGDBG.setLevel(logging.DEBUG)
    if len(sys.argv) > 1:
        info = IPTCInfo(sys.argv[1], True)
        info.keywords = [u'test']
        info.supplementalCategories = []
        info.contacts = []
        print >> sys.stderr, "info = %s\n%s" % (info, "=" * 30)
        info.save()