本文整理汇总了Python中xml.etree.ElementTree.SubElement.attrib['slug']方法的典型用法代码示例。如果您正苦于以下问题:Python SubElement.attrib['slug']方法的具体用法?Python SubElement.attrib['slug']怎么用?Python SubElement.attrib['slug']使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xml.etree.ElementTree.SubElement
的用法示例。
在下文中一共展示了SubElement.attrib['slug']方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: converter
# 需要导入模块: from xml.etree.ElementTree import SubElement [as 别名]
# 或者: from xml.etree.ElementTree.SubElement import attrib['slug'] [as 别名]
def converter(mooc_folder, args, content_folder=None):
""" Do converting job. """
# Mooc content location
if content_folder is None:
content_folder = mooc_folder
# copying figures
target = os.path.join(mooc_folder, 'generated')
os.makedirs(os.path.join(target, 'html/edx/figures'), exist_ok=True)
for entry, *_ in os.walk(content_folder):
if re.match(content_folder + r'/w\d+_.+/figures', entry):
for filename in os.listdir(entry):
shutil.copy(os.path.join(entry, filename),
os.path.join(target, 'html/edx/figures'))
html_folder = os.path.join(target, 'html/edx')
# Basic info
info_org = 'DelftX'
info_course = 'TOPOCMx'
info_display_name = 'Topology in Condensed Matter: Tying Quantum Knots'
info_run = 'course'
info_start = "2016-02-08T10:00:00Z"
# Temporary locations
dirpath = tempfile.mkdtemp() + '/' + info_run
if args.debug:
print('Temporary path: ', dirpath)
# Copying edx_skeleton
skeleton = mooc_folder + '/edx_skeleton'
if os.path.exists(skeleton):
shutil.copytree(skeleton, dirpath)
else:
raise RuntimeError('No edx skeleton!')
# Loading data from syllabus
syllabus_nb = os.path.join(content_folder, 'syllabus.ipynb')
data = parse_syllabus(syllabus_nb, content_folder)
# saving syllabus
syllabus = split_into_units(syllabus_nb)[0]
cell = syllabus.cells[1]
cell['source'] = re.sub(r"(?<!!)\[(.*?)\]\(.*?\)", r"\1", cell['source'])
syllabus_html = export_unit_to_html(syllabus)
save_html(syllabus_html, os.path.join(dirpath, 'tabs', 'syllabus.html'))
# $run$.xml in 'course' folder
xml_course = Element('course')
xml_course.attrib['display_name'] = info_display_name
xml_course.attrib['start'] = info_start
for chapter in data.chapters:
chapter_sub = SubElement(xml_course, 'chapter')
chapter_sub.attrib['url_name'] = chapter.url
wiki = SubElement(xml_course, 'wiki')
wiki.attrib['slug'] = ".".join([info_org, info_course, info_run])
save_xml(xml_course, os.path.join(dirpath, 'course', info_run+'.xml'))
# saving chapters xmls inside 'chapter' folder
for chapter in data.chapters:
chapter_xml = Element('chapter')
chapter_xml.attrib['display_name'] = chapter.name
chapter_xml.attrib['start'] = date_to_edx(chapter.date)
for sequential in chapter.sequentials:
sequential_sub = SubElement(chapter_xml, 'sequential')
sequential_sub.attrib['url_name'] = sequential.url
save_xml(chapter_xml,
os.path.join(dirpath, 'chapter', chapter.url+'.xml'))
# saving sequentials xmls inside 'sequential' folder
# saving vertical xmls inside 'vertical' folder
for chapter in data.chapters:
for sequential in chapter.sequentials:
sequential_xml = Element('sequential')
sequential_xml.attrib['display_name'] = sequential.name
if chapter.url != 'sec_00':
if sequential.name == 'Assignments':
sequential_xml.attrib['format'] = "Research"
else:
sequential_xml.attrib['format'] = "Self-check"
sequential_xml.attrib['graded'] = "true"
# getting units
units = split_into_units(sequential.source_notebook,
include_header=False)
for i, unit in enumerate(units):
vertical_url = sequential.url + '_{0}'.format(str(i).zfill(2))
# add vertical info to sequential_xml
vertical_sub = SubElement(sequential_xml, 'vertical')
vertical_sub.attrib['url_name'] = vertical_url
# creating vertical.xml
vertical_xml = Element('vertical')
#.........这里部分代码省略.........
示例2: converter
# 需要导入模块: from xml.etree.ElementTree import SubElement [as 别名]
# 或者: from xml.etree.ElementTree.SubElement import attrib['slug'] [as 别名]
def converter(mooc_folder, args):
""" Do converting job. """
# Basic info
info_org='DelftX'
info_course='TOPOCMx'
info_display_name='Topology in Condensed Matter: Tying Quantum Knots'
info_run='1T2015'
info_start="2015-02-05T12:00:00Z"
# Mooc content location
content_folder = mooc_folder
# Temporary locations
dirpath = tempfile.mkdtemp() + '/' + info_run
if args.debug:
print('Temporary path: ', dirpath)
# Copying edx_skeleton
skeleton = content_folder + '/edx_skeleton'
if os.path.exists(skeleton):
shutil.copytree(skeleton, dirpath)
else:
'No edx skeleton!'
return
# Loading data from syllabus
syllabus_nb = os.path.join(content_folder, 'syllabus.ipynb')
data = parse_syllabus(syllabus_nb, content_folder)
# saving syllabus
syllabus = split_into_units(syllabus_nb)[0]
cell = syllabus.worksheets[0].cells[1]
cell['source'] = re.sub(r"(?<!!)\[(.*?)\]\(.*?\)", r"\1", cell['source'])
syllabus_html = export_unit_to_html(syllabus)
save_html(syllabus_html, os.path.join(dirpath, 'tabs', 'syllabus.html'))
# course.xml in main folder
xml_main_course = Element('course')
xml_main_course.attrib['course'] = info_course
xml_main_course.attrib['org'] = info_org
xml_main_course.attrib['url_name'] = info_run
save_xml(xml_main_course, os.path.join(dirpath,'course.xml'))
# $run$.xml in 'course' folder
xml_course = Element('course')
xml_course.attrib['display_name'] = info_display_name
xml_course.attrib['start'] = info_start
for chapter in data.chapters:
chapter_sub = SubElement(xml_course, 'chapter')
chapter_sub.attrib['url_name'] = chapter.url
wiki = SubElement(xml_course, 'wiki')
wiki.attrib['slug'] = ".".join([info_org, info_course, info_run])
save_xml(xml_course, os.path.join(dirpath,'course',info_run+'.xml'))
# saving chapters xmls inside 'chapter' folder
for chapter in data.chapters:
chapter_xml = Element('chapter')
chapter_xml.attrib['display_name'] = chapter.name
chapter_xml.attrib['start'] = date_to_edx(chapter.date)
for sequential in chapter.sequentials:
sequential_sub = SubElement(chapter_xml, 'sequential')
sequential_sub.attrib['url_name'] = sequential.url
save_xml(chapter_xml,
os.path.join(dirpath,'chapter',chapter.url+'.xml'))
# saving sequentials xmls inside 'sequential' folder
# saving vertical xmls inside 'vertical' folder
for chapter in data.chapters:
for sequential in chapter.sequentials:
sequential_xml = Element('sequential')
sequential_xml.attrib['display_name'] = sequential.name
if chapter.url != 'sec_00':
if sequential.name == 'Assignments':
sequential_xml.attrib['format'] = "Research"
else:
sequential_xml.attrib['format'] = "Self-check"
sequential_xml.attrib['graded'] = "true"
#getting units
units = split_into_units(sequential.source_notebook)
for i, unit in enumerate(units):
vertical_url = sequential.url + '_{0}'.format(str(i).zfill(2))
# add vertical info to sequential_xml
vertical_sub = SubElement(sequential_xml, 'vertical')
vertical_sub.attrib['url_name'] = vertical_url
# creating vertical.xml
vertical_xml = Element('vertical')
vertical_xml.attrib['display_name'] = unit.metadata.name
#.........这里部分代码省略.........