import errno
import glob
import os
import shutil

from optparse import make_option

from django.conf import settings
from django.core.management.base import BaseCommand


def copy(src, dest):
    if not os.path.exists(os.path.dirname(dest)):
        os.makedirs(os.path.dirname(dest))
    try:
        shutil.copytree(src, dest)
    except OSError as e:
        # If the error was caused because the source wasn't a directory
        if e.errno == errno.ENOTDIR:
            shutil.copy(src, dest)
        else:
            print('Directory not copied. Error: %s' % e)


class Command(BaseCommand):

    option_list = BaseCommand.option_list + (
        make_option(
            "--path",
            type="string",
            dest="path",
            help="a glob wildcard to copy templates from"
        ),
    )

    def handle(self, *args, **options):
        path = options["path"]
        base = os.path.join(os.path.dirname(__file__), "../../templates")
        dest = os.path.join(settings.PACKAGE_ROOT, "templates")
        for f in glob.glob(os.path.join(base, path)):
            print f.replace(base, dest)
            copy(f, f.replace(base, dest))

import errno
import glob
import os
import shutil

from optparse import make_option

from django.conf import settings
from django.core.management.base import BaseCommand


def copy(src, dest):
    if not os.path.exists(os.path.dirname(dest)):
        os.makedirs(os.path.dirname(dest))
    try:
        shutil.copytree(src, dest)
    except OSError as e:
        # If the error was caused because the source wasn't a directory
        if e.errno == errno.ENOTDIR:
            shutil.copy(src, dest)
        else:
            print('Directory not copied. Error: %s' % e)


class Command(BaseCommand):

    option_list = BaseCommand.option_list + (
        make_option(
            "--path",
            type="string",
            dest="path",
            help="a glob wildcard to copy templates from"
        ),
    )

    def handle(self, *args, **options):
        path = options["path"]
        base = os.path.join(os.path.dirname(__file__), "../../templates")
        dest = os.path.join(settings.PACKAGE_ROOT, "templates")
        for f in glob.glob(os.path.join(base, path)):
            print(f.replace(base, dest))
            copy(f, f.replace(base, dest))

Fix print for python 3
Fix print for python 3

Fix print statement in copy_from_theme management command.