diff --git a/mmdc_pages.py b/mmdc_pages.py index 6ff1171..e33dd8e 100755 --- a/mmdc_pages.py +++ b/mmdc_pages.py @@ -6,7 +6,7 @@ ##### import xml.etree.ElementTree as ET import html5lib, urllib2, json, pprint, re -from mmdc_modules import api_thumb_url, pandoc2html, img_fullurl, api_file_url +from mmdc_modules import api_thumb_url, pandoc2html, img_fullurl, api_file_url, write_html_file #import mmdc_create_json import api_thumb_url json_allworks_file = open('allworks_mmdc.json', 'r') # save json json_allworks = json.loads(json_allworks_file.read()) @@ -34,86 +34,91 @@ def replace_gallery(content): return content, gallery_imgs def replace_video(content): - print '-- Replacing Videos --' videos = [] videos_found = re.findall(video_exp, content) for video in videos_found: video_provider = str(video[0]) video_hash = str(video[1]) video_src = None - print video_provider, type(video_provider) - if (video_provider.lower()) == 'youtube': video_src="https://www.youtube.com/embed/" + video_hash elif (video_provider.lower()) == 'vimeo': video_src="https://player.vimeo.com/video/" + video_hash - print 'VIMEO' - if video_src: iframe_el = ET.Element('iframe', attrib={'src':video_src, 'width':'600px', 'height':'450px'}) - videos.append(iframe_el) content = re.sub(video_exp, '', content) return content, videos -def create_workpage( allworks_dict, work_key): # replace text content in dict with html nodes, holding the content +def create_workpage( allworks_dict, work_key, tree): # replace text content in dict with html nodes, holding the content for key in allworks_dict.keys(): + div_header = (tree.findall(".//div[@class='header']"))[0] + div_body = (tree.findall(".//div[@class='body']"))[0] + div_av = (tree.findall(".//div[@class='av']"))[0] + if key in ['Description', 'Extra']: mw_content = allworks_dict[key] if re.search(gallery_exp, mw_content): mw_content, gallery_imgs = replace_gallery(mw_content) allworks_dict['Images'] = gallery_imgs elif re.search(video_exp, mw_content): - print '-- Searching for Video --' mw_content, videos = replace_video(mw_content) allworks_dict['Video'] = videos - print mw_content, videos - - + allworks_dict[key] = pandoc2html( mw_content if key in allworks_dict.keys() else '' ) # convert to HTML - work_htmltree = html5lib.parseFragment(allworks_dict[key], namespaceHTMLElements=False) -# print work_htmltree -# print ET.tostring(work_htmltree) + work_el = html5lib.parseFragment(allworks_dict[key], namespaceHTMLElements=False) - # vimeo/youtube: {{vimeo|44977056}} - # External urls: [http://www.scribd.com/doc/105882261/THE-DICTATOR-S-PRACTICAL-INTERNET-GUIDE-TO-POWER-RETENTION scribd] + div_body.append( work_el ) + print "****************************" + print ET.tostring(div_body) + print "****************************" elif key in ['Website']: - work_htmltree = ET.Element('a', attrib={'href': allworks_dict[key], 'id':key}) - work_htmltree.text = allworks_dict[key] + work_el = ET.Element('a', attrib={'href': allworks_dict[key], 'id':key}) + work_el.text = 'LINK'#allworks_dict[key] elif key in ['Title']: - work_htmltree = ET.Element('h1', attrib={'id': key}) - work_htmltree.text + work_el = ET.Element('h1', attrib={'id': key}) + work_el.text = allworks_dict[key] + + # typeerror: must be Element, not Element + # div_header.append(work_el) + + + elif key in ['Creator', 'Date', 'Bio']: - work_htmltree = ET.Element('p', attrib={'id': key}) - work_htmltree.text - elif key in ['Thumbnail_url']: - work_htmltree = ET.Element('img', attrib={'src': allworks_dict[key], 'id': key}) - print ET.tostring(work_htmltree) + work_el = ET.Element('p', attrib={'id': key}) + work_el.text = allworks_dict[key] + elif key in ['Thumbnail']: + work_el = ET.Element('img', attrib={'src': allworks_dict[key], 'id': key}) + print ET.tostring(work_el) else: - work_htmltree = None - # remove keys with None value? - -# print work_htmltree - allworks_dict[key] = work_htmltree - allworks_dict.pop('Thumbnail', None) #remove thumnail + work_el = None # remove keys with None value? + allworks_dict[key] = work_el + allworks_dict.pop('Thumbnail_url', None) #remove Thumbnail_url pprint.pprint(allworks_dict) - -for key in json_allworks.keys(): - graduation_work=json_allworks[key] - print (graduation_work['Creator']).encode('utf-8') - -# pprint.pprint(graduation_work) - - # purge graduation_work from keys with empty vals - # for key in graduation_work: - # if graduation_work[key] in [None, '']: +def edit_index(filepath, json_allworks_dict): + input_file = open(filepath, 'r') + tree = html5lib.parse(input_file, namespaceHTMLElements=False) + div_section02 = (tree.findall(".//div[@id='section02']"))[0] + for key in json_allworks_dict.keys(): + graduation_work=json_allworks_dict[key] + insert_work(div_section02, 'Graduation_work thumbnail', graduation_work, key ) + return tree - - # print graduation_work - - create_workpage(graduation_work, key ) +worktemplate = open('web/work.html', 'r') +for key in json_allworks.keys(): + graduation_work=json_allworks[key] + graduation_work_title = (json_allworks[key]['Title']).encode('ascii', 'ignore') + work_file = 'web/' + key + '-' + graduation_work_title + '.html' + work_tree = html5lib.parse(worktemplate, namespaceHTMLElements=False) + create_workpage(graduation_work, key, work_tree ) + write_html_file(work_tree, work_file) + print '----------' +# print ET.tostring(work_tree) + print graduation_work['Creator'] + print graduation_work_title + print '----------' diff --git a/web/work.html b/web/work.html new file mode 100644 index 0000000..270dbf3 --- /dev/null +++ b/web/work.html @@ -0,0 +1,15 @@ + + + + + + + + +
+
+
+
+
+ +