当前位置: 首页>>代码示例>>Python>>正文


Python xml_exporter.export_to_xml函数代码示例

本文整理汇总了Python中xmodule.modulestore.xml_exporter.export_to_xml函数的典型用法代码示例。如果您正苦于以下问题:Python export_to_xml函数的具体用法?Python export_to_xml怎么用?Python export_to_xml使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了export_to_xml函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: generate_export_course

def generate_export_course(request, org, course, name):
    """
    This method will serialize out a course to a .tar.gz file which contains a XML-based representation of
    the course
    """
    location = get_location_and_verify_access(request, org, course, name)

    loc = Location(location)
    export_file = NamedTemporaryFile(prefix=name + '.', suffix=".tar.gz")

    root_dir = path(mkdtemp())

    # export out to a tempdir
    logging.debug('root = {0}'.format(root_dir))

    export_to_xml(modulestore('direct'), contentstore(), loc, root_dir, name, modulestore())

    logging.debug('tar file being generated at {0}'.format(export_file.name))
    tar_file = tarfile.open(name=export_file.name, mode='w:gz')
    tar_file.add(root_dir / name, arcname=name)
    tar_file.close()

    # remove temp dir
    shutil.rmtree(root_dir / name)

    wrapper = FileWrapper(export_file)
    response = HttpResponse(wrapper, content_type='application/x-tgz')
    response['Content-Disposition'] = 'attachment; filename=%s' % os.path.basename(export_file.name)
    response['Content-Length'] = os.path.getsize(export_file.name)
    return response
开发者ID:Mtax,项目名称:MHST2013-14,代码行数:30,代码来源:assets.py

示例2: generate_export_course

def generate_export_course(request, org, course, name):
    location = get_location_and_verify_access(request, org, course, name)

    loc = Location(location)
    export_file = NamedTemporaryFile(prefix=name + ".", suffix=".tar.gz")

    root_dir = path(mkdtemp())

    # export out to a tempdir

    logging.debug("root = {0}".format(root_dir))

    export_to_xml(modulestore("direct"), contentstore(), loc, root_dir, name, modulestore())
    # filename = root_dir / name + '.tar.gz'

    logging.debug("tar file being generated at {0}".format(export_file.name))
    tar_file = tarfile.open(name=export_file.name, mode="w:gz")
    tar_file.add(root_dir / name, arcname=name)
    tar_file.close()

    # remove temp dir
    shutil.rmtree(root_dir / name)

    wrapper = FileWrapper(export_file)
    response = HttpResponse(wrapper, content_type="application/x-tgz")
    response["Content-Disposition"] = "attachment; filename=%s" % os.path.basename(export_file.name)
    response["Content-Length"] = os.path.getsize(export_file.name)
    return response
开发者ID:juancamilom,项目名称:edx-platform,代码行数:28,代码来源:assets.py

示例3: test_round_trip

    def test_round_trip(self, source_builder, dest_builder, source_content_builder, dest_content_builder, course_data_name):

        # Construct the contentstore for storing the first import
        with source_content_builder.build() as source_content:
            # Construct the modulestore for storing the first import (using the previously created contentstore)
            with source_builder.build(source_content) as source_store:
                # Construct the contentstore for storing the second import
                with dest_content_builder.build() as dest_content:
                    # Construct the modulestore for storing the second import (using the second contentstore)
                    with dest_builder.build(dest_content) as dest_store:
                        source_course_key = source_store.make_course_key('source', 'course', 'key')
                        dest_course_key = dest_store.make_course_key('dest', 'course', 'key')

                        import_from_xml(
                            source_store,
                            'test_user',
                            'common/test/data',
                            course_dirs=[course_data_name],
                            static_content_store=source_content,
                            target_course_id=source_course_key,
                            create_new_course_if_not_present=True,
                        )

                        export_to_xml(
                            source_store,
                            source_content,
                            source_course_key,
                            self.export_dir,
                            'exported_course',
                        )

                        import_from_xml(
                            dest_store,
                            'test_user',
                            self.export_dir,
                            static_content_store=dest_content,
                            target_course_id=dest_course_key,
                            create_new_course_if_not_present=True,
                        )

                        self.exclude_field(None, 'wiki_slug')
                        self.exclude_field(None, 'xml_attributes')
                        self.ignore_asset_key('_id')
                        self.ignore_asset_key('uploadDate')
                        self.ignore_asset_key('content_son')
                        self.ignore_asset_key('thumbnail_location')

                        self.assertCoursesEqual(
                            source_store,
                            source_course_key,
                            dest_store,
                            dest_course_key,
                        )

                        self.assertAssetsEqual(
                            source_content,
                            source_course_key,
                            dest_content,
                            dest_course_key,
                        )
