Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/lesson_html.py
diff options
context:
space:
mode:
Diffstat (limited to 'lesson_html.py')
-rwxr-xr-xlesson_html.py145
1 files changed, 145 insertions, 0 deletions
diff --git a/lesson_html.py b/lesson_html.py
new file mode 100755
index 0000000..847a00c
--- /dev/null
+++ b/lesson_html.py
@@ -0,0 +1,145 @@
+#! /usr/bin/env python2.6
+# -*- coding: utf-8 -*-
+
+import html
+import string
+
+def start_html(lesson):
+ displayGrade = u'०१२३४५६७८९'[lesson.grade()];
+ displaySubject = {
+ 'English': 'English',
+ 'Maths':u'गणित',
+ 'Nepali':u'नेपाली' }[lesson.subject()];
+ karma = lesson.karma
+
+ doc = html.HtmlDocument()
+ with doc.html():
+ with doc.head():
+ with doc.title():
+ doc.text(lesson.lesson_title)
+ doc.meta_utf8()
+ doc.favicon(karma.image('favicon').relative_path(None, web=True))
+ doc.css(karma.css('kstart').relative_path(None, web=True))
+ for f in ['jquery', 'kstart']:
+ doc.java_script(karma.java_script(f).relative_path(None, web=True))
+ with doc.body(id='kStart'):
+ with doc.div(id='top'):
+ doc.div(id='backBtn', title='Back')
+ with doc.div(id='topMiddle'):
+ doc.div(id='topDesc', className='center').text(u'साझा शिक्षा ई-पाटीद्वारा निर्मित')
+ doc.div(id='topE-Paath', className='center').text(u'ई-पाठ')
+ with doc.div(id='middle'):
+ with doc.div(id='grade', className='center'):
+ doc.span(id='gradeText').text(u'कक्षा:')
+ doc.span(id='gradeNum').text(displayGrade)
+ doc.div(id='subject', className='center').text(displaySubject)
+ with doc.div(id='lessonTitle', className='center'):
+ doc.a(href='./index.html').text(lesson.lesson_title)
+ doc.div(id='lessonDesc', className='center').text(lesson.summary)
+ with doc.div(id='teachersNoteBtn', className='button'):
+ with doc.a(href='./kDoc.html?back=start.html&doc=teachersNote'):
+ doc.div().text(u'Teacher\'s Note')
+ doc.div().text(u'पाठविवरण')
+ with doc.div(id='bottom'):
+ doc.div(id='logo', title=u'साझा शिक्षा ई-पाटी द्वारा निर्मित')
+ doc.div(id='logoHelp')
+ return doc
+
+def index_html_header(doc, karma, dir, body, titles):
+ def create_title(text):
+ def img(name):
+ return doc.img(src=karma.image(name).relative_path(dir, web=True),
+ width=33, height=75, align='absmiddle')
+
+ with doc.div(className='lesson_title'):
+ img('title_block_lt')
+ doc.text(text)
+ img('title_block_rt')
+
+ with doc.div(id='header'):
+ with doc.div(id='topbtn_left'):
+ doc.div(id='linkBackLesson', title='Back', className='linkBack')
+ for title in titles:
+ create_title(title)
+ with doc.div(className='topbtn_right'):
+ doc.div(title='Help', id='linkHelp')
+ with doc.div(className='topbtn_right'):
+ doc.div(id='linkOle', title=u'साझा शिक्षा ई-पाटी द्वारा निर्मित')
+
+
+def index_html_footer(doc, subject, body, config):
+ with doc.div(id='footer'):
+ if config['link_next']:
+ doc.div(title='Next', id='linkNextLesson', className='linkNext')
+ if config['link_previous']:
+ doc.div(title='Previous', id='linkPrevLesson', className='linkBack')
+ if config['scoreboard']:
+ doc.div(id='score_box', display='none')
+
+ with doc.div(className='botbtn_right'):
+ if subject == 'English':
+ doc.div(title='Play Again', id='linkPlayAgain', className='english').text('Play Again')
+ else:
+ doc.div(title='Play Again', id='linkPlayAgain', className='nepali').text(u'फेरी खेलौँ')
+
+ if config['link_check_answer']:
+ with doc.div(className='botbtn_right'):
+ doc.div(title='Check Answer', id='linkCheck')
+
+ if config['audio_buttons']:
+ with doc.div(className='botbtn_right'):
+ doc.div(id='linkPlayAudio', className='english audioButton').text('Play')
+ with doc.div(className='botbtn_right'):
+ doc.div(id='linkPlayRecordedAudio', className='english audioButton').text('Play')
+ with doc.div(className='botbtn_right'):
+ doc.div(id='linkRecordAudio', className='english audioButton').text('Record')
+
+
+def index_html(lesson, warning_text_lines):
+ karma = lesson.karma
+ doc = html.HtmlDocument()
+ for line in warning_text_lines:
+ doc.comment(string.replace(line, '--', '__'))
+ with doc.html():
+ with doc.head():
+ doc.title().text(lesson.title)
+ doc.meta_utf8()
+ for file in lesson.css_files:
+ doc.css(file.relative_path(None, web=True))
+ doc.favicon(karma.image('favicon').relative_path(None, web=True))
+ for file in lesson.all_java_script_files():
+ doc.java_script(file.relative_path(None, web=True))
+ with doc.body() as body:
+ titles = [lesson.lesson_title]
+ if lesson.subject() == 'Maths' and lesson.lesson_title != lesson.start_title:
+ titles.append(lesson.start_title)
+ index_html_header(doc, karma, lesson.directory, body, titles)
+ body.children.extend(lesson.divs)
+ index_html_footer(doc, lesson.subject(), body,
+ lesson.footer_configuration)
+ return doc
+
+def kdoc_html(lesson):
+ karma = lesson.karma
+ subject = unicode(lesson.subject())
+ title = unicode(lesson.title)
+ doc = html.HtmlDocument()
+ with doc.html():
+ with doc.head():
+ doc.title().text('Lesson Plan for {0} {1}'.format(subject,title))
+ doc.meta_utf8()
+ doc.favicon(karma.image('favicon').relative_path(None, web=True))
+ for css in ['karma', 'ui.kHeader', 'kDoc']:
+ doc.css(karma.css(css).relative_path(None, web=True))
+ for js in ['jquery', 'jquery-ui', 'karma', 'ui.kHeader', 'kDoc']:
+ doc.java_script(karma.java_script(js).relative_path(None, web=True))
+ with doc.body(id='kDoc'):
+ doc.div(id='kHeader')
+ with doc.div(id='kHelp', title='Help'):
+ doc.text(u'पाठविवरणर पाठयोजना सहज तरिकाले पढ्न तपाईले निम्न कार्य गर्न सक्नु हुन्छ ।')
+ doc.br()
+ doc.text(u'पाठ पृष्टको दाईने तर्फको ठाडो रेखा तल माथि गर्दा')
+ doc.br()
+ doc.text(u'तपाईले हाल पढिरहेको पृष्टलाई आवश्यकता अनुसार तल माथि गर्न सक्नुहुन्छ')
+ doc.iframe(id='iframeLessonPlan', src='')
+ return doc