Example #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'))
    )
Example #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 ' - ')
Example #3
0
def auto(directory):
    print "Removing rubbish..."
    rubbish_names = re.split(r'[,\s]+', config.get('general', 'rubbish'))
    for filename in list_files(directory):
        basename = os.path.basename(filename)
        if basename in rubbish_names:
            print u'RUBBISH: {0}'.format(basename)
            to_trash(filename)

    print "Fixing filenames..."
    names_fix(directory)

    print "Sorting filenames..."
    names_sort(directory)

    print "Fixing captions..."

    captions_fix(directory)
    convert(directory)
Example #4
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)
Example #5
0
def convert_mov(directory):
    for filename in list_files(directory, exts=['mov']):
        convert_multimedia(filename)