#!/usr/bin/env python
# Make xbmc library

import sys, os, re, glob

if len(sys.argv) < 3:
    print("usage: %s <source directory> <destination directory>" % sys.argv[0])
    sys.exit(1)

name_re = re.compile("([\w\.'&,\-]+)\.(\d+)\..*-(\w+)")
src_root = os.path.normpath(sys.argv[1])
dest_root = os.path.normpath(sys.argv[2])

if not os.path.isdir(src_root):
    print("%s is not a valid directory, abort." % src_root)
    sys.exit(1)

if not os.path.isdir(dest_root):
    try:
        os.mkdir(dest_root)
    except:
        print("Failed to create directory: %s" % dest_root)
        sys.exit(1)

for item in os.listdir(src_root):
    m = name_re.match(item)
    if m:
        title = m.group(1).replace(".", " ")
        title = title.replace("Pixars ", "")
        year = int(m.group(2))
        dest_dir_name = "%s (%d)" % (title, year)
        src_path = os.path.join(src_root, item)
        dest_path = os.path.join(dest_root, dest_dir_name)

        if not os.path.islink(dest_path):
            os.symlink(src_path, dest_path)
            print("%s -> '%s'" % (item, dest_path))
    else:
        print item

Shared with Droplr