From 07f293a688caa23060d68c50e9be594a0226a5de Mon Sep 17 00:00:00 2001
From: Piotr Maslanka <piotr.maslanka@henrietta.com.pl>
Date: Wed, 31 May 2017 21:44:19 +0200
Subject: [PATCH] cleanup

---
 build.py      | 18 +++++++-----------
 src/header.md |  2 ++
 src/lab1.md   |  2 +-
 src/lab3.md   |  2 +-
 src/lab4.md   |  2 +-
 src/lab5.md   |  5 +----
 src/lab6.md   |  5 +----
 7 files changed, 14 insertions(+), 22 deletions(-)

diff --git a/build.py b/build.py
index 0511770..4c1f7ec 100644
--- a/build.py
+++ b/build.py
@@ -3,7 +3,7 @@ from __future__ import print_function
 import json, sys
 import os.path
 
-def readin(path, func=bytes, orelse=None):  # read bytes from path and treat it with func. If path does not exist, return orelse
+def readin(path, func=lambda x: x.decode('utf8'), orelse=None):  # read bytes from path and treat it with func. If path does not exist, return orelse
     if os.path.exists(path):
         with open(path, 'rb') as fin:
             return func(fin.read())
@@ -11,30 +11,26 @@ def readin(path, func=bytes, orelse=None):  # read bytes from path and treat it
         return orelse
 
 if __name__ == '__main__':
-    header_bin = readin('src/header.md')
-    footer_bin = readin('src/footer.md')
+    header, footer = readin('src/header.md'), readin('src/footer.md')
 
     i = 1
     while os.path.exists('src/lab%s.md' % (i, )):
-        lab_name = 'lab%s' % (i, )
-        i += 1
+        lab_name, i = 'lab%s' % (i, ), i+1
         dist_lp, src_md, src_json = 'dist/' + lab_name+'/', 'src/' + lab_name + '.md', 'src/'+lab_name+'.json'
 
         os.system('mkdir '+dist_lp)                         # Make directories
         data = readin(src_json, json.loads, [{}])           # Load data
-        lab = readin(src_md, lambda x: x.decode('utf8'))    # Load text
+        lab = header+readin(src_md)+footer    # Load text
 
         # Swap placholders
         for ex_no, d in enumerate(data, start=1):
-            plab = lab
             d['lp'] = unicode(ex_no)
+            d['labno'] = unicode(i)
 
             for k, v in d.iteritems():
-                plab = plab.replace(u'$%s$' % (k, ), v)
+                lab = lab.replace(u'$%s$' % (k, ), v)
 
             with open(dist_lp+'%s.md' % (ex_no, ), 'wb') as labout:
-                labout.write(header_bin)
-                labout.write(plab.encode('utf8'))
-                labout.write(footer_bin)
+                labout.write(lab.encode('utf8'))
 
             os.system(('pandoc %s%s.md -s -o %s%s.pdf') % (dist_lp, ex_no, dist_lp, ex_no))
diff --git a/src/header.md b/src/header.md
index c199988..b72d639 100644
--- a/src/header.md
+++ b/src/header.md
@@ -8,3 +8,5 @@ Instrukcja ta jest dostępna w formie źródłowej pod adresem
 
 Pod tym adresem będą pojawiać się również instrukcje do kolejnych laboratoriów.
 
+Laboratorium $labno$
+====================
diff --git a/src/lab1.md b/src/lab1.md
index 81671c5..674769a 100644
--- a/src/lab1.md
+++ b/src/lab1.md
@@ -13,7 +13,7 @@ Rzeczy oznaczone tak, jak poniżej, dotyczą tego, co masz zawrzeć w sprawozdan
     Zapisz swoje imię, nazwisko, adres e-mail, kierunek i rok studiów
     oraz grupę laboratoryjną i numer albumu.
     
-    Podaj również numer zajęć laboratoryjnych (nr 1) oraz numer
+    Podaj również numer zajęć laboratoryjnych (nr $labno$) oraz numer
     zadania (to zadanie ma nr $lp$).
     
 Mogą być to też pytania, na które w sprawozdaniu udzielisz odpowiedzi. Możesz pomagać