开发者ID:BenjiLee,项目名称:edx-platform,代码行数:60,代码来源:test_cross_modulestore_import_export.py

示例4: handle

    def handle(self, *args, **options):
        if len(args) != 1:
            raise CommandError("export requires one argument: <output path>")

        output_path = args[0]

        cs = contentstore()
        ms = modulestore("direct")
        root_dir = output_path
        courses = ms.get_courses()

        print "%d courses to export:" % len(courses)
        cids = [x.id for x in courses]
        print cids

        for course_id in cids:

            print "-" * 77
            print "Exporting course id = {0} to {1}".format(course_id, output_path)

            if 1:
                try:
                    location = CourseDescriptor.id_to_location(course_id)
                    course_dir = course_id.replace("/", "...")
                    export_to_xml(ms, cs, location, root_dir, course_dir, modulestore())
                except Exception as err:
                    print "=" * 30 + "> Oops, failed to export %s" % course_id
                    print "Error:"
                    print err
开发者ID:khanhnguyenngoc,项目名称:MHST2013-14,代码行数:29,代码来源:export_all_courses.py

示例5: handle

    def handle(self, *args, **options):
        "Execute the command"
        if len(args) != 1:
            raise CommandError("export requires one argument: <output path>")

        output_path = args[0]

        cs = contentstore()
        ms = modulestore('direct')
        root_dir = output_path
        courses = ms.get_courses()

        print("%d courses to export:" % len(courses))
        cids = [x.id for x in courses]
        print(cids)

        for course_id in cids:

            print("-"*77)
            print("Exporting course id = {0} to {1}".format(course_id, output_path))

            if 1:
                try:
                    course_dir = course_id.replace('/', '...')
                    export_to_xml(ms, cs, course_id, root_dir, course_dir, modulestore())
                except Exception as err:
                    print("="*30 + "> Oops, failed to export %s" % course_id)
                    print("Error:")
                    print(err)
开发者ID:1amongus,项目名称:edx-platform,代码行数:29,代码来源:export_all_courses.py

示例6: export_courses_to_output_path

def export_courses_to_output_path(output_path):
    """
    Export all courses to target directory and return the list of courses which failed to export
    """
    content_store = contentstore()
    module_store = modulestore()
    root_dir = output_path
    courses = module_store.get_courses()

    course_ids = [x.id for x in courses]
    failed_export_courses = []

    for course_id in course_ids:
        print(u"-" * 80)
        print(u"Exporting course id = {0} to {1}".format(course_id, output_path))
        try:
            course_dir = course_id.to_deprecated_string().replace('/', '...')
            export_to_xml(module_store, content_store, course_id, root_dir, course_dir)
        except Exception as err:  # pylint: disable=broad-except
            failed_export_courses.append(unicode(course_id))
            print(u"=" * 30 + u"> Oops, failed to export {0}".format(course_id))
            print(u"Error:")
            print(err)

    return courses, failed_export_courses
开发者ID:AdityaKashyap,项目名称:edx-platform,代码行数:25,代码来源:export_all_courses.py

示例7: export_course_to_directory

def export_course_to_directory(course_id, root_dir):
    """Export course into a directory"""
    store = modulestore()
    course = store.get_course(course_id)
    if course is None:
        raise CommandError("Invalid course_id")

    course_name = course.location.course_id.replace('/', '-')
    export_to_xml(store, None, course.location, root_dir, course_name)

    course_dir = path(root_dir) / course_name
    return course_dir
