def __init__(self, parent): """ Initialize """ RenderableResource.__init__(self, parent) #Extract source and target langs from dublincore.xul xul = Path(self.config.xulDir).joinpath('templates', 'dublincore.xul') bs = BeautifulSoup(xul.text()) self.langs = bs.find(id="dc_language") self.updateLocaleNames()
def __init__(self, parent): """ Initialize """ RenderableResource.__init__(self, parent) #Extract source and target langs from dublincore.xul xul = self.config.webDir / 'templates' / 'dublincore.xul' bs = BeautifulSoup(xul.text()) self.langs = bs.find(id="dc_language") self.updateLocaleNames()
def loadNodesIdevices(node, s): soup = BeautifulSoup(s) body = soup.find('body') if body: idevices = body.findAll(name='div', attrs={'class' : re.compile('Idevice$') }) if len(idevices) > 0: for i in idevices: if i.attrMap['class']=="activityIdevice": idevice = burstIdevice('Activity', i, node) elif i.attrMap['class']=="objectivesIdevice": idevice = burstIdevice('Objectives', i, node) elif i.attrMap['class']=="preknowledgeIdevice": idevice = burstIdevice('Preknowledge', i, node) elif i.attrMap['class']=="readingIdevice": idevice = burstIdevice('Reading Activity', i, node) elif i.attrMap['class']=="RssIdevice": idevice = burstIdevice('RSS', i, node) elif i.attrMap['class']=="WikipediaIdevice": idevice = burstIdevice('Wiki Article', i, node) elif i.attrMap['class']=="ReflectionIdevice": idevice = burstIdevice('Reflection', i, node) elif i.attrMap['class']=="GalleryIdevice": idevice = burstIdevice('Image Gallery', i, node) elif i.attrMap['class']=="ImageMagnifierIdevice": idevice = burstIdevice('Image Magnifier', i, node) elif i.attrMap['class']=="AppletIdevice": idevice = burstIdevice('Java Applet', i, node) elif i.attrMap['class']=="ExternalUrlIdevice": idevice = burstIdevice('External Web Site', i, node) elif i.attrMap['class']=="ClozeIdevice": idevice = burstIdevice('Cloze Activity', i, node) elif i.attrMap['class']=="FreeTextIdevice": idevice = burstIdevice('Free Text', i, node) elif i.attrMap['class']=="CasestudyIdevice": idevice = burstIdevice('Case Study', i, node) elif i.attrMap['class']=="MultichoiceIdevice": idevice = burstIdevice('Multi-choice', i, node) elif i.attrMap['class']=="MultiSelectIdevice": idevice = burstIdevice('Multi-select', i, node) elif i.attrMap['class']=="QuizTestIdevice": idevice = burstIdevice('SCORM Quiz', i, node) elif i.attrMap['class']=="TrueFalseIdevice": idevice = burstIdevice('True-False Question', i, node) else: log.warn("unburstable idevice " + i.attrMap['class'] + "; bursting into Free Text") idevice = burstIdevice('Free Text', i, node) else: log.warn("no idevices found on this node, bursting into Free Text.") idevice = burstIdevice('Free Text', i, node) else: log.warn("unable to read the body of this node.")
<title>eXe</title> <style type="text/css"> @import url(eXe_manual.css); </style> </head> <body> """ html_epilogue = """</body></html> """ base_url = "http://wikieducator.org/" collection = urllib2.urlopen(url) soup = BeautifulSoup(collection) # make sure the URL is a collection, and not a "page not found" page if not soup.find("span", {"class": "mw-headline"}): print "missing or malformed collection page" sys.exit() collection_title = str(soup.find("span", {"class": "mw-headline"}).string).strip() print "fetching manual..." sys.stdout.flush() for page in soup("dd"): if not page.a: continue print " ", page.a.string, sys.stdout.flush() page_url = url_join(base_url, page.a["href"]) # print page_url,"</li>"
def loadNodesIdevices(node, s): soup = BeautifulSoup(s) body = soup.find("body") if body: idevices = body.findAll(name="div", attrs={"class": re.compile("Idevice$")}) if len(idevices) > 0: for i in idevices: # WARNING: none of the idevices yet re-attach their media, # but they do attempt to re-attach images and other links. if i.attrMap["class"] == "activityIdevice": idevice = burstIdevice("Activity", i, node) elif i.attrMap["class"] == "objectivesIdevice": idevice = burstIdevice("Objectives", i, node) elif i.attrMap["class"] == "preknowledgeIdevice": idevice = burstIdevice("Preknowledge", i, node) elif i.attrMap["class"] == "readingIdevice": idevice = burstIdevice("Reading Activity", i, node) # the above are all Generic iDevices; # below are all others: elif i.attrMap["class"] == "RssIdevice": idevice = burstIdevice("RSS", i, node) elif i.attrMap["class"] == "WikipediaIdevice": # WARNING: Wiki problems loading images with accents, etc: idevice = burstIdevice("Wiki Article", i, node) elif i.attrMap["class"] == "ReflectionIdevice": idevice = burstIdevice("Reflection", i, node) elif i.attrMap["class"] == "GalleryIdevice": # WARNING: Gallery problems with the popup html: idevice = burstIdevice("Image Gallery", i, node) elif i.attrMap["class"] == "ImageMagnifierIdevice": # WARNING: Magnifier missing major bursting components: idevice = burstIdevice("Image Magnifier", i, node) elif i.attrMap["class"] == "AppletIdevice": # WARNING: Applet missing file bursting components: idevice = burstIdevice("Java Applet", i, node) elif i.attrMap["class"] == "ExternalUrlIdevice": idevice = burstIdevice("External Web Site", i, node) elif i.attrMap["class"] == "ClozeIdevice": idevice = burstIdevice("Cloze Activity", i, node) elif i.attrMap["class"] == "FreeTextIdevice": idevice = burstIdevice("Free Text", i, node) elif i.attrMap["class"] == "CasestudyIdevice": idevice = burstIdevice("Case Study", i, node) elif i.attrMap["class"] == "MultichoiceIdevice": idevice = burstIdevice("Multi-choice", i, node) elif i.attrMap["class"] == "MultiSelectIdevice": idevice = burstIdevice("Multi-select", i, node) elif i.attrMap["class"] == "QuizTestIdevice": idevice = burstIdevice("SCORM Quiz", i, node) elif i.attrMap["class"] == "TrueFalseIdevice": idevice = burstIdevice("True-False Question", i, node) else: # NOTE: no custom idevices burst yet, # nor any deprecated idevices. Just burst into a FreeText: log.warn("unburstable idevice " + i.attrMap["class"] + "; bursting into Free Text") idevice = burstIdevice("Free Text", i, node) else: # no idevices listed on this page, # just create a free-text for the entire page: log.warn("no idevices found on this node, bursting into Free Text.") idevice = burstIdevice("Free Text", i, node) else: log.warn("unable to read the body of this node.")
def loadNodesIdevices(node, s): soup = BeautifulSoup(s) body = soup.find('body') if body: idevices = body.findAll(name='div', attrs={'class' : re.compile('Idevice$') }) if len(idevices) > 0: for i in idevices: # WARNING: none of the idevices yet re-attach their media, # but they do attempt to re-attach images and other links. if i.attrMap['class']=="activityIdevice": idevice = burstIdevice('Activity', i, node) elif i.attrMap['class']=="objectivesIdevice": idevice = burstIdevice('Objectives', i, node) elif i.attrMap['class']=="preknowledgeIdevice": idevice = burstIdevice('Preknowledge', i, node) elif i.attrMap['class']=="readingIdevice": idevice = burstIdevice('Reading Activity', i, node) # the above are all Generic iDevices; # below are all others: elif i.attrMap['class']=="RssIdevice": idevice = burstIdevice('RSS', i, node) elif i.attrMap['class']=="WikipediaIdevice": # WARNING: Wiki problems loading images with accents, etc: idevice = burstIdevice('Wiki Article', i, node) elif i.attrMap['class']=="ReflectionIdevice": idevice = burstIdevice('Reflection', i, node) elif i.attrMap['class']=="GalleryIdevice": # WARNING: Gallery problems with the popup html: idevice = burstIdevice('Image Gallery', i, node) elif i.attrMap['class']=="ImageMagnifierIdevice": # WARNING: Magnifier missing major bursting components: idevice = burstIdevice('Image Magnifier', i, node) elif i.attrMap['class']=="AppletIdevice": # WARNING: Applet missing file bursting components: idevice = burstIdevice('Java Applet', i, node) elif i.attrMap['class']=="ExternalUrlIdevice": idevice = burstIdevice('External Web Site', i, node) elif i.attrMap['class']=="ClozeIdevice": idevice = burstIdevice('Cloze Activity', i, node) elif i.attrMap['class']=="FreeTextIdevice": idevice = burstIdevice('Free Text', i, node) elif i.attrMap['class']=="CasestudyIdevice": idevice = burstIdevice('Case Study', i, node) elif i.attrMap['class']=="MultichoiceIdevice": idevice = burstIdevice('Multi-choice', i, node) elif i.attrMap['class']=="MultiSelectIdevice": idevice = burstIdevice('Multi-select', i, node) elif i.attrMap['class']=="QuizTestIdevice": idevice = burstIdevice('SCORM Quiz', i, node) elif i.attrMap['class']=="TrueFalseIdevice": idevice = burstIdevice('True-False Question', i, node) else: # NOTE: no custom idevices burst yet, # nor any deprecated idevices. Just burst into a FreeText: log.warn("unburstable idevice " + i.attrMap['class'] + "; bursting into Free Text") idevice = burstIdevice('Free Text', i, node) else: # no idevices listed on this page, # just create a free-text for the entire page: log.warn("no idevices found on this node, bursting into Free Text.") idevice = burstIdevice('Free Text', i, node) else: log.warn("unable to read the body of this node.")
def loadNodesIdevices(node, s): soup = BeautifulSoup(s) body = soup.find('body') if body: idevices = body.findAll(name='div', attrs={'class' : re.compile('Idevice$') }) if len(idevices) > 0: for i in idevices: # WARNING: none of the idevices yet re-attach their media, # but they do attempt to re-attach images and other links. if i.attrMap['class']=="activityIdevice": idevice = burstIdevice('Activity', i, node) elif i.attrMap['class']=="objectivesIdevice": idevice = burstIdevice('Objectives', i, node) #added kthamm 111028 elif i.attrMap['class']=="devsummaryIdevice": idevice = burstIdevice('Devsummary', i, node) elif i.attrMap['class']=="devpreviewIdevice": idevice = burstIdevice('Devpreview', i, node) elif i.attrMap['class']=="devresourceIdevice": idevice = burstIdevice('Devresource', i, node) elif i.attrMap['class']=="devdiscussionIdevice": idevice = burstIdevice('Devdiscussion', i, node) #end added kthamm elif i.attrMap['class']=="preknowledgeIdevice": idevice = burstIdevice('Preknowledge', i, node) elif i.attrMap['class']=="readingIdevice": idevice = burstIdevice('Reading Activity', i, node) # the above are all Generic iDevices; # below are all others: elif i.attrMap['class']=="RssIdevice": idevice = burstIdevice('RSS', i, node) elif i.attrMap['class']=="WikipediaIdevice": # WARNING: Wiki problems loading images with accents, etc: idevice = burstIdevice('Wiki Article', i, node) elif i.attrMap['class']=="ReflectionIdevice": idevice = burstIdevice('Reflection', i, node) elif i.attrMap['class']=="GalleryIdevice": # WARNING: Gallery problems with the popup html: idevice = burstIdevice('Image Gallery', i, node) elif i.attrMap['class']=="ImageMagnifierIdevice": # WARNING: Magnifier missing major bursting components: idevice = burstIdevice('Image Magnifier', i, node) elif i.attrMap['class']=="AppletIdevice": # WARNING: Applet missing file bursting components: idevice = burstIdevice('Java Applet', i, node) elif i.attrMap['class']=="ExternalUrlIdevice": idevice = burstIdevice('External Web Site', i, node) elif i.attrMap['class']=="ClozeIdevice": idevice = burstIdevice('Cloze Activity', i, node) elif i.attrMap['class']=="FreeTextIdevice": idevice = burstIdevice('Free Text', i, node) elif i.attrMap['class']=="CasestudyIdevice": idevice = burstIdevice('Case Study', i, node) elif i.attrMap['class']=="MultichoiceIdevice": idevice = burstIdevice('Multi-choice', i, node) elif i.attrMap['class']=="MultiSelectIdevice": idevice = burstIdevice('Multi-select', i, node) elif i.attrMap['class']=="QuizTestIdevice": idevice = burstIdevice('SCORM Quiz', i, node) elif i.attrMap['class']=="TrueFalseIdevice": idevice = burstIdevice('True-False Question', i, node) else: # NOTE: no custom idevices burst yet, # nor any deprecated idevices. Just burst into a FreeText: log.warn("unburstable idevice " + i.attrMap['class'] + "; bursting into Free Text") idevice = burstIdevice('Free Text', i, node) else: # no idevices listed on this page, # just create a free-text for the entire page: log.warn("no idevices found on this node, bursting into Free Text.") idevice = burstIdevice('Free Text', i, node) else: log.warn("unable to read the body of this node.")
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <title>eXe</title> <style type="text/css"> @import url(eXe_manual.css); </style> </head> <body> ''' html_epilogue = '''</body></html> ''' base_url = 'http://wikieducator.org/' collection = urllib2.urlopen(url) soup = BeautifulSoup(collection) if not soup.find('span', {'class': 'mw-headline'}): print 'missing or malformed collection page' sys.exit() collection_title = str(soup.find('span', {'class': 'mw-headline'}).string).strip() print "fetching manual..." sys.stdout.flush() for page in soup('dd'): if not page.a: continue print ' ', page.a.string, sys.stdout.flush() page_url = url_join(base_url, page.a['href']) sys.stdout.flush() p1 = urllib2.urlopen(page_url) p1_soup = BeautifulSoup(p1) body = p1_soup.find(id = 'content')
<title>eXe</title> <style type="text/css"> @import url(eXe_manual.css); </style> </head> <body> ''' html_epilogue = '''</body></html> ''' base_url = 'http://wikieducator.org/' collection = urllib2.urlopen(url) soup = BeautifulSoup(collection) # make sure the URL is a collection, and not a "page not found" page if not soup.find('span', {'class': 'mw-headline'}): print 'missing or malformed collection page' sys.exit() collection_title = str(soup.find('span', { 'class': 'mw-headline' }).string).strip() print "fetching manual..." sys.stdout.flush() for page in soup('dd'): if not page.a: continue print ' ', page.a.string, sys.stdout.flush()