last merge of edumed-red not complete
[librarian.git] / librarian / pypdf.py
index 0793951..9034753 100644 (file)
@@ -69,6 +69,7 @@ class EduModule(Xmill):
     def __init__(self, options=None, state=None):
         super(EduModule, self).__init__(options, state)
         self.activity_counter = 0
+        self.activity_last = None
         self.exercise_counter = 0
 
         def swap_endlines(txt):
@@ -173,7 +174,6 @@ class EduModule(Xmill):
     handle_naglowek_czesc = \
     handle_naglowek_listy = \
     handle_naglowek_osoba = \
-    handle_naglowek_podrozdzial = \
     handle_naglowek_scena = \
     handle_nazwa_utworu = \
     handle_nota = \
@@ -204,6 +204,9 @@ class EduModule(Xmill):
         return self.handle_texcommand(element)
     handle_naglowek_rozdzial.unmuter = True
 
+    def handle_naglowek_podrozdzial(self, element):
+        self.activity_counter = 0
+        return self.handle_texcommand(element)
 
     def handle_uwaga(self, _e):
         return None
@@ -248,9 +251,16 @@ class EduModule(Xmill):
 
         counter = self.activity_counter
 
+        if element.getnext().tag == 'aktywnosc' or self.activity_last.getnext() == element:
+            counter_tex = """<cmd name="activitycounter"><parm>%(counter)d.</parm></cmd>""" % locals()
+        else:
+            counter_tex = ''
+
+        self.activity_last = element
+
         return u"""
 <cmd name="noindent" />
-<cmd name="activitycounter"><parm>%(counter)d.</parm></cmd>
+%(counter_tex)s
 <cmd name="activityinfo"><parm>
  <cmd name="activitytime"><parm>%(czas)s</parm></cmd>
  <cmd name="activityform"><parm>%(forma)s</parm></cmd>