开发者ID:SarthakDev,项目名称:edx-platform,代码行数:12,代码来源:export_course.py

示例8: test_course_without_image

 def test_course_without_image(self):
     """
     Make sure we elegantly passover our code when there isn't a static
     image
     """
     course = self.draft_store.get_course(SlashSeparatedCourseKey('edX', 'simple_with_draft', '2012_Fall'))
     root_dir = path(mkdtemp())
     try:
         export_to_xml(self.draft_store, self.content_store, course.id, root_dir, 'test_export')
         assert_false(path(root_dir / 'test_export/static/images/course_image.jpg').isfile())
         assert_false(path(root_dir / 'test_export/static/images_course_image.jpg').isfile())
     finally:
         shutil.rmtree(root_dir)
开发者ID:UXE,项目名称:edx-platform,代码行数:13,代码来源:test_mongo.py

示例9: test_course_without_image

 def test_course_without_image(self):
     """
     Make sure we elegantly passover our code when there isn't a static
     image
     """
     course = self.get_course_by_id('edX/simple_with_draft/2012_Fall')
     root_dir = path(mkdtemp())
     try:
         export_to_xml(self.store, self.content_store, course.location, root_dir, 'test_export')
         assert_false(path(root_dir / 'test_export/static/images/course_image.jpg').isfile())
         assert_false(path(root_dir / 'test_export/static/images_course_image.jpg').isfile())
     finally:
         shutil.rmtree(root_dir)
开发者ID:SaleemNajjar,项目名称:edx-platform,代码行数:13,代码来源:test_mongo.py

示例10: test_export_course_with_peer_component

    def test_export_course_with_peer_component(self):
        """
        Test export course when link_to_location is given in peer grading interface settings.
        """

        name = "export_peer_component"

        locations = self._create_test_tree(name)

        # Insert the test block directly into the module store
        problem_location = Location('edX', 'tree{}'.format(name), name, 'combinedopenended', 'test_peer_problem')

        self.draft_store.create_child(
            self.dummy_user,
            locations["child"],
            problem_location.block_type,
            block_id=problem_location.block_id
        )

        interface_location = Location('edX', 'tree{}'.format(name), name, 'peergrading', 'test_peer_interface')

        self.draft_store.create_child(
            self.dummy_user,
            locations["child"],
            interface_location.block_type,
            block_id=interface_location.block_id
        )

        self.draft_store._update_single_item(
            as_draft(interface_location),
            {
                'definition.data': {},
                'metadata': {
                    'link_to_location': unicode(problem_location),
                    'use_for_single_location': True,
                },
            },
        )

        component = self.draft_store.get_item(interface_location)
        self.assertEqual(unicode(component.link_to_location), unicode(problem_location))

        root_dir = path(mkdtemp())

        # export_to_xml should work.
        try:
            export_to_xml(self.draft_store, self.content_store, interface_location.course_key, root_dir, 'test_export')
        finally:
            shutil.rmtree(root_dir)
开发者ID:NATI-UNIFOR,项目名称:edx-platform,代码行数:49,代码来源:test_mongo.py

示例11: test_export_course_image_nondefault

    def test_export_course_image_nondefault(self):
        """
        Make sure that if a non-default image path is specified that we
        don't export it to the static default location
        """
        course = self.draft_store.get_course(SlashSeparatedCourseKey('edX', 'toy', '2012_Fall'))
        assert_true(course.course_image, 'just_a_test.jpg')

        root_dir = path(mkdtemp())
        try:
            export_to_xml(self.draft_store, self.content_store, course.id, root_dir, 'test_export')
            assert_true(path(root_dir / 'test_export/static/just_a_test.jpg').isfile())
            assert_false(path(root_dir / 'test_export/static/images/course_image.jpg').isfile())
        finally:
            shutil.rmtree(root_dir)
开发者ID:UXE,项目名称:edx-platform,代码行数:15,代码来源:test_mongo.py

