Projekt: Hesla Jednoty bratrské/2011
Projekt: Hesla Jednoty bratrské
editovat– příprava Hesel pro rok 2011
w01-sql-import
editovatImport Losungen do databáze
editovat2009-12-31
editovatDostal jsem Losungen 2011 jako soubor databáze Microsoft access, Losungen_für_2011_30.12.2009.mdb.
2010-01-08..
editovat- /w01-sql Podrobný záznam průzkumu
2010-02-06
editovat- /w01make skript, který:
- mysql : ověří, že existuje databáze hes11 – ukáže její tabulky (může být prázdná)
- mdb-schema : ukáže /TABLE Losungen v losungen2011.mdb
- diff -b -U0 losungen2010.schema losungen2011.schema : ukáže případný rozdíl s loňskou tabulkou MDB (vloni jsem ale žádnou neměl)
- mdb-export -D %F losungen2011.mdb Losungen > import.csv : exportuje data do CSV souboru, fromdos převede CRLF na LF
- mysql hes11 < /hes_struct.sql : vytvoří strukturu databáze hes11
- mysql -v -v --show-warnings hes11 < /load_data_infile.sql : importuje data do databáze
- Výsledek – pomocná /tabulka import, obsahující stejná pole, jako původní mdb databáze, ale v jiném pořadí
w02-sql-univerzalni-tabulky
editovatgenerování univerzálních tabulek
editovat2010-02-25
editovat- Z loňské databáze hes10bak byla vyexportována tabulka day do souboru day10decs.sql – obsahuje záznamy českých a německých nedělí, svátků, zvláštních týdnů atd. Pak byla naimportována do databáze hes11 jakožto pomocná tabulka day10decs
- Skript hes-day_cs.pl čte tuto tabulku day10decs a vytváří dle ní tabulku day_cs, která obsahuje pouze českojazyčné kompletní záznamy, ovšem v prvním sloupci text_de má jako klíč německý název. Tato tabulka bude sloužit pro překlad německých dnů na české.
- Z loňské databáze hes10bak byla vyexportována tabulka comment do souboru comment10decs.sql. V tomnto souboru byla lehce upravena a přetříděna, obsahuje záznamy německých a českých výročí, sloupec date je jako primární klíč. Potom byla importována do databáze hes11 jako tabulka comment_uni. (Databáze mdb na letošní rok 2011 totiž tato výročí neobsahuje.)
w03-sql-load
editovat2010-02-25
editovat- Začátek práce na skriptu hes-sql-load.pl, jehož účelem bude naplnit vlastní tabulky databáze hes11 daty z tabulky import a za pomoci tabulek day_cs a comment_uni. Zároveň bude překládat německé verše na české. Základem skriptu pro překlad byl loňský skript los10hes.pl (ovšem ten nepracoval nad databází, ale procházel textový soubor los10-18.pre, ze kterého generoval hes10-18.pre).
2010-03-03
editovat- Dokumentace zde
- Odskok do projektu Bible: MySQL, abychom nemuseli lovit verše z textových souborů jako v loňských letech.
w04-php-mirkovi
editovat2010-04-24
editovatÚpravy skriptů z minulého roku:
- functions.php
- index.php
Verze 2011.34:
2010-04-29
editovatExport databáze pro Mirka:
- hes11mirekMySQL40.sql
w05-od-mirka
editovat2010-07-22
editovat- hes11mirek.sql.gz – export databáze od Mirka (má blbě nastavený systémový čas: 2010-11-15)
2010-07-27
editovatImporty do lokální databáze:
- hes11mirkovi <- hes11mirek.sql.gz
45 queries executed.
tabulka | počet záznamů |
---|---|
comment | 8 |
comment_uni | 16 |
day | 158 |
day10decs | 156 |
day_cs | 91 |
dayname | 0 |
drittetext | 365 |
import | 365 |
losung | 2423 |
reading | 1744 |
seq | 79 |
song | 121 |
- hes11odmirka <- hes11mirek.sql.gz
Import has been successfully finished, 51 queries executed.
tabulka | počet záznamů |
---|---|
comment | 8 |
comment_uni | 16 |
day | 158 |
day10decs | 156 |
day_cs | 91 |
dayname | 0 |
drittetext | 365 |
import | 365 |
losung | 2423 |
reading | 1744 |
seq | 79 |
song | 121 |
V plánu
editovatw18-Ps+comments
editovat2010-10-14
editovatAž teď jsem si všimnul, že v databázi chybí doplněná tabulka comments s významnými dny, takže skript, který to tam nacpe z tabulky comments_uni:
- hes11sql-comments.pl
Další problém se žalmy (viz README): Problém: v databázi chyběly nedělní žalmy:
- v Losungen_fuer2011-06.04.2010.rtf jsou, OK
- v položce Import.Ft1_Angaben jsou, OK
- v tabulce reading nejsou ani německy, ani česky:
SELECT * FROM `reading` WHERE `which` = 'Ps'
- Problém bude v části kódu:
if($DL =~ /Psalm/) { # je to žalm
if($f12==2) { # žalm na týden není jako druhý
$whDL = 'PF'; # je to žalm pro svátek: Psalm für Fest
} elsif ($sunday) { # takže je to první svátek, může být neděle:
$whDL = 'WP'; # v neděli je Wochenpsalm
} else { # poprvé ve svátek je to zase Psalm für Fest
$whDL = 'PF';
}
} else { # když to není Žalm,
$whDL = 'DL'; # tak je to 3. čtení
}
Chyba je v tom, že v Losungen 2010 byl jednak Wochenpsalm `reading.WP` a jednak Psalm `reading.Ps` Od letoška už je jen Psalm, takže v tom skriptu má být správně 'Ps' a nikoliv 'WP'.
Náprava databáze:
SELECT COUNT(*) FROM `reading` WHERE `which`='WP';
COUNT(*)
100
SELECT COUNT(*) FROM `reading` WHERE `which`='WP' AND `lang`='cs';
COUNT(*)
50
SELECT COUNT(*) FROM `reading` WHERE `which`='Ps';
COUNT(*)
0
SELECT * FROM `reading` WHERE `which`='WP' AND `lang`='cs';
chybí neděle:
- 2011-04-24 - to je Velký pátek, v Losungen je čtení: Johannes 19,16-30 :: 2.Korinther 5,(14b-18)19-21 :: Matthäus 27,45-56
- 2001-12-25 - 2. svátek vánoční, v Losungen je čtení: Johannes 1,1-5(6-8)9-14 :: Hebräer 1,1-3(4-6) :: Lukas 2,29-32
(Celkem je 52 nedělí v roce)
UPDATE `reading` set `which`='Ps' WHERE `which`='WP';
100 row(s) affected.
SELECT COUNT(*) FROM `reading` WHERE `which`='Ps';
COUNT(*)
100
Problém byl, že jsem to sem už nepoznamenal (toto dopisuji až dodatečně při přípravěProjekt: Hesla Jednoty bratrské/2013, kdy řeším stejné chyby), takže za rok (Projekt: Hesla Jednoty bratrské/2012) se stejné problémy opakovaly, avšak zůstaly nevyřešeny a došlo k tiskovým chybám :-( Není nadto psát dokumentaci včas...