Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/lesson_html.py
blob: 847a00c94f5f7f7caf219ce786aa15289c43cf22 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
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