示例12: handle

    def handle(self, *args, **options):
        if len(args) != 2:
            raise CommandError("import requires two arguments: <course location> <output path>")

        course_id = args[0]
        output_path = args[1]

        print "Exporting course id = {0} to {1}".format(course_id, output_path)

        location = CourseDescriptor.id_to_location(course_id)

        root_dir = os.path.dirname(output_path)
        course_dir = os.path.splitext(os.path.basename(output_path))[0]

        export_to_xml(modulestore('direct'), contentstore(), location, root_dir, course_dir)
开发者ID:2bj,项目名称:edx-platform,代码行数:15,代码来源:export.py

示例13: generate_export_course

def generate_export_course(request, org, course, name):
    """
    This method will serialize out a course to a .tar.gz file which contains a XML-based representation of
    the course
    """
    location = get_location_and_verify_access(request, org, course, name)
    course_module = modulestore().get_instance(location.course_id, location)
    loc = Location(location)
    export_file = NamedTemporaryFile(prefix=name + '.', suffix=".tar.gz")

    root_dir = path(mkdtemp())

    try:
        export_to_xml(modulestore('direct'), contentstore(), loc, root_dir, name, modulestore())
    except SerializationError, e:
        logging.exception('There was an error exporting course {0}. {1}'.format(course_module.location, unicode(e)))

        unit = None
        failed_item = None
        parent = None
        try:
            failed_item = modulestore().get_instance(course_module.location.course_id, e.location)
            parent_locs = modulestore().get_parent_locations(failed_item.location, course_module.location.course_id)

            if len(parent_locs) > 0:
                parent = modulestore().get_item(parent_locs[0])
                if parent.location.category == 'vertical':
                    unit = parent
        except:
            # if we have a nested exception, then we'll show the more generic error message
            pass

        return render_to_response('export.html', {
            'context_course': course_module,
            'successful_import_redirect_url': '',
            'in_err': True,
            'raw_err_msg': str(e),
            'failed_module': failed_item,
            'unit': unit,
            'edit_unit_url': reverse('edit_unit', kwargs={
                'location': parent.location
            }) if parent else '',
            'course_home_url': reverse('course_index', kwargs={
                'org': org,
                'course': course,
                'name': name
            })
        })
开发者ID:LukeLu1263,项目名称:edx-platform,代码行数:48,代码来源:assets.py

示例14: export_course_to_directory

def export_course_to_directory(course_key, root_dir):
    """Export course into a directory"""
    store = modulestore()
    course = store.get_course(course_key)
    if course is None:
        raise CommandError("Invalid course_id")

    # The safest characters are A-Z, a-z, 0-9, <underscore>, <period> and <hyphen>.
    # We represent the first four with \w.  
    # TODO: Once we support courses with unicode characters, we will need to revisit this.
    replacement_char = u'-'
    course_dir = replacement_char.join([course.id.org, course.id.course, course.id.run])
    course_dir = re.sub(r'[^\w\.\-]', replacement_char, course_dir)

    export_to_xml(store, None, course.id, root_dir, course_dir)

    export_dir = path(root_dir) / course_dir
    return export_dir
开发者ID:Tsalokin,项目名称:edx-platform,代码行数:18,代码来源:export_course.py

示例15: handle

    def handle(self, *args, **options):
        "Execute the command"
        if len(args) != 2:
            raise CommandError("export requires two arguments: <course id> <output path>")

        try:
            course_key = CourseKey.from_string(args[0])
        except InvalidKeyError:
            course_key = SlashSeparatedCourseKey.from_deprecated_string(args[0])

        output_path = args[1]

        print("Exporting course id = {0} to {1}".format(course_key, output_path))

        root_dir = os.path.dirname(output_path)
        course_dir = os.path.splitext(os.path.basename(output_path))[0]

        export_to_xml(modulestore('direct'), contentstore(), course_key, root_dir, course_dir, modulestore())
开发者ID:1amongus,项目名称:edx-platform,代码行数:18,代码来源:export.py


注:本文中的xmodule.modulestore.xml_exporter.export_to_xml函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。