diff --git a/src/lab3.md b/src/lab3.md
index 9be2664..f21fb2c 100644
--- a/src/lab3.md
+++ b/src/lab3.md
@@ -12,7 +12,7 @@ Rzeczy oznaczone tak, jak poniżej, dotyczą tego, co masz zawrzeć w sprawozdan
     Zapisz swoje imię, nazwisko, adres e-mail, kierunek i rok studiów
     oraz grupę laboratoryjną i numer albumu.
     
-    Podaj również numer zajęć laboratoryjnych (nr 3).
+    Podaj również numer zajęć laboratoryjnych (nr $labno$).
 
 Mogą być to też pytania, na które w sprawozdaniu udzielisz odpowiedzi. Możesz pomagać
 sobie wyszukiwarką internetową, oraz zabrać głos w dyskusji, jeśli się jakaś wywiąże.
diff --git a/src/lab4.md b/src/lab4.md
index b229d6e..77a85d8 100644
--- a/src/lab4.md
+++ b/src/lab4.md
@@ -19,7 +19,7 @@ Rzeczy oznaczone tak, jak poniżej, dotyczą tego, co masz zawrzeć w sprawozdan
     Wykonujesz taki wariant zadania, jaki jest numer grupy. Na przykład
     wariant, ktĂłry obecnie czytasz, ma numer $lp$.
     
-    Podaj również numer zajęć laboratoryjnych (nr 4).
+    Podaj również numer zajęć laboratoryjnych (nr $labno$).
 
 Mogą być to też pytania, na które w sprawozdaniu udzielisz odpowiedzi. Możesz pomagać
 sobie wyszukiwarką internetową, oraz zabrać głos w dyskusji, jeśli się jakaś wywiąże.
diff --git a/src/lab5.md b/src/lab5.md
index b893925..eb62a87 100644
--- a/src/lab5.md
+++ b/src/lab5.md
@@ -1,6 +1,3 @@
-Laboratorium 5
-==============
-
 _"Kosztem poraĹźki jest nauka" - Devin Carraway_
 
 Z tego laboratorium przygotowujesz sprawozdanie. Przygotowujesz je na zajęciach, a przy 
@@ -19,7 +16,7 @@ Rzeczy oznaczone tak, jak poniżej, dotyczą tego, co masz zawrzeć w sprawozdan
     Wykonujesz taki wariant zadania, jaki jest numer grupy. Na przykład
     wariant, ktĂłry obecnie czytasz, ma numer $lp$.
     
-    Podaj również numer zajęć laboratoryjnych (nr 5).
+    Podaj również numer zajęć laboratoryjnych (nr $labno$).
 
 Mogą być to też pytania, na które w sprawozdaniu udzielisz odpowiedzi. Możesz pomagać
 sobie wyszukiwarką internetową, oraz zabrać głos w dyskusji, jeśli się jakaś wywiąże.
diff --git a/src/lab6.md b/src/lab6.md
index d573fae..08900f1 100644
--- a/src/lab6.md
+++ b/src/lab6.md
@@ -1,6 +1,3 @@
-Laboratorium 6
-==============
-
 Sprawozdaniem z tego laboratorium będą kody źródłowe programów, które na nich opracujesz.
 Po zakończeniu laboratorium wysyłasz na adres podany na końcu tej instrukcji.
 Instrukcja dla wszystkich jest taka sama.
@@ -12,7 +9,7 @@ Rzeczy oznaczone tak, jak poniżej, dotyczą tego, co masz zawrzeć w sprawozdan
     Zapisz swoje imię, nazwisko, adres e-mail, kierunek i rok studiów
     oraz grupę laboratoryjną i numer albumu.
     
-    Podaj również numer zajęć laboratoryjnych (nr 6).
+    Podaj również numer zajęć laboratoryjnych (nr $labno$).
 
 # Ogłoszenia parafialne
 
-- 
GitLab