'Execute the command'

def handle(self, *args, **options):

    if (len(args) != 2):
        raise CommandError('clone    requires    2    arguments:    <source-course_id>    <dest-course_id>')
    source_course_id = self.course_key_from_arg(args[0])
    dest_course_id = self.course_key_from_arg(args[1])
    mstore = modulestore()
    print 'Cloning    course    {0}    to    {1}'.format(source_course_id, dest_course_id)
    with mstore.bulk_operations(dest_course_id):
        if mstore.clone_course(source_course_id, dest_course_id, ModuleStoreEnum.UserID.mgmt_command):
            print 'copying    User    permissions...'
            CourseInstructorRole(dest_course_id).add_users(*CourseInstructorRole(source_course_id).users_with_role())
            CourseStaffRole(dest_course_id).add_users(*CourseStaffRole(source_course_id).users_with_role())
