X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/d0475d381f12b2c89c7c514c4f7f7d2ebc421d0a..384ddeb499d208593c4d44092d8f0c91e4aea503:/librarian/pyhtml.py
diff --git a/librarian/pyhtml.py b/librarian/pyhtml.py
index 4f8f98c..67793f6 100644
--- a/librarian/pyhtml.py
+++ b/librarian/pyhtml.py
@@ -131,7 +131,7 @@ class EduModule(Xmill):
counter = self.activity_counter
- if element.getnext().tag == 'aktywnosc' or (self.activity_last and self.activity_last.getnext() == element):
+ if element.getnext().tag == 'aktywnosc' or (len(self.activity_last) and self.activity_last.getnext() == element):
counter_html = """%(counter)d.""" % {'counter': counter}
else:
counter_html = ''
@@ -251,7 +251,7 @@ class EduModule(Xmill):
subgen = EduModule(self.options)
definiens_s = subgen.generate(definiens)
else:
- print "!! Missing definiendum in source: '%s'" % element.text
+ print ("!! Missing definiendum in source: '%s'" % element.text).encode('utf-8')
return u"
" % self.naglowek_to_anchor(element), u"" + definiens_s
@@ -427,41 +427,30 @@ class Wybor(Exercise):
if not pytania:
pytania = [element]
for p in pytania:
- solutions = re.split(r"[, ]+", p.attrib.get('rozw', ''))
+ solutions = p.xpath(".//punkt[rozw='prawda']")
if len(solutions) != 1:
is_single_choice = False
break
- choices = p.xpath(".//*[@nazwa]")
- uniq = set()
- for n in choices:
- uniq.add(n.attrib.get('nazwa', ''))
- if len(choices) != len(uniq):
- is_single_choice = False
- break
self.options = {'single': is_single_choice}
return pre, post
def handle_punkt(self, element):
- if self.options['exercise'] and element.attrib.get('nazwa', None):
+ if self.options['exercise'] and element.attrib.get('rozw', None):
qc = self.question_counter
self.piece_counter += 1
no = self.piece_counter
eid = "q%(qc)d_%(no)d" % locals()
- aname = element.attrib.get('nazwa', None)
+ sol = element.attrib.get('rozw', None)
+ params = {'qc': qc, 'no': no, 'sol': sol, 'eid': eid}
if self.options['single']:
- return u"""
-
-
-"
+ input_tag = u''
else:
- return u"""
-
-
-"
-
+ input_tag = u''
+ return (u"""
+
+ """ + input_tag + u"""
+"
else:
return super(Wybor, self).handle_punkt(element)
@@ -659,7 +648,7 @@ class EduModuleFormat(Format):
order = {pmf: i for (i, pmf) in enumerate(self.PRIMARY_MATERIAL_FORMATS)}
mats = self.materials_by_slug.get(slug, {}).items()
if not mats:
- print "!! Material missing: '%s'" % slug
+ print ("!! Material missing: '%s'" % slug).encode('utf-8')
return sorted(mats, key=lambda (x, y): order.get(x, x))
def url_for_material(self, slug, fmt):