コード例 #1
0
def share(directory):
    new_directory = dropbox_dir(directory)
    try:
        shutil.copytree(directory, new_directory)
    except OSError as e:
        if e.errno != 17:  # already exists
            raise

    for filename in list_files(new_directory):
        basename = os.path.basename(filename)

        meta = Metadata(filename)
        caption = meta.get('Headline', meta['Caption-Abstract'])
        caption = unicode(caption or config.get('dropbox', 'default_caption'))
        caption = caption.replace('/', '|')  # special character in UNIX fs

        base, ext = os.path.splitext(basename)
        new_basename = u"{name}:{padding}{caption}{padding}{ext}".format(
            name=base,
            caption=caption,
            ext=ext.lower(),
            padding=u'\xa0' * 10,
        )

        print u'{0} → {1}'.format(basename, new_basename)
        os.rename(filename, os.path.join(new_directory, new_basename))

    print 'https://www.dropbox.com/home/{}'.format(
        urllib.quote(dropbox_path(directory).encode('utf-8'))
    )
コード例 #2
0
def captions(directory):
    for filename in list_files(directory, exts=['jpg']):
        basename = os.path.basename(filename)

        meta = Metadata(filename)
        caption = meta.get('Headline', meta['Caption-Abstract'])

        print u'{0}: {1}'.format(basename, caption or ' - ')
コード例 #3
0
def captions_fix(directory):
    for filename in list_files(directory, exts=['jpg']):
        basename = os.path.basename(filename)

        meta = Metadata(filename)
        caption = meta.get('Headline', meta['Caption-Abstract'])
        caption = unicode(caption or '')

        if caption:
            old_caption = caption

            single_quoted = caption[0] in "'" and caption[-1] == "'"
            double_quoted = caption[0] in '"' and caption[-1] == '"'

            if single_quoted or double_quoted:
                caption = caption[1:-1]

            meta['Headline'] = caption
            del meta['Caption-Abstract']

            print u'{0}: {1} -> {2}'.format(basename, old_caption, caption)