human
Complete the below
@task(base=CourseImportTask, bind=True)
def import_olx(self, user_id, course_key_string, archive_path, archive_name, language):

    ''''Import a course or library from a provided OLX .tar.gz archive.'
    '''

=====
What is a the Python program you requested?
assistant
#Here is the Python program you requested.
    courselike_key = CourseKey.from_string(course_key_string)
    try:
        user = User.objects.get(pk=user_id)
    except User.DoesNotExist:
        with respect_language(language):
            self.status.fail(_(u'Unknown    User    ID:    {0}').format(user_id))
        return
    if (not has_course_author_access(user, courselike_key)):
        with respect_language(language):
            self.status.fail(_(u'Permission    denied'))
        return
    is_library = isinstance(courselike_key, LibraryLocator)
    is_course = (not is_library)
    if is_library:
        root_name = LIBRARY_ROOT
        courselike_module = modulestore().get_library(courselike_key)
        import_func = import_library_from_xml
    else:
        root_name = COURSE_ROOT
        courselike_module = modulestore().get_course(courselike_key)
        import_func = import_course_from_xml
    data_root = path(settings.GITHUB_REPO_ROOT)
    subdir = base64.urlsafe_b64encode(repr(courselike_key))
    course_dir = (data_root / subdir)
    try:
        self.status.set_state(u'Unpacking')
        if (not archive_name.endswith(u'.tar.gz')):
            with respect_language(language):
                self.status.fail(_(u'We    only    support    uploading    a    .tar.gz    file.'))
                return
        temp_filepath = (course_dir / get_valid_filename(archive_name))
        if (not course_dir.isdir()):
            os.mkdir(course_dir)
        LOGGER.debug(u'importing    course    to    {0}'.format(temp_filepath))
        if (not course_import_export_storage.exists(archive_path)):
            LOGGER.info(u'Course    import    %s:    Uploaded    file    %s    not    found', courselike_key, archive_path)
            with respect_language(language):
                self.status.fail(_(u'Tar    file    not    found'))
            return
        with course_import_export_storage.open(archive_path, 'rb') as source:
            with open(temp_filepath, 'wb') as destination:
                def read_chunk():
                    '\n           ...