From: Marcin Koziej Date: Mon, 16 Jul 2012 00:17:04 +0000 (+0200) Subject: ported to Web SQL X-Git-Url: https://git.mdrn.pl/ReadingsJQM.git/commitdiff_plain/45f8b33043d9aad64b1f89906323bc477efda0f3 ported to Web SQL --- diff --git a/books.html b/books.html index 1e38975..06eb20c 100644 --- a/books.html +++ b/books.html @@ -18,7 +18,8 @@ data-filter-placeholder="Search..." data-divider-theme="b" data-inset="false" - id="list-books"> + id="list-books" + data-inset="true"> diff --git a/categories.html b/categories.html index 71f638c..164bbf7 100644 --- a/categories.html +++ b/categories.html @@ -22,7 +22,7 @@ - + @@ -46,10 +46,12 @@ + - - + + + diff --git a/css/images/ajax-loader.gif b/css/images/ajax-loader.gif new file mode 100644 index 0000000..fd1a189 Binary files /dev/null and b/css/images/ajax-loader.gif differ diff --git a/css/images/ajax-loader.png b/css/images/ajax-loader.png new file mode 100644 index 0000000..13b208d Binary files /dev/null and b/css/images/ajax-loader.png differ diff --git a/css/images/icons-18-black.png b/css/images/icons-18-black.png new file mode 100644 index 0000000..ce1b758 Binary files /dev/null and b/css/images/icons-18-black.png differ diff --git a/css/images/icons-18-white.png b/css/images/icons-18-white.png new file mode 100644 index 0000000..1ab0127 Binary files /dev/null and b/css/images/icons-18-white.png differ diff --git a/css/images/icons-36-black.png b/css/images/icons-36-black.png new file mode 100644 index 0000000..1a59d7c Binary files /dev/null and b/css/images/icons-36-black.png differ diff --git a/css/images/icons-36-white.png b/css/images/icons-36-white.png new file mode 100644 index 0000000..5647bdc Binary files /dev/null and b/css/images/icons-36-white.png differ diff --git a/docs/notes.org b/docs/notes.org new file mode 100644 index 0000000..aacfad2 --- /dev/null +++ b/docs/notes.org @@ -0,0 +1,3 @@ + +* Run chrome to enable develpment on file:// +/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --allow-file-access-from-files --disable-web-security diff --git a/favicon.png b/favicon.png new file mode 100644 index 0000000..9794f35 Binary files /dev/null and b/favicon.png differ diff --git a/initdb.sql b/initdb.sql new file mode 100644 index 0000000..e0dbe06 --- /dev/null +++ b/initdb.sql @@ -0,0 +1,406 @@ +BEGIN TRANSACTION; +CREATE TABLE book ( + id INTEGER PRIMARY KEY, + title VARCHAR, + cover VARCHAR, + html_file VARCHAR, + html_file_size INTEGER, + parent INTEGER, + parent_number INTEGER, + + sort_key VARCHAR, + pretty_size VARCHAR, + authors VARCHAR, + _local BOOLEAN +); +INSERT INTO "book" VALUES(1,'Akordy jesienne','/media/book/png/akordy-jesienne.png','/media/book/html/akordy-jesienne_1.html',63623,NULL,0,'akordy jesienne','62 KiB','Jan Kasprowicz',NULL); +INSERT INTO "book" VALUES(2,'A cóż z tą Dzieciną...','/media/book/png/a-coz-z-ta-dziecina.png','/media/book/html/a-coz-z-ta-dziecina.html',9046,NULL,0,'a co~0z~1 z ta~0 dziecina~0 ','8.8 KiB','Autor nieznany',NULL); +INSERT INTO "book" VALUES(3,'A jednak ja nie wątpię - bo się pora zbliża','/media/book/png/a-jednak-ja-nie-watpie-bo-sie-pora-zbliza.png','/media/book/html/a-jednak-ja-nie-watpie-bo-sie-pora-zbliza.html',2853,NULL,0,'a jednak ja nie wa~0tpie~0 bo sie~0 pora zbliz~1a','2.8 KiB','Juliusz Słowacki',NULL); +INSERT INTO "book" VALUES(4,'A kiedy będziesz...','/media/book/png/a-kiedy-bedziesz.png','/media/book/html/a-kiedy-bedziesz.html',4481,NULL,0,'a kiedy be~0dziesz ','4.4 KiB','Kazimierz Przerwa-Tetmajer',NULL); +INSERT INTO "book" VALUES(5,'Abuzei i Tair','/media/book/png/abuzei-i-tair.png','/media/book/html/abuzei-i-tair.html',1095,NULL,0,'abuzei i tair','1.1 KiB','Ignacy Krasicki',NULL); +INSERT INTO "book" VALUES(6,'Akslop','/media/book/png/akslop.png','/media/book/html/akslop.html',1402,NULL,0,'akslop','1.4 KiB','Miłosz Biedrzycki',NULL); +INSERT INTO "book" VALUES(7,'Alegoria','/media/book/png/alegoria.png','/media/book/html/alegoria.html',2666,NULL,0,'alegoria','2.6 KiB','Ignacy Krasicki',NULL); +INSERT INTO "book" VALUES(8,'Anioł ognisty - mój anioł lewy','/media/book/png/aniol-ognisty-moj-aniol-lewy.png','/media/book/html/aniol-ognisty-moj-aniol-lewy.html',2317,NULL,0,'aniol~0 ognisty mo~0j aniol~0 lewy','2.3 KiB','Juliusz Słowacki',NULL); +INSERT INTO "book" VALUES(9,'Anioł','/media/book/png/aniol.png','/media/book/html/aniol.html',10112,NULL,0,'aniol~0','9.9 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(10,'Anioły stoją na rodzinnych polach','/media/book/png/anioly-stoja-na-rodzinnych-polach.png','/media/book/html/anioly-stoja-na-rodzinnych-polach.html',2100,NULL,0,'aniol~0y stoja~0 na rodzinnych polach','2.1 KiB','Juliusz Słowacki',NULL); +INSERT INTO "book" VALUES(11,'Antek','/media/book/png/antek.png','/media/book/html/antek.html',94506,NULL,0,'antek','92 KiB','Bolesław Prus',NULL); +INSERT INTO "book" VALUES(12,'Antygona','/media/book/png/antygona.png','/media/book/html/antygona.html',145835,NULL,0,'antygona','142 KiB','Sofokles',NULL); +INSERT INTO "book" VALUES(13,'Antymonachomachia','/media/book/png/antymonachomachia.png','/media/book/html/antymonachomachia.html',232662,NULL,0,'antymonachomachia','227 KiB','Ignacy Krasicki',NULL); +INSERT INTO "book" VALUES(14,'Aptekarzowa','/media/book/png/aptekarzowa.png','/media/book/html/aptekarzowa.html',18187,NULL,0,'aptekarzowa','17 KiB','Anton Czechow',NULL); +INSERT INTO "book" VALUES(15,'Asyż','/media/book/png/asyz.png','/media/book/html/asyz.html',2426,NULL,0,'asyz~1','2.4 KiB','Louis le Cardonnel',NULL); +INSERT INTO "book" VALUES(16,'Atłas i kitaj','/media/book/png/atlas-i-kitaj.png','/media/book/html/atlas-i-kitaj.html',2046,NULL,0,'atl~0as i kitaj','2.0 KiB','Ignacy Krasicki',NULL); +INSERT INTO "book" VALUES(17,'Bachantki','/media/book/png/bachantki.png','/media/book/html/bachantki.html',210793,NULL,0,'bachantki','205 KiB','Eurypides',NULL); +INSERT INTO "book" VALUES(18,'Dwa żółwie','/media/book/png/dwa-zolwie.png','/media/book/html/dwa-zolwie.html',1534,NULL,0,'dwa z~1o~0l~0wie','1.5 KiB','Ignacy Krasicki',NULL); +INSERT INTO "book" VALUES(19,'Kulawy i ślepy','/media/book/png/kulawy-i-slepy.png','/media/book/html/kulawy-i-slepy.html',2911,NULL,0,'kulawy i s~0lepy','2.8 KiB','Ignacy Krasicki',NULL); +INSERT INTO "book" VALUES(20,'Lew i zwierzęta','/media/book/png/lew-i-zwierzeta.png','/media/book/html/lew-i-zwierzeta.html',2805,NULL,0,'lew i zwierze~0ta','2.7 KiB','Ignacy Krasicki',NULL); +INSERT INTO "book" VALUES(21,'Bąk i piłka','/media/book/png/bak-i-pilka.png','/media/book/html/bak-i-pilka.html',9553,NULL,0,'ba~0k i pil~0ka','9.3 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(22,'Ballada z tamtej strony','/media/book/png/ballada-z-tamtej-strony.png','/media/book/html/ballada-z-tamtej-strony.html',2937,NULL,0,'ballada z tamtej strony','2.9 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(23,'Bez nut','/media/book/png/bez-nut.png','/media/book/html/bez-nut.html',2839,NULL,0,'bez nut','2.8 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(24,'Deszcz w Concarneau','/media/book/png/deszcz-w-concarneau.png','/media/book/html/deszcz-w-concarneau.html',2399,NULL,0,'deszcz w concarneau','2.3 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(25,'Elegia niemocy','/media/book/png/elegia-niemocy.png','/media/book/html/elegia-niemocy.html',4075,NULL,0,'elegia niemocy','4.0 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(26,'Elegia uśpienia','/media/book/png/elegia-uspienia.png','/media/book/html/elegia-uspienia.html',4628,NULL,0,'elegia us~0pienia','4.5 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(27,'Elegia żalu','/media/book/png/elegia-zalu.png','/media/book/html/elegia-zalu.html',4066,NULL,0,'elegia z~1alu','4.0 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(28,'Erotyk','/media/book/png/erotyk.png','/media/book/html/erotyk.html',2061,NULL,0,'erotyk','2.0 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(29,'Imieniny','/media/book/png/imieniny.png','/media/book/html/imieniny.html',1402,NULL,0,'imieniny','1.4 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(30,'Lato na Wołyniu','/media/book/png/lato-na-wolyniu.png','/media/book/html/lato-na-wolyniu.html',4026,NULL,0,'lato na wol~0yniu','3.9 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(31,'Melancholia','/media/book/png/melancholia.png','/media/book/html/melancholia.html',1995,NULL,0,'melancholia','1.9 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(32,'O matce','/media/book/png/o-matce.png','/media/book/html/o-matce.html',2899,NULL,0,'o matce','2.8 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(33,'Pamięci zniknionego','/media/book/png/pamieci-zniknionego.png','/media/book/html/pamieci-zniknionego.html',4406,NULL,0,'pamie~0ci zniknionego','4.3 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(34,'Pieśń','/media/book/png/piesn.png','/media/book/html/piesn.html',4083,NULL,0,'pies~0n~0','4.0 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(35,'Pod popiołem','/media/book/png/pod-popiolem.png','/media/book/html/pod-popiolem.html',3045,NULL,0,'pod popiol~0em','3.0 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(36,'Pontorson','/media/book/png/pontorson.png','/media/book/html/pontorson.html',3205,NULL,0,'pontorson','3.1 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(37,'Preludium','/media/book/png/preludium.png','/media/book/html/preludium.html',3077,NULL,0,'preludium','3.0 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(38,'Przeczucia','/media/book/png/przeczucia.png','/media/book/html/przeczucia.html',3706,NULL,0,'przeczucia','3.6 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(39,'Przez kresy','/media/book/png/przez-kresy.png','/media/book/html/przez-kresy.html',2449,NULL,0,'przez kresy','2.4 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(40,'Sam','/media/book/png/sam.png','/media/book/html/sam.html',3519,NULL,0,'sam','3.4 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(41,'Samobójstwo','/media/book/png/samobojstwo.png','/media/book/html/samobojstwo.html',5533,NULL,0,'samobo~0jstwo','5.4 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(42,'W pejzażu','/media/book/png/w-pejzazu.png','/media/book/html/w-pejzazu.html',2300,NULL,0,'w pejzaz~1u','2.2 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(43,'Więzienie','/media/book/png/wiezienie.png','/media/book/html/wiezienie.html',2992,NULL,0,'wie~0zienie','2.9 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(44,'Zdrada','/media/book/png/zdrada.png','/media/book/html/zdrada.html',3668,NULL,0,'zdrada','3.6 KiB','Józef Czechowicz',NULL); +INSERT INTO "book" VALUES(45,'Lilje','/media/book/png/lilje.png','/media/book/html/lilje.html',29488,53,0,'lilje','28 KiB','Adam Mickiewicz',NULL); +INSERT INTO "book" VALUES(46,'Pani Twardowska','/media/book/png/pani-twardowska.png','/media/book/html/pani-twardowska.html',15480,53,1,'pani twardowska','15 KiB','Adam Mickiewicz',NULL); +INSERT INTO "book" VALUES(47,'Powrót taty','/media/book/png/powrot-taty.png','/media/book/html/powrot-taty.html',9550,53,2,'powro~0t taty','9.3 KiB','Adam Mickiewicz',NULL); +INSERT INTO "book" VALUES(48,'Rękawiczka','/media/book/png/rekawiczka.png','/media/book/html/rekawiczka.html',6248,53,3,'re~0kawiczka','6.1 KiB','Adam Mickiewicz',NULL); +INSERT INTO "book" VALUES(49,'Romantyczność','/media/book/png/romantycznosc.png','/media/book/html/romantycznosc.html',8266,53,4,'romantycznos~0c~0','8.1 KiB','Adam Mickiewicz',NULL); +INSERT INTO "book" VALUES(50,'Rybka','/media/book/png/rybka.png','/media/book/html/rybka.html',14272,53,5,'rybka','13 KiB','Adam Mickiewicz',NULL); +INSERT INTO "book" VALUES(51,'Świteź','/media/book/png/switez.png','/media/book/html/switez.html',21842,53,6,'s~0witez~0','21 KiB','Adam Mickiewicz',NULL); +INSERT INTO "book" VALUES(52,'Świtezianka','/media/book/png/switezianka.png','/media/book/html/switezianka.html',16615,53,7,'s~0witezianka','16 KiB','Adam Mickiewicz',NULL); +INSERT INTO "book" VALUES(53,'Ballady i romanse','/media/book/png/ballady-i-romanse.png',NULL,NULL,NULL,0,'ballady i romanse',NULL,'Adam Mickiewicz',NULL); +INSERT INTO "book" VALUES(54,'Balladyna','/media/book/png/balladyna.png','/media/book/html/balladyna.html',572987,NULL,0,'balladyna','559 KiB','Juliusz Słowacki',NULL); +INSERT INTO "book" VALUES(55,'Bank Nucingena','/media/book/png/bank-nucingena.png','/media/book/html/bank-nucingena.html',183503,NULL,0,'bank nucingena','179 KiB','Honoré de Balzac',NULL); +INSERT INTO "book" VALUES(56,'Eugenia Grandet','/media/book/png/eugenia-grandet.png','/media/book/html/eugenia-grandet.html',564142,NULL,0,'eugenia grandet','550 KiB','Honoré de Balzac',NULL); +INSERT INTO "book" VALUES(57,'Gobseck','/media/book/png/gobseck.png','/media/book/html/gobseck.html',179656,NULL,0,'gobseck','175 KiB','Honoré de Balzac',NULL); +INSERT INTO "book" VALUES(58,'Jaszczur','/media/book/png/jaszczur.png','/media/book/html/jaszczur.html',716419,NULL,0,'jaszczur','699 KiB','Honoré de Balzac',NULL); +INSERT INTO "book" VALUES(59,'Kobieta porzucona','/media/book/png/kobieta-porzucona.png','/media/book/html/kobieta-porzucona.html',131716,NULL,0,'kobieta porzucona','128 KiB','Honoré de Balzac',NULL); +INSERT INTO "book" VALUES(60,'Kobieta trzydziestoletnia','/media/book/png/kobieta-trzydziestoletnia.png','/media/book/html/kobieta-trzydziestoletnia.html',503297,NULL,0,'kobieta trzydziestoletnia','491 KiB','Honoré de Balzac',NULL); +INSERT INTO "book" VALUES(61,'Baran dany na ofiarę','/media/book/png/baran-dany-na-ofiare.png','/media/book/html/baran-dany-na-ofiare.html',1805,NULL,0,'baran dany na ofiare~0','1.8 KiB','Ignacy Krasicki',NULL); +INSERT INTO "book" VALUES(62,'Baranki moje...','/media/book/png/baranki-moje.png','/media/book/html/baranki-moje.html',1543,NULL,0,'baranki moje ','1.5 KiB','Juliusz Słowacki',NULL); +INSERT INTO "book" VALUES(63,'Bartek zwycięzca','/media/book/png/bartek-zwyciezca.png','/media/book/html/bartek-zwyciezca.html',175498,NULL,0,'bartek zwycie~0zca','171 KiB','Henryk Sienkiewicz',NULL); +INSERT INTO "book" VALUES(64,'Syrena','/media/book/png/syrena.png','/media/book/html/syrena.html',72917,NULL,0,'syrena','71 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(65,'Zwierciadło','/media/book/png/zwierciadlo.png','/media/book/html/zwierciadlo.html',1798,NULL,0,'zwierciadl~0o','1.8 KiB','Charles Baudelaire',NULL); +INSERT INTO "book" VALUES(66,'Beczka Amontillada','/media/book/png/beczka-amontillada.png','/media/book/html/beczka-amontillada.html',29058,NULL,0,'beczka amontillada','28 KiB','Edgar Allan Poe',NULL); +INSERT INTO "book" VALUES(67,'Bema pamięci żałobny rapsod','/media/book/png/bema-pamieci-zalobny-rapsod.png','/media/book/html/bema-pamieci-zalobny-rapsod.html',5725,NULL,0,'bema pamie~0ci z~1al~0obny rapsod','5.6 KiB','Cyprian Kamil Norwid',NULL); +INSERT INTO "book" VALUES(68,'Beniowski. Dalsze pieśni','/media/book/png/beniowski-dalsze-piesni.png','/media/book/html/beniowski-dalsze-piesni.html',674080,70,1,'beniowski dalsze pies~0ni','658 KiB','Juliusz Słowacki',NULL); +INSERT INTO "book" VALUES(69,'Beniowski. Pięć pierwszych pieśni','/media/book/png/beniowski-piec-pierwszych-piesni.png','/media/book/html/beniowski-piec-pierwszych-piesni.html',559667,70,0,'beniowski pie~0c~0 pierwszych pies~0ni','546 KiB','Juliusz Słowacki',NULL); +INSERT INTO "book" VALUES(70,'Beniowski','/media/book/png/beniowski.png',NULL,NULL,NULL,0,'beniowski',NULL,'Juliusz Słowacki',NULL); +INSERT INTO "book" VALUES(71,'Berenice','/media/book/png/berenice.png','/media/book/html/berenice.html',37150,NULL,0,'berenice','36 KiB','Edgar Allan Poe',NULL); +INSERT INTO "book" VALUES(72,'De profundis','/media/book/png/de-profundis.png','/media/book/html/de-profundis.html',4481,NULL,0,'de profundis','4.4 KiB','Jean-Marc Bernard',NULL); +INSERT INTO "book" VALUES(73,'Bezbronna istota','/media/book/png/bezbronna-istota.png','/media/book/html/bezbronna-istota.html',16699,NULL,0,'bezbronna istota','16 KiB','Anton Czechow',NULL); +INSERT INTO "book" VALUES(74,'Białośnieżka i Różanka','/media/book/png/bialosniezka-i-rozanka.png','/media/book/html/bialosniezka-i-rozanka.html',24791,NULL,0,'bial~0os~0niez~1ka i ro~0z~1anka','24 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(75,'Biedny młynarczyk i kotek','/media/book/png/biedny-mlynarczyk-i-kotek.png','/media/book/html/biedny-mlynarczyk-i-kotek.html',21512,NULL,0,'biedny ml~0ynarczyk i kotek','21 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(76,'Bo mię matka moja miła','/media/book/png/bo-mie-matka-moja-mila.png','/media/book/html/bo-mie-matka-moja-mila.html',971,NULL,0,'bo mie~0 matka moja mil~0a','971 B','Juliusz Słowacki',NULL); +INSERT INTO "book" VALUES(77,'Bo to jest wieszcza najjaśniejsza chwała','/media/book/png/bo-to-jest-wieszcza-najjasniejsza-chwala.png','/media/book/html/bo-to-jest-wieszcza-najjasniejsza-chwala.html',1286,NULL,0,'bo to jest wieszcza najjas~0niejsza chwal~0a','1.3 KiB','Juliusz Słowacki',NULL); +INSERT INTO "book" VALUES(78,'Bocian i jeleń','/media/book/png/bocian-i-jelen.png','/media/book/html/bocian-i-jelen.html',1212,NULL,0,'bocian i jelen~0','1.2 KiB','Ignacy Krasicki',NULL); +INSERT INTO "book" VALUES(79,'Bogacz i żebrak','/media/book/png/bogacz-i-zebrak.png','/media/book/html/bogacz-i-zebrak.html',1706,NULL,0,'bogacz i z~1ebrak','1.7 KiB','Ignacy Krasicki',NULL); +INSERT INTO "book" VALUES(80,'Bogurodzica','/media/book/png/bogurodzica.png','/media/book/html/bogurodzica.html',22166,NULL,0,'bogurodzica','21 KiB','Autor nieznany',NULL); +INSERT INTO "book" VALUES(81,'Czyściec','/media/book/png/czysciec.png','/media/book/html/czysciec.html',690035,85,2,'czys~0ciec','673 KiB','Dante Alighieri',NULL); +INSERT INTO "book" VALUES(82,'Piekło','/media/book/png/pieklo.png','/media/book/html/pieklo.html',672059,85,1,'piekl~0o','656 KiB','Dante Alighieri',NULL); +INSERT INTO "book" VALUES(83,'Raj','/media/book/png/raj.png','/media/book/html/raj.html',710330,85,3,'raj','693 KiB','Dante Alighieri',NULL); +INSERT INTO "book" VALUES(84,'Wstęp [Boska Komedia]','/media/book/png/wstep-boska-komedia.png','/media/book/html/wstep-boska-komedia.html',98308,85,0,'wste~0p boska komedia ','96 KiB','Julian Korsak',NULL); +INSERT INTO "book" VALUES(85,'Boska Komedia','/media/book/png/boska-komedia.png',NULL,NULL,NULL,0,'boska komedia',NULL,'Dante Alighieri',NULL); +INSERT INTO "book" VALUES(86,'Świętoszek','/media/book/png/swietoszek.png','/media/book/html/swietoszek.html',460923,NULL,0,'s~0wie~0toszek','450 KiB','Molière',NULL); +INSERT INTO "book" VALUES(87,'Boże, coś Polskę..','/media/book/png/boze-cos-polske.png','/media/book/html/boze-cos-polske.html',17651,NULL,0,'boz~1e cos~0 polske~0 ','17 KiB','Alojzy Feliński',NULL); +INSERT INTO "book" VALUES(88,'Bracia, patrzcie jeno...','/media/book/png/bracia-patrzcie-jeno.png','/media/book/html/bracia-patrzcie-jeno.html',5338,NULL,0,'bracia patrzcie jeno ','5.2 KiB','Autor nieznany',NULL); +INSERT INTO "book" VALUES(89,'Brązownicy','/media/book/png/brazownicy.png','/media/book/html/brazownicy.html',574917,NULL,0,'bra~0zownicy','561 KiB','Tadeusz Boy-Żeleński',NULL); +INSERT INTO "book" VALUES(90,'Bryła lodu i kryształ','/media/book/png/bryla-lodu-i-krysztal.png','/media/book/html/bryla-lodu-i-krysztal.html',1549,NULL,0,'bryl~0a lodu i krysztal~0','1.5 KiB','Ignacy Krasicki',NULL); +INSERT INTO "book" VALUES(91,'Brytan w obroży','/media/book/png/brytan-w-obrozy.png','/media/book/html/brytan-w-obrozy.html',1426,NULL,0,'brytan w obroz~1y','1.4 KiB','Ignacy Krasicki',NULL); +INSERT INTO "book" VALUES(92,'Brzydkie kaczątko','/media/book/png/brzydkie-kaczatko.png','/media/book/html/brzydkie-kaczatko.html',42711,NULL,0,'brzydkie kacza~0tko','41 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(93,'(Bursztyn, żyto dojrzałe...)','/media/book/png/bursztyn-zyto-dojrzale.png','/media/book/html/bursztyn-zyto-dojrzale.html',2632,NULL,0,' bursztyn z~1yto dojrzal~0e ','2.6 KiB','Charles Guérin',NULL); +INSERT INTO "book" VALUES(94,'But w butonierce','/media/book/png/but-w-butonierce.png','/media/book/html/but-w-butonierce.html',2648,121,25,'but w butonierce','2.6 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(95,'Cafe','/media/book/png/cafe.png','/media/book/html/cafe.html',2656,121,5,'cafe','2.6 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(96,'[But w butonierce - Dedykacja]','/media/book/png/but-w-butonierce-dedykacja.png','/media/book/html/but-w-butonierce-dedykacja.html',669,121,0,' but w butonierce dedykacja ','669 B','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(97,'Deszcz','/media/book/png/deszcz.png','/media/book/html/deszcz.html',1818,121,10,'deszcz','1.8 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(98,'[Intermezzo (Czy widzieliście...)]','/media/book/png/intermezzo-czy-widzieliscie.png','/media/book/html/intermezzo-czy-widzieliscie.html',595,121,12,' intermezzo czy widzielis~0cie ','595 B','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(99,'[Intermezzo (Zielone są ręce moje...)]','/media/book/png/intermezzo-zielone-sa-rece-moje.png','/media/book/html/intermezzo-zielone-sa-rece-moje.html',913,121,20,' intermezzo zielone sa~0 re~0ce moje ','913 B','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(100,'Ipecacuara','/media/book/png/ipecacuara.png','/media/book/html/ipecacuara.html',4188,121,3,'ipecacuara','4.1 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(101,'[Jak introdukcja]','/media/book/png/jak-introdukcja.png','/media/book/html/jak-introdukcja.html',1179,121,1,' jak introdukcja ','1.2 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(102,'Lili nudzi się','/media/book/png/lili-nudzi-sie.png','/media/book/html/lili-nudzi-sie.html',6160,121,14,'lili nudzi sie~0','6.0 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(103,'Marsz','/media/book/png/marsz.png','/media/book/html/marsz.html',5431,121,23,'marsz','5.3 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(104,'Miasto','/media/book/png/miasto.png','/media/book/html/miasto.html',20405,121,19,'miasto','19 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(105,'Miłość na aucie','/media/book/png/milosc-na-aucie.png','/media/book/html/milosc-na-aucie.html',2027,121,7,'mil~0os~0c~0 na aucie','2.0 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(106,'Morga','/media/book/png/morga.png','/media/book/html/morga.html',4265,121,4,'morga','4.2 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(107,'[Na bis]','/media/book/png/na-bis.png','/media/book/html/na-bis.html',3671,121,26,' na bis ','3.6 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(108,'Nic','/media/book/png/nic.png','/media/book/html/nic.html',304,121,22,'nic','304 B','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(109,'Panienki w lesie','/media/book/png/panienki-w-lesie.png','/media/book/html/panienki-w-lesie.html',1565,121,6,'panienki w lesie','1.5 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(110,'Perche?','/media/book/png/perche.png','/media/book/html/perche.html',3694,121,8,'perche ','3.6 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(111,'Podróżniczki','/media/book/png/podrozniczki.png','/media/book/html/podrozniczki.html',2995,121,21,'podro~0z~1niczki','2.9 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(112,'Prozowierszem','/media/book/png/prozowierszem.png','/media/book/html/prozowierszem.html',3628,121,16,'prozowierszem','3.5 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(113,'Przejechali','/media/book/png/przejechali.png','/media/book/html/przejechali.html',1627,121,13,'przejechali','1.6 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(114,'Śmierć Pana Premiera','/media/book/png/smierc-pana-premiera.png','/media/book/html/smierc-pana-premiera.html',11872,121,9,'s~0mierc~0 pana premiera','11 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(115,'Śnieg','/media/book/png/snieg.png','/media/book/html/snieg.html',2561,121,17,'s~0nieg','2.5 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(116,'Spacer','/media/book/png/spacer.png','/media/book/html/spacer.html',1335,121,18,'spacer','1.3 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(117,'Tango jesienne','/media/book/png/tango-jesienne.png','/media/book/html/tango-jesienne.html',2221,121,24,'tango jesienne','2.2 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(118,'Trupy z kawiorem','/media/book/png/trupy-z-kawiorem.png','/media/book/html/trupy-z-kawiorem.html',5845,121,11,'trupy z kawiorem','5.7 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(119,'Wiosna','/media/book/png/wiosna.png','/media/book/html/wiosna.html',1335,121,15,'wiosna','1.3 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(120,'Żygające posągi','/media/book/png/zygajace-posagi.png','/media/book/html/zygajace-posagi.html',6812,121,2,'z~1ygaja~0ce posa~0gi','6.7 KiB','Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(121,'But w butonierce (tomik)','/media/book/png/but-w-butonierce-tomik.png',NULL,NULL,NULL,0,'but w butonierce tomik ',NULL,'Bruno Jasieński',NULL); +INSERT INTO "book" VALUES(122,'Byłbym cię oddał...','/media/book/png/bylbym-cie-oddal.png','/media/book/html/bylbym-cie-oddal.html',1974,NULL,0,'byl~0bym cie~0 oddal~0 ','1.9 KiB','Kazimierz Przerwa-Tetmajer',NULL); +INSERT INTO "book" VALUES(123,'Bywaj dziewczę zdrowe...','/media/book/png/bywaj-dziewcze-zdrowe.png','/media/book/html/bywaj-dziewcze-zdrowe.html',3045,NULL,0,'bywaj dziewcze~0 zdrowe ','3.0 KiB','Autor nieznany',NULL); +INSERT INTO "book" VALUES(124,'Calineczka','/media/book/png/calineczka.png','/media/book/html/calineczka.html',39028,NULL,0,'calineczka','38 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(125,'Cesarz chiński i syn jego','/media/book/png/cesarz-chinski-i-syn-jego.png','/media/book/html/cesarz-chinski-i-syn-jego.html',2628,NULL,0,'cesarz chin~0ski i syn jego','2.6 KiB','Ignacy Krasicki',NULL); +INSERT INTO "book" VALUES(126,'Chart i kotka','/media/book/png/chart-i-kotka.png','/media/book/html/chart-i-kotka.html',870,NULL,0,'chart i kotka','870 B','Ignacy Krasicki',NULL); +INSERT INTO "book" VALUES(127,'Chata w lesie','/media/book/png/chata-w-lesie.png','/media/book/html/chata-w-lesie.html',22693,NULL,0,'chata w lesie','22 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(128,'Chleb i szabla','/media/book/png/chleb-i-szabla.png','/media/book/html/chleb-i-szabla.html',1419,NULL,0,'chleb i szabla','1.4 KiB','Ignacy Krasicki',NULL); +INSERT INTO "book" VALUES(129,'Część pierwsza - Jesień','/media/book/png/czesc-pierwsza-jesien.png','/media/book/html/czesc-pierwsza-jesien.html',872778,NULL,0,'cze~0s~0c~0 pierwsza jesien~0','852 KiB','Władysław Stanisław Reymont',NULL); +INSERT INTO "book" VALUES(130,'Choinka','/media/book/png/choinka.png','/media/book/html/choinka.html',33876,NULL,0,'choinka','33 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(131,'Cień','/media/book/png/cien.png','/media/book/html/cien.html',42016,NULL,0,'cien~0','41 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(132,'Cierpienia młodego Wertera','/media/book/png/cierpienia-mlodego-wertera.png','/media/book/html/cierpienia-mlodego-wertera.html',425658,NULL,0,'cierpienia ml~0odego wertera','415 KiB','Johann Wolfgang von Goethe',NULL); +INSERT INTO "book" VALUES(133,'Coś','/media/book/png/cos.png','/media/book/html/cos.html',23942,NULL,0,'cos~0','23 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(134,'Cudzoziemiec','/media/book/png/cudzoziemiec.png','/media/book/html/cudzoziemiec.html',3059,NULL,0,'cudzoziemiec','3.0 KiB','Charles Baudelaire',NULL); +INSERT INTO "book" VALUES(135,'Czerwone buciki','/media/book/png/czerwone-buciki.png','/media/book/html/czerwone-buciki.html',20884,NULL,0,'czerwone buciki','20 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(136,'Do Matki (W ciemnościach postać mi stoi matczyna...)','/media/book/png/do-matki-w-ciemnosciach-postac-mi-stoi-matczyna.png','/media/book/html/do-matki-w-ciemnosciach-postac-mi-stoi-matczyna.html',763,NULL,0,'do matki w ciemnos~0ciach postac~0 mi stoi matczyna ','763 B','Juliusz Słowacki',NULL); +INSERT INTO "book" VALUES(137,'Do matki (Zadrży ci nieraz serce, miła matko moja...)','/media/book/png/do-matki-zadrzy-ci-nieraz-serce-mila-matko-moja.png','/media/book/html/do-matki-zadrzy-ci-nieraz-serce-mila-matko-moja.html',2211,NULL,0,'do matki zadrz~1y ci nieraz serce mil~0a matko moja ','2.2 KiB','Juliusz Słowacki',NULL); +INSERT INTO "book" VALUES(138,'Duch we flaszce','/media/book/png/duch-we-flaszce.png','/media/book/html/duch-we-flaszce.html',21959,NULL,0,'duch we flaszce','21 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(139,'Dym','/media/book/png/dym.png','/media/book/html/dym.html',34800,NULL,0,'dym','33 KiB','Maria Konopnicka',NULL); +INSERT INTO "book" VALUES(140,'Dzieje Tristana i Izoldy','/media/book/png/dzieje-tristana-i-izoldy.png','/media/book/html/dzieje-tristana-i-izoldy.html',450949,NULL,0,'dzieje tristana i izoldy','440 KiB','Autor nieznany',NULL); +INSERT INTO "book" VALUES(141,'Dziewczynka i lalka','/media/book/png/dziewczynka-i-lalka.png','/media/book/html/dziewczynka-i-lalka.html',15314,NULL,0,'dziewczynka i lalka','14 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(142,'Dziewczynka z zapałkami','/media/book/png/dziewczynka-z-zapalkami.png','/media/book/html/dziewczynka-z-zapalkami.html',8378,NULL,0,'dziewczynka z zapal~0kami','8.2 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(143,'Dzwony','/media/book/png/dzwony.png','/media/book/html/dzwony.html',19144,NULL,0,'dzwony','18 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(144,'Flirt z Melpomeną','/media/book/png/flirt-z-melpomena.png','/media/book/html/flirt-z-melpomena.html',847717,NULL,0,'flirt z melpomena~0','827 KiB','Tadeusz Boy-Żeleński',NULL); +INSERT INTO "book" VALUES(145,'Gaj święcony','/media/book/png/gaj-swiecony.png','/media/book/html/gaj-swiecony.html',2163,NULL,0,'gaj s~0wie~0cony','2.1 KiB','Louis le Cardonnel',NULL); +INSERT INTO "book" VALUES(146,'Gargantua i Pantagruel','/media/book/png/gargantua-i-pantagruel.png','/media/book/html/gargantua-i-pantagruel.html',968440,NULL,0,'gargantua i pantagruel','945 KiB','François Rabelais',NULL); +INSERT INTO "book" VALUES(147,'Golem','/media/book/png/golem.png','/media/book/html/golem.html',912326,NULL,0,'golem','890 KiB','Gustav Meyrink',NULL); +INSERT INTO "book" VALUES(148,'Grób Agamemnona','/media/book/png/grob-agamemnona.png','/media/book/html/grob-agamemnona.html',29539,NULL,0,'gro~0b agamemnona','28 KiB','Juliusz Słowacki',NULL); +INSERT INTO "book" VALUES(149,'Wpatruj się co wieczora...','/media/book/png/wpatruj-sie-co-wieczora.png','/media/book/html/wpatruj-sie-co-wieczora.html',5835,NULL,0,'wpatruj sie~0 co wieczora ','5.7 KiB','Charles Guérin',NULL); +INSERT INTO "book" VALUES(150,'[Gusła - Dedykacja]','/media/book/png/gusla-dedykacja.png','/media/book/html/gusla-dedykacja.html',380,NULL,0,' gusl~0a dedykacja ','380 B','Jerzy Liebert',NULL); +INSERT INTO "book" VALUES(151,'Historia roku','/media/book/png/historia-roku.png','/media/book/html/historia-roku.html',31005,NULL,0,'historia roku','30 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(152,'Hymn (Bogarodzico, Dziewico!)','/media/book/png/hymn-bogarodzico-dziewico.png','/media/book/html/hymn-bogarodzico-dziewico.html',8220,NULL,0,'hymn bogarodzico dziewico ','8.0 KiB','Juliusz Słowacki',NULL); +INSERT INTO "book" VALUES(153,'Jak skończyć z piekłem kobiet?','/media/book/png/jak-skonczyc-z-pieklem-kobiet.png','/media/book/html/jak-skonczyc-z-pieklem-kobiet.html',87009,NULL,0,'jak skon~0czyc~0 z piekl~0em kobiet ','84 KiB','Tadeusz Boy-Żeleński',NULL); +INSERT INTO "book" VALUES(154,'Śnieg spadnie...','/media/book/png/snieg-spadnie.png','/media/book/html/snieg-spadnie.html',3636,NULL,0,'s~0nieg spadnie ','3.6 KiB','Francis Jammes',NULL); +INSERT INTO "book" VALUES(155,'Jednooczka, Dwuoczka, Trzyoczka','/media/book/png/jednooczka-dwuoczka-trzyoczka.png','/media/book/html/jednooczka-dwuoczka-trzyoczka.html',25395,NULL,0,'jednooczka dwuoczka trzyoczka','24 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(156,'Juliusz Cezar','/media/book/png/juliusz-cezar.png','/media/book/html/juliusz-cezar.html',391829,NULL,0,'juliusz cezar','382 KiB','William Shakespeare',NULL); +INSERT INTO "book" VALUES(157,'Już!','/media/book/png/juz.png','/media/book/html/juz.html',4386,NULL,0,'juz~1 ','4.3 KiB','Charles Baudelaire',NULL); +INSERT INTO "book" VALUES(158,'Śpiewaj wolno...','/media/book/png/spiewaj-wolno.png','/media/book/html/spiewaj-wolno.html',4761,NULL,0,'s~0piewaj wolno ','4.6 KiB','Gustave Kahn',NULL); +INSERT INTO "book" VALUES(159,'Czarny kozioł','/media/book/png/czarny-koziol.png','/media/book/html/czarny-koziol.html',55259,164,0,'czarny koziol~0','53 KiB','Bolesław Leśmian',NULL); +INSERT INTO "book" VALUES(160,'Jan Tajemnik','/media/book/png/jan-tajemnik.png','/media/book/html/jan-tajemnik.html',97914,164,1,'jan tajemnik','95 KiB','Bolesław Leśmian',NULL); +INSERT INTO "book" VALUES(161,'Majka','/media/book/png/majka.png','/media/book/html/majka.html',174034,164,2,'majka','169 KiB','Bolesław Leśmian',NULL); +INSERT INTO "book" VALUES(162,'Podlasiak','/media/book/png/podlasiak.png','/media/book/html/podlasiak.html',159449,164,3,'podlasiak','155 KiB','Bolesław Leśmian',NULL); +INSERT INTO "book" VALUES(163,'Wiedźma','/media/book/png/wiedzma.png','/media/book/html/wiedzma.html',173677,164,4,'wiedz~0ma','169 KiB','Bolesław Leśmian',NULL); +INSERT INTO "book" VALUES(164,'Klechdy polskie','/media/book/png/klechdy-polskie.png',NULL,NULL,NULL,0,'klechdy polskie',NULL,'Bolesław Leśmian',NULL); +INSERT INTO "book" VALUES(165,'Kopciuszek','/media/book/png/kopciuszek.png','/media/book/html/kopciuszek.html',24683,NULL,0,'kopciuszek','24 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(166,'Krasnoludek','/media/book/png/krasnoludek.png','/media/book/html/krasnoludek.html',15052,NULL,0,'krasnoludek','14 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(167,'Krasnoludki','/media/book/png/krasnoludki.png','/media/book/html/krasnoludki.html',4478,NULL,0,'krasnoludki','4.4 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(168,'Król Drozdobrody','/media/book/png/krol-drozdobrody.png','/media/book/html/krol-drozdobrody.html',20809,NULL,0,'kro~0l drozdobrody','20 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(169,'Król żab','/media/book/png/krol-zab.png','/media/book/html/krol-zab.html',16991,NULL,0,'kro~0l z~1ab','16 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(170,'Król Zamczyska','/media/book/png/krol-zamczyska.png','/media/book/html/krol-zamczyska.html',337164,NULL,0,'kro~0l zamczyska','329 KiB','Seweryn Goszczyński',NULL); +INSERT INTO "book" VALUES(171,'Królowa śniegu','/media/book/png/krolowa-sniegu.png','/media/book/html/krolowa-sniegu.html',104379,NULL,0,'kro~0lowa s~0niegu','101 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(172,'Kubuś fatalista i jego pan','/media/book/png/kubus-fatalista-i-jego-pan.png','/media/book/html/kubus-fatalista-i-jego-pan.html',868561,NULL,0,'kubus~0 fatalista i jego pan','848 KiB','Denis Diderot',NULL); +INSERT INTO "book" VALUES(173,'Kwiaty Idalki','/media/book/png/kwiaty-idalki.png','/media/book/html/kwiaty-idalki.html',25480,NULL,0,'kwiaty idalki','24 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(174,'Cały świat byś ściągnęła...','/media/book/png/caly-swiat-bys-sciagnela.png','/media/book/html/caly-swiat-bys-sciagnela.html',3082,NULL,0,'cal~0y s~0wiat bys~0 s~0cia~0gne~0l~0a ','3.0 KiB','Charles Baudelaire',NULL); +INSERT INTO "book" VALUES(175,'Larwa','/media/book/png/larwa.png','/media/book/html/larwa.html',3324,NULL,0,'larwa','3.2 KiB','Cyprian Kamil Norwid',NULL); +INSERT INTO "book" VALUES(176,'Legenda Młodej Polski','/media/book/png/legenda-mlodej-polski.png','/media/book/html/legenda-mlodej-polski.html',1412744,NULL,0,'legenda ml~0odej polski','1.3 MiB','Stanisław Brzozowski',NULL); +INSERT INTO "book" VALUES(177,'Wstęp [Legendy warszawskie]','/media/book/png/wstep-legendy-warszawskie.png','/media/book/html/wstep-legendy-warszawskie.html',5256,NULL,0,'wste~0p legendy warszawskie ','5.1 KiB','Artur Oppman',NULL); +INSERT INTO "book" VALUES(178,'Len','/media/book/png/len.png','/media/book/html/len.html',19045,NULL,0,'len','18 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(179,'Listek z nieba','/media/book/png/listek-z-nieba.png','/media/book/html/listek-z-nieba.html',10951,NULL,0,'listek z nieba','10 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(180,'Listy perskie','/media/book/png/listy-perskie.png','/media/book/html/listy-perskie.html',749232,NULL,0,'listy perskie','731 KiB','Montesquieu',NULL); +INSERT INTO "book" VALUES(181,'Mali czarodzieje','/media/book/png/mali-czarodzieje.png','/media/book/html/mali-czarodzieje.html',7873,NULL,0,'mali czarodzieje','7.7 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(182,'Matka','/media/book/png/matka.png','/media/book/html/matka.html',18741,NULL,0,'matka','18 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(183,'Mendel gdański','/media/book/png/mendel-gdanski.png','/media/book/html/mendel-gdanski.html',80805,NULL,0,'mendel gdan~0ski','78 KiB','Maria Konopnicka',NULL); +INSERT INTO "book" VALUES(184,'Mieszczanin szlachcicem','/media/book/png/mieszczanin-szlachcicem.png','/media/book/html/mieszczanin-szlachcicem.html',367578,NULL,0,'mieszczanin szlachcicem','358 KiB','Molière',NULL); +INSERT INTO "book" VALUES(185,'Mizantrop','/media/book/png/mizantrop.png','/media/book/html/mizantrop.html',407252,NULL,0,'mizantrop','397 KiB','Molière',NULL); +INSERT INTO "book" VALUES(186,'Mizerna, cicha...','/media/book/png/mizerna-cicha.png','/media/book/html/mizerna-cicha.html',8862,NULL,0,'mizerna cicha ','8.7 KiB','Teofil Lenartowicz',NULL); +INSERT INTO "book" VALUES(187,'Motylek','/media/book/png/motylek.png','/media/book/html/motylek.html',9190,NULL,0,'motylek','9.0 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(188,'Mysi-królik i niedźwiedź','/media/book/png/mysi-krolik-i-niedzwiedz.png','/media/book/html/mysi-krolik-i-niedzwiedz.html',12011,NULL,0,'mysi kro~0lik i niedz~0wiedz~0','11 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(189,'Myśli','/media/book/png/mysli.png','/media/book/html/mysli.html',1314990,NULL,0,'mys~0li','1.3 MiB','Pascal',NULL); +INSERT INTO "book" VALUES(190,'(Bóg mnie opuścił...)','/media/book/png/bog-mnie-opuscil.png','/media/book/html/bog-mnie-opuscil.html',2171,NULL,0,' bo~0g mnie opus~0cil~0 ','2.1 KiB','Bolesław Leśmian',NULL); +INSERT INTO "book" VALUES(191,'(Coś tam mignęło dalekiego...)','/media/book/png/cos-tam-mignelo-dalekiego.png','/media/book/html/cos-tam-mignelo-dalekiego.html',1575,NULL,0,' cos~0 tam migne~0l~0o dalekiego ','1.5 KiB','Bolesław Leśmian',NULL); +INSERT INTO "book" VALUES(192,'(Gdy domdlewasz na łożu...)','/media/book/png/gdy-domdlewasz-na-lozu.png','/media/book/html/gdy-domdlewasz-na-lozu.html',1612,NULL,0,' gdy domdlewasz na l~0oz~1u ','1.6 KiB','Bolesław Leśmian',NULL); +INSERT INTO "book" VALUES(193,'(Już czas ukochać w sadzie...)','/media/book/png/juz-czas-ukochac-w-sadzie.png','/media/book/html/juz-czas-ukochac-w-sadzie.html',2509,NULL,0,' juz~1 czas ukochac~0 w sadzie ','2.5 KiB','Bolesław Leśmian',NULL); +INSERT INTO "book" VALUES(194,'(Módlmy się śród drzew...)','/media/book/png/modlmy-sie-srod-drzew.png','/media/book/html/modlmy-sie-srod-drzew.html',1187,NULL,0,' mo~0dlmy sie~0 s~0ro~0d drzew ','1.2 KiB','Bolesław Leśmian',NULL); +INSERT INTO "book" VALUES(195,'(Płomienny uśmiech nietrwałych zórz...)','/media/book/png/plomienny-usmiech-nietrwalych-zorz.png','/media/book/html/plomienny-usmiech-nietrwalych-zorz.html',1171,NULL,0,' pl~0omienny us~0miech nietrwal~0ych zo~0rz ','1.1 KiB','Bolesław Leśmian',NULL); +INSERT INTO "book" VALUES(196,'(Po co tyle świec nade mną...)','/media/book/png/po-co-tyle-swiec-nade-mna.png','/media/book/html/po-co-tyle-swiec-nade-mna.html',2217,NULL,0,' po co tyle s~0wiec nade mna~0 ','2.2 KiB','Bolesław Leśmian',NULL); +INSERT INTO "book" VALUES(197,'(Tam na rzece...)','/media/book/png/tam-na-rzece.png','/media/book/html/tam-na-rzece.html',2557,NULL,0,' tam na rzece ','2.5 KiB','Bolesław Leśmian',NULL); +INSERT INTO "book" VALUES(198,'(Uwiędły sad...)','/media/book/png/uwiedly-sad.png','/media/book/html/uwiedly-sad.html',1199,NULL,0,' uwie~0dl~0y sad ','1.2 KiB','Bolesław Leśmian',NULL); +INSERT INTO "book" VALUES(199,'(Zwoływali się surmą na wrzawę-zabawę...)','/media/book/png/zwolywali-sie-surma-na-wrzawe-zabawe.png','/media/book/html/zwolywali-sie-surma-na-wrzawe-zabawe.html',2144,NULL,0,' zwol~0ywali sie~0 surma~0 na wrzawe~0 zabawe~0 ','2.1 KiB','Bolesław Leśmian',NULL); +INSERT INTO "book" VALUES(200,'Nasi okupanci','/media/book/png/nasi-okupanci.png','/media/book/html/nasi-okupanci.html',283890,NULL,0,'nasi okupanci','277 KiB','Tadeusz Boy-Żeleński',NULL); +INSERT INTO "book" VALUES(201,'Nasza szkapa','/media/book/png/nasza-szkapa.png','/media/book/html/nasza-szkapa.html',128168,NULL,0,'nasza szkapa','125 KiB','Maria Konopnicka',NULL); +INSERT INTO "book" VALUES(202,'Nie-Boska komedia','/media/book/png/nie-boska-komedia.png','/media/book/html/nie-boska-komedia.html',450700,NULL,0,'nie boska komedia','440 KiB','Zygmunt Krasiński',NULL); +INSERT INTO "book" VALUES(203,'(Nim próg przestąpiłem celi...)','/media/book/png/nim-prog-przestapilem-celi.png','/media/book/html/nim-prog-przestapilem-celi.html',1685,NULL,0,' nim pro~0g przesta~0pil~0em celi ','1.6 KiB','Guillaume Apollinaire',NULL); +INSERT INTO "book" VALUES(204,'Noc tysiączna druga','/media/book/png/noc-tysiaczna-druga.png','/media/book/html/noc-tysiaczna-druga.html',86785,NULL,0,'noc tysia~0czna druga','84 KiB','Cyprian Kamil Norwid',NULL); +INSERT INTO "book" VALUES(205,'O duchu praw','/media/book/png/o-duchu-praw.png','/media/book/html/o-duchu-praw.html',1979242,NULL,0,'o duchu praw','1.9 MiB','Montesquieu',NULL); +INSERT INTO "book" VALUES(206,'(O, jak się trapię...)','/media/book/png/o-jak-sie-trapie.png','/media/book/html/o-jak-sie-trapie.html',1987,NULL,0,' o jak sie~0 trapie~0 ','1.9 KiB','Guillaume Apollinaire',NULL); +INSERT INTO "book" VALUES(207,'O pierwszej nad ranem','/media/book/png/o-pierwszej-nad-ranem.png','/media/book/html/o-pierwszej-nad-ranem.html',4217,NULL,0,'o pierwszej nad ranem','4.1 KiB','Charles Baudelaire',NULL); +INSERT INTO "book" VALUES(208,'Ojciec Goriot','/media/book/png/ojciec-goriot.png','/media/book/html/ojciec-goriot.html',798552,NULL,0,'ojciec goriot','779 KiB','Honoré de Balzac',NULL); +INSERT INTO "book" VALUES(209,'Okna','/media/book/png/okna.png','/media/book/html/okna.html',2214,NULL,0,'okna','2.2 KiB','Charles Baudelaire',NULL); +INSERT INTO "book" VALUES(210,'Pan Grubas','/media/book/png/pan-grubas.png','/media/book/html/pan-grubas.html',6014,NULL,0,'pan grubas','5.9 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(211,'Pastuszek','/media/book/png/pastuszek.png','/media/book/html/pastuszek.html',5579,NULL,0,'pastuszek','5.4 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(212,'Pastuszka gęsi','/media/book/png/pastuszka-gesi.png','/media/book/html/pastuszka-gesi.html',13975,NULL,0,'pastuszka ge~0si','13 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(213,'Pies i flakon','/media/book/png/pies-i-flakon.png','/media/book/html/pies-i-flakon.html',1747,NULL,0,'pies i flakon','1.7 KiB','Charles Baudelaire',NULL); +INSERT INTO "book" VALUES(214,'Pies i wróbel','/media/book/png/pies-i-wrobel.png','/media/book/html/pies-i-wrobel.html',17317,NULL,0,'pies i wro~0bel','16 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(215,'Pod starą wierzbą','/media/book/png/pod-stara-wierzba.png','/media/book/html/pod-stara-wierzba.html',41936,NULL,0,'pod stara~0 wierzba~0','40 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(216,'Półkula w lokach','/media/book/png/polkula-w-lokach.png','/media/book/html/polkula-w-lokach.html',3805,NULL,0,'po~0l~0kula w lokach','3.7 KiB','Charles Baudelaire',NULL); +INSERT INTO "book" VALUES(217,'Polny kwiatek','/media/book/png/polny-kwiatek.png','/media/book/html/polny-kwiatek.html',13649,NULL,0,'polny kwiatek','13 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(218,'Poskromienie złośnicy','/media/book/png/poskromienie-zlosnicy.png','/media/book/html/poskromienie-zlosnicy.html',404707,NULL,0,'poskromienie zl~0os~0nicy','395 KiB','William Shakespeare',NULL); +INSERT INTO "book" VALUES(219,'Don Juan','/media/book/png/don-juan.png','/media/book/html/don-juan.html',41897,228,1,'don juan','40 KiB','E. T. A. Hoffmann',NULL); +INSERT INTO "book" VALUES(220,'Kawaler Gluck','/media/book/png/kawaler-gluck.png','/media/book/html/kawaler-gluck.html',49341,228,2,'kawaler gluck','48 KiB','E. T. A. Hoffmann',NULL); +INSERT INTO "book" VALUES(221,'Majorat','/media/book/png/majorat.png','/media/book/html/majorat.html',256184,228,3,'majorat','250 KiB','E. T. A. Hoffmann',NULL); +INSERT INTO "book" VALUES(222,'Narożne okno','/media/book/png/narozne-okno.png','/media/book/html/narozne-okno.html',97962,228,4,'naroz~1ne okno','95 KiB','E. T. A. Hoffmann',NULL); +INSERT INTO "book" VALUES(223,'Piaskun','/media/book/png/piaskun.png','/media/book/html/piaskun.html',114486,228,5,'piaskun','111 KiB','E. T. A. Hoffmann',NULL); +INSERT INTO "book" VALUES(224,'[Powieści fantastyczne] Przedmowa','/media/book/png/powiesci-fantastyczne-przedmowa.png','/media/book/html/powiesci-fantastyczne-przedmowa.html',23687,228,0,' powies~0ci fantastyczne przedmowa','23 KiB','Antoni Lange',NULL); +INSERT INTO "book" VALUES(225,'Skrzypce z Cremony (Radca Crespel)','/media/book/png/skrzypce-z-cremony-radca-crespel.png','/media/book/html/skrzypce-z-cremony-radca-crespel.html',68788,228,6,'skrzypce z cremony radca crespel ','67 KiB','E. T. A. Hoffmann',NULL); +INSERT INTO "book" VALUES(226,'Ślub','/media/book/png/slub.png','/media/book/html/slub.html',87517,228,7,'s~0lub','85 KiB','E. T. A. Hoffmann',NULL); +INSERT INTO "book" VALUES(227,'Wybór narzeczonej','/media/book/png/wybor-narzeczonej.png','/media/book/html/wybor-narzeczonej.html',186572,228,8,'wybo~0r narzeczonej','182 KiB','E. T. A. Hoffmann',NULL); +INSERT INTO "book" VALUES(228,'Powieści fantastyczne','/media/book/png/powiesci-fantastyczne.png',NULL,NULL,NULL,0,'powies~0ci fantastyczne',NULL,'E. T. A. Hoffmann',NULL); +INSERT INTO "book" VALUES(229,'Przedwiośnie','/media/book/png/przedwiosnie.png','/media/book/html/przedwiosnie.html',1019386,NULL,0,'przedwios~0nie','995 KiB','Stefan Żeromski',NULL); +INSERT INTO "book" VALUES(230,'Przygody Sindbada żeglarza','/media/book/png/przygody-sindbada-zeglarza.png','/media/book/html/przygody-sindbada-zeglarza.html',685135,NULL,0,'przygody sindbada z~1eglarza','669 KiB','Bolesław Leśmian',NULL); +INSERT INTO "book" VALUES(231,'Chłopi, Część druga - Zima','/media/book/png/chlopi-czesc-druga-zima.png','/media/book/html/chlopi-czesc-druga-zima.html',947423,NULL,0,'chl~0opi cze~0s~0c~0 druga zima','925 KiB','Władysław Stanisław Reymont',NULL); +INSERT INTO "book" VALUES(232,'Robinson Crusoe','/media/book/png/robinson-crusoe.png','/media/book/html/robinson-crusoe.html',399462,NULL,0,'robinson crusoe','390 KiB','Daniel Defoe',NULL); +INSERT INTO "book" VALUES(233,'Ropucha','/media/book/png/ropucha.png','/media/book/html/ropucha.html',27852,NULL,0,'ropucha','27 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(234,'Rota','/media/book/png/rota.png','/media/book/html/rota.html',4273,NULL,0,'rota','4.2 KiB','Maria Konopnicka',NULL); +INSERT INTO "book" VALUES(235,'Rupiec Kopeć','/media/book/png/rupiec-kopec.png','/media/book/html/rupiec-kopec.html',15840,NULL,0,'rupiec kopec~0','15 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(236,'Siedmiośpiochy','/media/book/png/siedmiospiochy.png','/media/book/html/siedmiospiochy.html',2871,NULL,0,'siedmios~0piochy','2.8 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(237,'Skąpiec','/media/book/png/skapiec.png','/media/book/html/skapiec.html',317925,NULL,0,'ska~0piec','310 KiB','Molière',NULL); +INSERT INTO "book" VALUES(238,'Ślimak i róża','/media/book/png/slimak-i-roza.png','/media/book/html/slimak-i-roza.html',7873,NULL,0,'s~0limak i ro~0z~1a','7.7 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(239,'Słodka potrawa','/media/book/png/slodka-potrawa.png','/media/book/html/slodka-potrawa.html',2666,NULL,0,'sl~0odka potrawa','2.6 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(240,'Słowik','/media/book/png/slowik.png','/media/book/html/slowik.html',36449,NULL,0,'sl~0owik','35 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(241,'Śmierć kurki','/media/book/png/smierc-kurki.png','/media/book/html/smierc-kurki.html',9874,NULL,0,'s~0mierc~0 kurki','9.6 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(242,'Czatyrdah','/media/book/png/czatyrdah.png','/media/book/html/czatyrdah.html',3741,NULL,0,'czatyrdah','3.7 KiB','Adam Mickiewicz',NULL); +INSERT INTO "book" VALUES(243,'Góra Kikineis','/media/book/png/gora-kikineis.png','/media/book/html/gora-kikineis.html',3659,NULL,0,'go~0ra kikineis','3.6 KiB','Adam Mickiewicz',NULL); +INSERT INTO "book" VALUES(244,'Śpiewak spod strzechy','/media/book/png/spiewak-spod-strzechy.png','/media/book/html/spiewak-spod-strzechy.html',9255,NULL,0,'s~0piewak spod strzechy','9.0 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(245,'Spowiedź dziecięcia wieku','/media/book/png/spowiedz-dzieciecia-wieku.png','/media/book/html/spowiedz-dzieciecia-wieku.html',749815,NULL,0,'spowiedz~0 dziecie~0cia wieku','732 KiB','Alfred de Musset',NULL); +INSERT INTO "book" VALUES(246,'Stara baśń, tom drugi','/media/book/png/stara-basn-tom-drugi.png','/media/book/html/stara-basn-tom-drugi.html',491183,249,1,'stara bas~0n~0 tom drugi','479 KiB','Józef Ignacy Kraszewski',NULL); +INSERT INTO "book" VALUES(247,'Stara baśń, tom pierwszy','/media/book/png/stara-basn-tom-pierwszy.png','/media/book/html/stara-basn-tom-pierwszy.html',532754,249,0,'stara bas~0n~0 tom pierwszy','520 KiB','Józef Ignacy Kraszewski',NULL); +INSERT INTO "book" VALUES(248,'Stara baśń, tom trzeci','/media/book/png/stara-basn-tom-trzeci.png','/media/book/html/stara-basn-tom-trzeci.html',458629,249,2,'stara bas~0n~0 tom trzeci','447 KiB','Józef Ignacy Kraszewski',NULL); +INSERT INTO "book" VALUES(249,'Stara baśń','/media/book/png/stara-basn.png',NULL,NULL,NULL,0,'stara bas~0n~0',NULL,'Józef Ignacy Kraszewski',NULL); +INSERT INTO "book" VALUES(250,'Czerwone i czarne','/media/book/png/czerwone-i-czarne.png','/media/book/html/czerwone-i-czarne.html',1493573,NULL,0,'czerwone i czarne','1.4 MiB','Stendhal',NULL); +INSERT INTO "book" VALUES(251,'Świętoszek','/media/book/png/swietoszek_1.png','/media/book/html/swietoszek_1.html',304674,NULL,0,'s~0wie~0toszek','297 KiB','Molière',NULL); +INSERT INTO "book" VALUES(252,'Syzyfowe prace','/media/book/png/syzyfowe-prace.png','/media/book/html/syzyfowe-prace.html',762188,NULL,0,'syzyfowe prace','744 KiB','Stefan Żeromski',NULL); +INSERT INTO "book" VALUES(253,'Tako rzecze Zaratustra','/media/book/png/tako-rzecze-zaratustra.png','/media/book/html/tako-rzecze-zaratustra.html',1220342,NULL,0,'tako rzecze zaratustra','1.2 MiB','Friedrich Nietzsche',NULL); +INSERT INTO "book" VALUES(254,'Towarzysz podróży','/media/book/png/towarzysz-podrozy.png','/media/book/html/towarzysz-podrozy.html',58601,NULL,0,'towarzysz podro~0z~1y','57 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(255,'Trzej bracia','/media/book/png/trzej-bracia.png','/media/book/html/trzej-bracia.html',9350,NULL,0,'trzej bracia','9.1 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(256,'Trzy pióra','/media/book/png/trzy-piora.png','/media/book/html/trzy-piora.html',15697,NULL,0,'trzy pio~0ra','15 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(257,'U króla Olch','/media/book/png/u-krola-olch.png','/media/book/html/u-krola-olch.html',24311,NULL,0,'u kro~0la olch','23 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(258,'Ubogi bogaty','/media/book/png/ubogi-bogaty.png','/media/book/html/ubogi-bogaty.html',22131,NULL,0,'ubogi bogaty','21 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(259,'Ubu Król czyli Polacy','/media/book/png/ubu-krol-czyli-polacy.png','/media/book/html/ubu-krol-czyli-polacy.html',328665,NULL,0,'ubu kro~0l czyli polacy','320 KiB','Alfred Jarry',NULL); +INSERT INTO "book" VALUES(260,'Ukradziony grosik','/media/book/png/ukradziony-grosik.png','/media/book/html/ukradziony-grosik.html',4017,NULL,0,'ukradziony grosik','3.9 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(261,'Ułan i dziewczyna','/media/book/png/ulan-i-dziewczyna.png','/media/book/html/ulan-i-dziewczyna.html',6346,NULL,0,'ul~0an i dziewczyna','6.2 KiB','Franciszek Kowalski',NULL); +INSERT INTO "book" VALUES(262,'Wychodźcy','/media/book/png/wychodzcy.png','/media/book/html/wychodzcy.html',18978,NULL,0,'wychodz~0cy','18 KiB','Émile Verhaeren',NULL); +INSERT INTO "book" VALUES(263,'W knajpie','/media/book/png/w-knajpie.png','/media/book/html/w-knajpie.html',2797,NULL,0,'w knajpie','2.7 KiB','Charles Cros',NULL); +INSERT INTO "book" VALUES(264,'W stronę Swanna','/media/book/png/w-strone-swanna.png','/media/book/html/w-strone-swanna.html',1185235,NULL,0,'w strone~0 swanna','1.1 MiB','Marcel Proust',NULL); +INSERT INTO "book" VALUES(265,'Wesołe kumoszki z Windsoru','/media/book/png/wesole-kumoszki-z-windsoru.png','/media/book/html/wesole-kumoszki-z-windsoru.html',429080,NULL,0,'wesol~0e kumoszki z windsoru','419 KiB','William Shakespeare',NULL); +INSERT INTO "book" VALUES(266,'Wilk i człowiek','/media/book/png/wilk-i-czlowiek.png','/media/book/html/wilk-i-czlowiek.html',6303,NULL,0,'wilk i czl~0owiek','6.2 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(267,'Włóczęgi','/media/book/png/wloczegi.png','/media/book/html/wloczegi.html',9247,NULL,0,'wl~0o~0cze~0gi','9.0 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(268,'Wszechwiedzący doktór','/media/book/png/wszechwiedzacy-doktor.png','/media/book/html/wszechwiedzacy-doktor.html',9983,NULL,0,'wszechwiedza~0cy dokto~0r','9.7 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(269,'Wszystko na swoim miejscu','/media/book/png/wszystko-na-swoim-miejscu.png','/media/book/html/wszystko-na-swoim-miejscu.html',24381,NULL,0,'wszystko na swoim miejscu','23 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(270,'Wyznanie artysty','/media/book/png/wyznanie-artysty.png','/media/book/html/wyznanie-artysty.html',3037,NULL,0,'wyznanie artysty','3.0 KiB','Charles Baudelaire',NULL); +INSERT INTO "book" VALUES(271,'Z jednego gniazda','/media/book/png/z-jednego-gniazda.png','/media/book/html/z-jednego-gniazda.html',10819,NULL,0,'z jednego gniazda','10 KiB','Hans Christian Andersen',NULL); +INSERT INTO "book" VALUES(272,'Zagubienie aureoli','/media/book/png/zagubienie-aureoli.png','/media/book/html/zagubienie-aureoli.html',3148,NULL,0,'zagubienie aureoli','3.1 KiB','Charles Baudelaire',NULL); +INSERT INTO "book" VALUES(273,'Zając i jeż','/media/book/png/zajac-i-jez.png','/media/book/html/zajac-i-jez.html',13990,NULL,0,'zaja~0c i jez~1','13 KiB','Jacob i Wilhelm Grimm',NULL); +INSERT INTO "book" VALUES(274,'Kaśka Kariatyda','/media/book/png/kaska-kariatyda.png','/media/book/html/kaska-kariatyda.html',1041753,NULL,0,'kas~0ka kariatyda','1.0 MiB','Gabriela Zapolska',NULL); +INSERT INTO "book" VALUES(275,'Zegar','/media/book/png/zegar.png','/media/book/html/zegar.html',4799,NULL,0,'zegar','4.7 KiB','Charles Baudelaire',NULL); +INSERT INTO "book" VALUES(276,'Życie wymarzone','/media/book/png/zycie-wymarzone.png','/media/book/html/zycie-wymarzone.html',2352,NULL,0,'z~1ycie wymarzone','2.3 KiB','Charles Cros',NULL); +CREATE TABLE tag ( + id INTEGER PRIMARY KEY, + name VARCHAR, + category VARCHAR, + sort_key VARCHAR, + books VARCHAR); +INSERT INTO "tag" VALUES(1,'Liryka','kind','liryka','190,93,191,192,150,193,194,203,206,195,196,197,198,199,2,3,4,1,6,8,10,15,22,53,62,67,23,76,77,80,85,87,88,121,122,123,174,134,242,72,24,136,137,25,26,27,28,145,243,148,152,29,157,175,30,31,186,32,207,209,33,213,34,35,36,216,37,38,39,234,40,41,154,158,261,263,42,43,149,262,270,272,44,275,65,276'); +INSERT INTO "tag" VALUES(2,'Wiersz','genre','wiersz','190,93,191,192,193,194,203,206,195,196,197,198,199,3,4,1,6,8,10,15,22,62,67,23,76,77,122,174,134,72,24,136,137,25,26,27,28,145,148,152,29,157,175,30,31,32,207,209,33,110,213,34,35,36,216,37,38,39,40,41,154,158,263,42,43,149,262,270,272,44,275,65,276'); +INSERT INTO "tag" VALUES(3,'Jan Kasprowicz','author','kasprowicz','1'); +INSERT INTO "tag" VALUES(4,'Modernizm','epoch','modernizm','190,93,191,192,193,194,203,206,195,196,197,198,199,4,1,15,122,231,129,72,144,145,147,274,164,176,200,230,252,154,158,253,259,263,264,177,262,276'); +INSERT INTO "tag" VALUES(64,'Pieśń','genre','pies~0n~0','2,88,123,186,234,261'); +INSERT INTO "tag" VALUES(65,'Autor nieznany','author','autor nieznany','2,80,88,123,140'); +INSERT INTO "tag" VALUES(66,'nie dotyczy','epoch','nie dotyczy','2,88'); +INSERT INTO "tag" VALUES(72,'Juliusz Słowacki','author','sl~0owacki','3,8,10,54,62,70,76,77,136,137,148,152'); +INSERT INTO "tag" VALUES(73,'Romantyzm','epoch','romantyzm','3,9,8,10,53,54,55,62,21,66,67,70,71,74,75,76,77,87,92,123,124,174,127,130,131,132,133,134,242,135,250,136,137,138,141,142,143,56,57,243,148,151,152,58,155,157,59,60,165,166,167,168,170,169,171,173,175,178,179,181,182,186,187,188,202,204,207,208,209,210,211,212,213,214,215,217,228,216,233,235,236,239,240,245,64,238,241,244,254,255,256,257,258,260,261,266,267,149,268,269,270,271,272,273,275,65'); +INSERT INTO "tag" VALUES(78,'Kazimierz Przerwa-Tetmajer','author','przerwa tetmajer','4,122'); +INSERT INTO "tag" VALUES(83,'Epika','kind','epika','5,7,9,11,13,14,16,55,61,63,21,66,70,71,73,74,75,78,79,89,90,91,92,124,125,126,127,128,231,130,131,132,133,135,250,129,138,18,139,140,141,142,143,56,144,146,57,147,151,153,58,155,274,164,59,60,165,166,167,168,170,169,171,172,19,173,176,178,20,179,180,181,182,183,187,188,189,200,201,205,208,210,211,212,214,215,217,228,229,230,232,233,235,236,239,240,245,249,64,252,238,241,244,253,254,255,256,257,258,260,264,266,267,177,268,269,271,273'); +INSERT INTO "tag" VALUES(84,'Bajka','genre','bajka','5,7,16,61,78,79,90,91,125,126,128,18,19,20'); +INSERT INTO "tag" VALUES(85,'Przypowieść','genre','przypowies~0c~0','5,7,16,61,78,79,90,91,125,126,128,18,19,20'); +INSERT INTO "tag" VALUES(86,'Ignacy Krasicki','author','krasicki','5,7,13,16,61,78,79,90,91,125,126,128,18,19,20'); +INSERT INTO "tag" VALUES(87,'Oświecenie','epoch','os~0wiecenie','5,7,13,16,61,78,79,90,91,125,126,128,18,172,19,20,180,205,232'); +INSERT INTO "tag" VALUES(89,'Miłosz Biedrzycki','author','biedrzycki','6'); +INSERT INTO "tag" VALUES(90,'Współczesność','epoch','wspo~0l~0czesnos~0c~0','6'); +INSERT INTO "tag" VALUES(103,'Baśń','genre','bas~0n~0','9,21,74,75,92,124,127,130,131,133,135,138,141,142,143,151,155,164,165,166,167,168,169,171,173,178,179,181,182,187,188,210,211,212,214,215,217,230,233,235,236,239,240,64,238,241,244,254,255,256,257,258,260,266,267,268,269,271,273'); +INSERT INTO "tag" VALUES(104,'Hans Christian Andersen','author','andersen','9,21,92,124,130,131,133,135,142,143,151,166,171,173,178,179,182,187,215,217,233,240,64,238,244,254,257,269,271'); +INSERT INTO "tag" VALUES(115,'Nowela','genre','nowela','11,139,183,201'); +INSERT INTO "tag" VALUES(116,'Bolesław Prus','author','prus','11'); +INSERT INTO "tag" VALUES(117,'Pozytywizm','epoch','pozytywizm','11,14,63,73,231,129,139,183,201,234,249'); +INSERT INTO "tag" VALUES(132,'Dramat','kind','dramat','12,17,54,156,184,185,202,204,218,237,86,251,259,265'); +INSERT INTO "tag" VALUES(133,'Tragedia','genre','tragedia','12,17,54,156'); +INSERT INTO "tag" VALUES(134,'Sofokles','author','sofokles','12'); +INSERT INTO "tag" VALUES(135,'Starożytność','epoch','staroz~1ytnos~0c~0','12,17'); +INSERT INTO "tag" VALUES(148,'Poemat heroikomiczny','genre','poemat heroikomiczny','13'); +INSERT INTO "tag" VALUES(186,'Opowiadanie','genre','opowiadanie','14,63,66,71,73'); +INSERT INTO "tag" VALUES(187,'Anton Czechow','author','czechow','14,73'); +INSERT INTO "tag" VALUES(189,'Louis le Cardonnel','author','cardonnel','15,145'); +INSERT INTO "tag" VALUES(197,'Eurypides','author','eurypides','17'); +INSERT INTO "tag" VALUES(223,'Józef Czechowicz','author','czechowicz','22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44'); +INSERT INTO "tag" VALUES(224,'Dwudziestolecie międzywojenne','epoch','dwudziestolecie mie~0dzywojenne','190,191,192,150,193,194,195,196,197,198,199,22,23,89,121,24,25,26,27,28,144,29,153,164,30,31,200,32,33,34,35,36,37,38,229,39,230,40,41,42,43,44'); +INSERT INTO "tag" VALUES(282,'Ballada','genre','ballada','53'); +INSERT INTO "tag" VALUES(283,'Adam Mickiewicz','author','mickiewicz','53,242,243'); +INSERT INTO "tag" VALUES(354,'Powieść','genre','powies~0c~0','55,231,250,129,140,56,146,57,147,58,274,59,60,170,172,189,208,228,229,232,245,249,252,253,264'); +INSERT INTO "tag" VALUES(355,'Honoré de Balzac','author','balzac','55,56,57,58,59,60,208'); +INSERT INTO "tag" VALUES(404,'Henryk Sienkiewicz','author','sienkiewicz','63'); +INSERT INTO "tag" VALUES(407,'Charles Baudelaire','author','baudelaire','174,134,157,207,209,213,216,270,272,275,65'); +INSERT INTO "tag" VALUES(410,'Edgar Allan Poe','author','poe','66,71'); +INSERT INTO "tag" VALUES(413,'Cyprian Kamil Norwid','author','norwid','67,175,204'); +INSERT INTO "tag" VALUES(416,'Poemat dygresyjny','genre','poemat dygresyjny','70'); +INSERT INTO "tag" VALUES(476,'Jean-Marc Bernard','author','bernard','72'); +INSERT INTO "tag" VALUES(480,'Jacob i Wilhelm Grimm','author','grimm','74,75,127,138,141,155,165,167,168,169,181,188,210,211,212,214,235,236,239,241,255,256,258,260,266,267,268,273'); +INSERT INTO "tag" VALUES(493,'Hymn','genre','hymn','80,87'); +INSERT INTO "tag" VALUES(494,'Średniowiecze','epoch','s~0redniowiecze','80,85,140'); +INSERT INTO "tag" VALUES(497,'Poemat alegoryczny','genre','poemat alegoryczny','85'); +INSERT INTO "tag" VALUES(498,'Dante Alighieri','author','alighieri','85'); +INSERT INTO "tag" VALUES(523,'Julian Korsak','author','korsak','84'); +INSERT INTO "tag" VALUES(526,'Komedia','genre','komedia','184,185,204,237,86,251'); +INSERT INTO "tag" VALUES(527,'Molière','author','molie~0re','184,185,237,86,251'); +INSERT INTO "tag" VALUES(528,'Barok','epoch','barok','184,185,189,237,86,251'); +INSERT INTO "tag" VALUES(530,'Alojzy Feliński','author','felin~0ski','87'); +INSERT INTO "tag" VALUES(533,'Felieton','genre','felieton','89,144,200'); +INSERT INTO "tag" VALUES(534,'Tadeusz Boy-Żeleński','author','boy z~1elen~0ski','89,144,153,200'); +INSERT INTO "tag" VALUES(541,'Charles Guérin','author','gue~0rin','93,149'); +INSERT INTO "tag" VALUES(543,'Wiersz sylabotoniczny','genre','wiersz sylabotoniczny','121'); +INSERT INTO "tag" VALUES(544,'Bruno Jasieński','author','jasien~0ski','121'); +INSERT INTO "tag" VALUES(547,'Dedykacja','genre','dedykacja','96,150'); +INSERT INTO "tag" VALUES(582,'Władysław Stanisław Reymont','author','reymont','231,129'); +INSERT INTO "tag" VALUES(597,'Powieść epistolarna','genre','powies~0c~0 epistolarna','132,180'); +INSERT INTO "tag" VALUES(598,'Johann Wolfgang von Goethe','author','goethe','132'); +INSERT INTO "tag" VALUES(610,'Maria Konopnicka','author','konopnicka','139,183,201,234'); +INSERT INTO "tag" VALUES(621,'Esej','genre','esej','144,153,176,200'); +INSERT INTO "tag" VALUES(635,'François Rabelais','author','rabelais','146'); +INSERT INTO "tag" VALUES(636,'Renesans','epoch','renesans','146,156,218,265'); +INSERT INTO "tag" VALUES(638,'Gustav Meyrink','author','meyrink','147'); +INSERT INTO "tag" VALUES(651,'Jerzy Liebert','author','liebert','150'); +INSERT INTO "tag" VALUES(658,'Francis Jammes','author','jammes','154'); +INSERT INTO "tag" VALUES(661,'William Shakespeare','author','shakespeare','156,218,265'); +INSERT INTO "tag" VALUES(666,'Gustave Kahn','author','kahn','158'); +INSERT INTO "tag" VALUES(668,'Bolesław Leśmian','author','les~0mian','190,191,192,193,194,195,196,197,198,199,164,230'); +INSERT INTO "tag" VALUES(698,'Seweryn Goszczyński','author','goszczyn~0ski','170'); +INSERT INTO "tag" VALUES(702,'Denis Diderot','author','diderot','172'); +INSERT INTO "tag" VALUES(708,'Stanisław Brzozowski','author','brzozowski','176'); +INSERT INTO "tag" VALUES(713,'Legenda','genre','legenda','177'); +INSERT INTO "tag" VALUES(714,'Artur Oppman','author','oppman','177'); +INSERT INTO "tag" VALUES(718,'Montesquieu','author','montesquieu','180,205'); +INSERT INTO "tag" VALUES(737,'Teofil Lenartowicz','author','lenartowicz','186'); +INSERT INTO "tag" VALUES(742,'Pascal','author','pascal','189'); +INSERT INTO "tag" VALUES(758,'Dramat romantyczny','genre','dramat romantyczny','202'); +INSERT INTO "tag" VALUES(759,'Zygmunt Krasiński','author','krasin~0ski','202'); +INSERT INTO "tag" VALUES(765,'Guillaume Apollinaire','author','apollinaire','203,206'); +INSERT INTO "tag" VALUES(768,'Rozprawa','genre','rozprawa','205'); +INSERT INTO "tag" VALUES(788,'Dramat szekspirowski','genre','dramat szekspirowski','218,265'); +INSERT INTO "tag" VALUES(790,'E. T. A. Hoffmann','author','hoffmann','228'); +INSERT INTO "tag" VALUES(799,'Antoni Lange','author','lange','224'); +INSERT INTO "tag" VALUES(806,'Stefan Żeromski','author','z~1eromski','229,252'); +INSERT INTO "tag" VALUES(816,'Daniel Defoe','author','defoe','232'); +INSERT INTO "tag" VALUES(827,'Sonet','genre','sonet','242,243'); +INSERT INTO "tag" VALUES(831,'Alfred de Musset','author','musset','245'); +INSERT INTO "tag" VALUES(836,'Józef Ignacy Kraszewski','author','kraszewski','249'); +INSERT INTO "tag" VALUES(846,'Stendhal','author','stendhal','250'); +INSERT INTO "tag" VALUES(850,'Friedrich Nietzsche','author','nietzsche','253'); +INSERT INTO "tag" VALUES(864,'Farsa','genre','farsa','259'); +INSERT INTO "tag" VALUES(865,'Alfred Jarry','author','jarry','259'); +INSERT INTO "tag" VALUES(868,'Franciszek Kowalski','author','kowalski','261'); +INSERT INTO "tag" VALUES(870,'Émile Verhaeren','author','verhaeren','262'); +INSERT INTO "tag" VALUES(872,'Charles Cros','author','cros','263,276'); +INSERT INTO "tag" VALUES(874,'Marcel Proust','author','proust','264'); +INSERT INTO "tag" VALUES(888,'Gabriela Zapolska','author','zapolska','274'); +CREATE TABLE state (last_checked INTEGER); +INSERT INTO "state" VALUES(1342375843); +CREATE INDEX book_title_index ON book (sort_key); +CREATE INDEX book_parent_index ON book (parent); +CREATE INDEX tag_name_index ON tag (name); +CREATE INDEX tag_category_index ON tag (category); +CREATE INDEX tag_sort_key_index ON tag (sort_key); +COMMIT; diff --git a/js/app/AjaxList.js b/js/app/AjaxList.js deleted file mode 100644 index d2d0897..0000000 --- a/js/app/AjaxList.js +++ /dev/null @@ -1,25 +0,0 @@ -(function() { - - Readings.TagList = (function() { - - TagList.prototype.defaults = null; - - function TagList(list, category, options) { - this.category = category; - this.options = $.extend(this.defaults, options); - } - - TagList.prototype.load = function() { - return $.ajax({ - url: Readings.config.get('wlurl') + ("/api/" + this.category), - success: function() { - return true; - } - }); - }; - - return TagList; - - })(); - -}).call(this); diff --git a/js/app/BooksList.coffee b/js/app/BooksList.coffee deleted file mode 100644 index 21b6d19..0000000 --- a/js/app/BooksList.coffee +++ /dev/null @@ -1,44 +0,0 @@ - -slug_in_url = /([a-z0-9-]+)[/]?$/ - -class Readings.Book - constructor: (record) -> - @url = record.url - @href = record.href - @cover = record.cover - @author = record.author - @title = record.title - @slug = slug_in_url.exec(@href)[1] - - render: -> - "
  • #{@title}
  • " - - group: -> - @author - - -$.fn.Readings.BookList = (category, tag) -> - this.each -> - $('[data-role=header] h1').text tag.name - list = $('[data-role=listview]', this) - $.ajax - url: "#{tag.href}books/" - #url: Readings.config.get('wlurl') + "/api/#{category}" - contentType: "json" - success: (data) -> - console.log(data) - books = $.map data, (rec) -> new Readings.Book(rec) - list.empty() - last_separator = null - show_separator = !(category == 'authors') - - for b in books - # throw a separator in for some categories - if show_separator - separator = t.group() - if last_separator != separator - list.append "
  • #{separator}
  • " - last_separator = separator - - list.append b.render() - list.listview 'refresh' diff --git a/js/app/BooksList.js b/js/app/BooksList.js deleted file mode 100644 index 4f61927..0000000 --- a/js/app/BooksList.js +++ /dev/null @@ -1,66 +0,0 @@ -// Generated by CoffeeScript 1.3.3 -(function() { - var slug_in_url; - - slug_in_url = /([a-z0-9-]+)[/]?$/; - - Readings.Book = (function() { - - function Book(record) { - this.url = record.url; - this.href = record.href; - this.cover = record.cover; - this.author = record.author; - this.title = record.title; - this.slug = slug_in_url.exec(this.href)[1]; - } - - Book.prototype.render = function() { - return "
  • " + this.title + "
  • "; - }; - - Book.prototype.group = function() { - return this.author; - }; - - return Book; - - })(); - - $.fn.Readings.BookList = function(category, tag) { - return this.each(function() { - var list; - $('[data-role=header] h1').text(tag.name); - list = $('[data-role=listview]', this); - return $.ajax({ - url: "" + tag.href + "books/", - contentType: "json", - success: function(data) { - var b, books, last_separator, separator, show_separator, _i, _len, _results; - console.log(data); - books = $.map(data, function(rec) { - return new Readings.Book(rec); - }); - list.empty(); - last_separator = null; - show_separator = !(category === 'authors'); - _results = []; - for (_i = 0, _len = books.length; _i < _len; _i++) { - b = books[_i]; - if (show_separator) { - separator = t.group(); - if (last_separator !== separator) { - list.append("
  • " + separator + "
  • "); - last_separator = separator; - } - } - list.append(b.render()); - _results.push(list.listview('refresh')); - } - return _results; - } - }); - }); - }; - -}).call(this); diff --git a/js/app/Catalogue.coffee b/js/app/Catalogue.coffee new file mode 100644 index 0000000..c556e5b --- /dev/null +++ b/js/app/Catalogue.coffee @@ -0,0 +1,75 @@ + +class Readings.Catalogue + open: () -> + version = Readings.config.get 'db_version' + console.log "opening db ver #{version}" + @db = openDatabase 'catalogue', version, 'Catalogue', 65535, @init + this + + init: (db) -> + if not db? + db = @db + console.log "initializing DB" + db.changeVersion "", Readings.config.get 'db_version' + $.ajax "initdb.sql" + type: "GET" + dataType: 'text' + success: (sql) => + sql = sql.split /;\n/ + sql = sql.slice(1,-2) + + create = (tx) => + for stmt in sql + console.log stmt + tx.executeSql stmt, [], + (tx,rs) => true, + (tx,err) => console.error(err) + + db.transaction create + error: => + console.error "can't get initial sql" + + wrap_error: (error_cb) -> + (tx, error) -> + window.last_error = error + alert "SQL ERROR: #{error.message}" + if error_cb + error_cb(error) + else + throw error + + map_rs: (rs, mapper) -> + objs = [] + for i in [0...rs.rows.length] + objs.push(mapper(rs.rows.item(i))) + return objs + +## TODO update method + withCategory: (category, callback, error) -> + rs_to_tags = (tx, data) -> + tags = [] + for i in [0...data.rows.length] + tags.push new Readings.Tag(data.rows.item(i)) + callback(tags) + + @db.readTransaction (tx)=> + tx.executeSql "SELECT * FROM tag WHERE category=? ORDER BY sort_key", + [category], rs_to_tags, @wrap_error(error) + + withTag: (tag_id, cb) -> + @db.readTransaction (tx) => + tx.executeSql "SELECT * FROM tag WHERE id=?", [tag_id], + (tx, rs) => + if rs.rows.length > 0 + tag = new Readings.Tag rs.rows.item(0) + return cb(tag) + else + alert "No tag id #{tag_id}" + , + @wrap_error() + + withBooks: (tag, cb) -> + @db.readTransaction (tx)=> + console.log "books in tag: #{tag.books}" + tx.executeSql "SELECT * FROM book WHERE id IN (#{tag.books}) ORDER BY sort_key", + [], ((tx, rs) => cb(@map_rs(rs, (rec)->new Readings.Book(rec)))), @wrap_error() diff --git a/js/app/Catalogue.js b/js/app/Catalogue.js new file mode 100644 index 0000000..38fbce6 --- /dev/null +++ b/js/app/Catalogue.js @@ -0,0 +1,120 @@ +// Generated by CoffeeScript 1.3.3 +(function() { + + Readings.Catalogue = (function() { + + function Catalogue() {} + + Catalogue.prototype.open = function() { + var version; + version = Readings.config.get('db_version'); + console.log("opening db ver " + version); + this.db = openDatabase('catalogue', version, 'Catalogue', 65535, this.init); + return this; + }; + + Catalogue.prototype.init = function(db) { + var _this = this; + if (!(db != null)) { + db = this.db; + } + console.log("initializing DB"); + db.changeVersion("", Readings.config.get('db_version')); + return $.ajax("initdb.sql", { + type: "GET", + dataType: 'text', + success: function(sql) { + var create; + sql = sql.split(/;\n/); + sql = sql.slice(1, -2); + create = function(tx) { + var stmt, _i, _len, _results; + _results = []; + for (_i = 0, _len = sql.length; _i < _len; _i++) { + stmt = sql[_i]; + console.log(stmt); + _results.push(tx.executeSql(stmt, [], function(tx, rs) { + return true; + }, function(tx, err) { + return console.error(err); + })); + } + return _results; + }; + return db.transaction(create); + }, + error: function() { + return console.error("can't get initial sql"); + } + }); + }; + + Catalogue.prototype.wrap_error = function(error_cb) { + return function(tx, error) { + window.last_error = error; + alert("SQL ERROR: " + error.message); + if (error_cb) { + return error_cb(error); + } else { + throw error; + } + }; + }; + + Catalogue.prototype.map_rs = function(rs, mapper) { + var i, objs, _i, _ref; + objs = []; + for (i = _i = 0, _ref = rs.rows.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) { + objs.push(mapper(rs.rows.item(i))); + } + return objs; + }; + + Catalogue.prototype.withCategory = function(category, callback, error) { + var rs_to_tags, + _this = this; + rs_to_tags = function(tx, data) { + var i, tags, _i, _ref; + tags = []; + for (i = _i = 0, _ref = data.rows.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) { + tags.push(new Readings.Tag(data.rows.item(i))); + } + return callback(tags); + }; + return this.db.readTransaction(function(tx) { + return tx.executeSql("SELECT * FROM tag WHERE category=? ORDER BY sort_key", [category], rs_to_tags, _this.wrap_error(error)); + }); + }; + + Catalogue.prototype.withTag = function(tag_id, cb) { + var _this = this; + return this.db.readTransaction(function(tx) { + return tx.executeSql("SELECT * FROM tag WHERE id=?", [tag_id], function(tx, rs) { + var tag; + if (rs.rows.length > 0) { + tag = new Readings.Tag(rs.rows.item(0)); + return cb(tag); + } else { + return alert("No tag id " + tag_id); + } + }, _this.wrap_error()); + }); + }; + + Catalogue.prototype.withBooks = function(tag, cb) { + var _this = this; + return this.db.readTransaction(function(tx) { + console.log("books in tag: " + tag.books); + return tx.executeSql("SELECT * FROM book WHERE id IN (" + tag.books + ") ORDER BY sort_key", [], (function(tx, rs) { + return cb(_this.map_rs(rs, function(rec) { + return new Readings.Book(rec); + })); + }), _this.wrap_error()); + }); + }; + + return Catalogue; + + })(); + +}).call(this); diff --git a/js/app/Config.coffee b/js/app/Config.coffee index 00df4a1..0aa420e 100644 --- a/js/app/Config.coffee +++ b/js/app/Config.coffee @@ -2,5 +2,14 @@ class Readings.Config constructor: (@opts) -> + key: (name) -> + "config.#{name}" + get: (name) -> + v = localStorage.getItem @key(name) + if v? + return JSON.parse(v) @opts[name] + + save: (name, value) -> + localStorage.setItem @key(name), JSON.stringify(value) \ No newline at end of file diff --git a/js/app/Config.js b/js/app/Config.js index 87a99b7..19df0d1 100644 --- a/js/app/Config.js +++ b/js/app/Config.js @@ -1,3 +1,4 @@ +// Generated by CoffeeScript 1.3.3 (function() { Readings.Config = (function() { @@ -6,10 +7,23 @@ this.opts = opts; } + Config.prototype.key = function(name) { + return "config." + name; + }; + Config.prototype.get = function(name) { + var v; + v = localStorage.getItem(this.key(name)); + if (v != null) { + return JSON.parse(v); + } return this.opts[name]; }; + Config.prototype.save = function(name, value) { + return localStorage.setItem(this.key(name), JSON.stringify(value)); + }; + return Config; })(); diff --git a/js/app/TagList.coffee b/js/app/TagList.coffee deleted file mode 100644 index a765172..0000000 --- a/js/app/TagList.coffee +++ /dev/null @@ -1,76 +0,0 @@ - -class Readings.Tag - constructor: (record, @category) -> - @href = record.href - @name = record.name - #@url = record.url - @slug = $.grep(@href.split('/'), (e) -> e != "") - - render: -> - "
  • #{@name}
  • " - - group: -> - if @category == 'authors' - # last word, first letter - @name.split(' ').slice(-1)[0][0].toUpperCase() - else - @name[0].toUpperCase() - - -$.fn.Readings.list = (opts) -> - # category - # url - # mapper - # title - # filter - # mapper (rec) -> obj - this.each -> - $('[data-role=header] h1').text opts.title - list = $('[data-role=listview]', this) - if !opts.filter - $(".ui-listview-filter").hide() - $.ajax - url: opts.url - contentType: "json" - success: (data) -> - objs = $.map data, opts.mapper - list.empty() - last_divider = null - - for obj in objs - # throw a divider in for some categories - if opts.dividers - divider = obj.group() - if last_divider != divider - list.append "
  • #{divider}
  • " - last_divider = divider - - list.append obj.render() - list.listview 'refresh' - - - -$.fn.Readings.TagList = (category) -> - this.each -> - $('[data-role=header] h1').text Readings.config.get('categories')[category] - list = $('[data-role=listview]', this) - if Readings.config.get('show_filter').indexOf(category) < 0 - $(".ui-listview-filter").hide() - $.ajax - url: Readings.config.get('wlurl') + "/api/#{category}" - contentType: "json" - success: (data) -> - tags = $.map data, (rec) -> new Readings.Tag(rec, category) - list.empty() - last_separator = null - show_separator = Readings.config.get('show_dividers').indexOf(category) >= 0 - for t in tags - # throw a separator in for some categories - if show_separator - separator = t.group() - if last_separator != separator - list.append "
  • #{separator}
  • " - last_separator = separator - - list.append t.render() - list.listview 'refresh' diff --git a/js/app/TagList.js b/js/app/TagList.js deleted file mode 100644 index f31e855..0000000 --- a/js/app/TagList.js +++ /dev/null @@ -1,100 +0,0 @@ -// Generated by CoffeeScript 1.3.3 -(function() { - - Readings.Tag = (function() { - - function Tag(record, category) { - this.category = category; - this.href = record.href; - this.name = record.name; - this.slug = $.grep(this.href.split('/'), function(e) { - return e !== ""; - }); - } - - Tag.prototype.render = function() { - return "
  • " + this.name + "
  • "; - }; - - Tag.prototype.group = function() { - if (this.category === 'authors') { - return this.name.split(' ').slice(-1)[0][0].toUpperCase(); - } else { - return this.name[0].toUpperCase(); - } - }; - - return Tag; - - })(); - - $.fn.Readings.list = function(opts) { - return this.each(function() { - var list; - $('[data-role=header] h1').text(opts.title); - list = $('[data-role=listview]', this); - if (!opts.filter) { - $(".ui-listview-filter").hide(); - } - return $.ajax({ - url: opts.url, - contentType: "json", - success: function(data) { - var divider, last_divider, obj, objs, _i, _len; - objs = $.map(data, opts.mapper); - list.empty(); - last_divider = null; - for (_i = 0, _len = objs.length; _i < _len; _i++) { - obj = objs[_i]; - if (opts.dividers) { - divider = obj.group(); - if (last_divider !== divider) { - list.append("
  • " + divider + "
  • "); - last_divider = divider; - } - } - list.append(obj.render()); - } - return list.listview('refresh'); - } - }); - }); - }; - - $.fn.Readings.TagList = function(category) { - return this.each(function() { - var list; - $('[data-role=header] h1').text(Readings.config.get('categories')[category]); - list = $('[data-role=listview]', this); - if (Readings.config.get('show_filter').indexOf(category) < 0) { - $(".ui-listview-filter").hide(); - } - return $.ajax({ - url: Readings.config.get('wlurl') + ("/api/" + category), - contentType: "json", - success: function(data) { - var last_separator, separator, show_separator, t, tags, _i, _len; - tags = $.map(data, function(rec) { - return new Readings.Tag(rec, category); - }); - list.empty(); - last_separator = null; - show_separator = Readings.config.get('show_dividers').indexOf(category) >= 0; - for (_i = 0, _len = tags.length; _i < _len; _i++) { - t = tags[_i]; - if (show_separator) { - separator = t.group(); - if (last_separator !== separator) { - list.append("
  • " + separator + "
  • "); - last_separator = separator; - } - } - list.append(t.render()); - } - return list.listview('refresh'); - } - }); - }); - }; - -}).call(this); diff --git a/js/app/app.coffee b/js/app/app.coffee index c6e4cb4..2f447d5 100644 --- a/js/app/app.coffee +++ b/js/app/app.coffee @@ -17,13 +17,15 @@ Readings.init = -> Readings.config = new Readings.Config wlurl: 'http://readings.local' categories: - 'authors': 'autor', - 'epochs': 'epoka', - 'genres': 'gatunek', - 'kinds': 'rodzaj', - 'themes': 'motyw' + 'author': 'autor', + 'epoch': 'epoka', + 'genre': 'gatunek', + 'kind': 'rodzaj', + # 'themes': 'motyw' show_filter: [ 'authors', 'themes' ] show_dividers: [ 'authors', 'themes'] + db_version: '1.0' + Readings.catalogue = new Readings.Catalogue().open() Readings.initialized = true $(document).on 'pageinit', '#page-categories' , (ev) -> @@ -31,14 +33,30 @@ $(document).on 'pageinit', '#page-categories' , (ev) -> $('#list-categories').Readings 'CategoryList' rcategory = /category=(\w+)/ +rtag = /tag=([a-z0-9-]+)/ +rtagid = /tag_id=([0-9]+)/ + $(document).on 'pageinit', "#page-tags", (ev, ui) -> category = rcategory.exec($(this).attr('data-url')) - if category? and category[1]? + if category? + category = category[1] + if category? + return $(this).Readings 'list', +# category: category +# url: Readings.config.get('wlurl') + "/api/#{category}" + sql: "SELECT * FROM tag WHERE category=? ORDER BY sort_key" + params: [category] + filter: (Readings.config.get('show_filter').indexOf(category) >= 0) + mapper: (rec) -> new Readings.Tag(rec, category) + dividers: (Readings.config.get('show_dividers').indexOf(category) >= 0) + alert 'no category in query string' + +$(document).on 'pageinit', '#page-books', (ev, ui) -> + tag_id_m = rtagid.exec($(this).attr('data-url')) + tag_id = tag_id_m[1] if tag_id_m? + + tag = Readings.catalogue.withTag tag_id, (tag) => $(this).Readings 'list', - category: category[1] - url: Readings.config.get('wlurl') + "/api/#{category[1]}" - filter: (Readings.config.get('show_filter').indexOf(category[1]) >= 0) - mapper: (rec) -> new Readings.Tag(rec, category[1]) - dividers: (Readings.config.get('show_dividers').indexOf(category[1]) >= 0) - else - alert 'no category in query string' \ No newline at end of file + fetch: (cb) -> Readings.catalogue.withBooks(tag, cb) + filter: true + dividers: (tag.category != 'author') diff --git a/js/app/app.js b/js/app/app.js index b5e2ba2..01d1f4a 100644 --- a/js/app/app.js +++ b/js/app/app.js @@ -1,6 +1,6 @@ // Generated by CoffeeScript 1.3.3 (function() { - var rcategory; + var rcategory, rtag, rtagid; window.Readings = {}; @@ -23,15 +23,16 @@ Readings.config = new Readings.Config({ wlurl: 'http://readings.local', categories: { - 'authors': 'autor', - 'epochs': 'epoka', - 'genres': 'gatunek', - 'kinds': 'rodzaj', - 'themes': 'motyw' + 'author': 'autor', + 'epoch': 'epoka', + 'genre': 'gatunek', + 'kind': 'rodzaj' }, show_filter: ['authors', 'themes'], - show_dividers: ['authors', 'themes'] + show_dividers: ['authors', 'themes'], + db_version: '1.0' }); + Readings.catalogue = new Readings.Catalogue().open(); return Readings.initialized = true; }; @@ -42,22 +43,46 @@ rcategory = /category=(\w+)/; + rtag = /tag=([a-z0-9-]+)/; + + rtagid = /tag_id=([0-9]+)/; + $(document).on('pageinit', "#page-tags", function(ev, ui) { var category; category = rcategory.exec($(this).attr('data-url')); - if ((category != null) && (category[1] != null)) { - return $(this).Readings('list', { - category: category[1], - url: Readings.config.get('wlurl') + ("/api/" + category[1]), - filter: Readings.config.get('show_filter').indexOf(category[1]) >= 0, - mapper: function(rec) { - return new Readings.Tag(rec, category[1]); + if (category != null) { + category = category[1]; + if (category != null) { + return $(this).Readings('list', { + sql: "SELECT * FROM tag WHERE category=? ORDER BY sort_key", + params: [category], + filter: Readings.config.get('show_filter').indexOf(category) >= 0, + mapper: function(rec) { + return new Readings.Tag(rec, category); + }, + dividers: Readings.config.get('show_dividers').indexOf(category) >= 0 + }); + } + } + return alert('no category in query string'); + }); + + $(document).on('pageinit', '#page-books', function(ev, ui) { + var tag, tag_id, tag_id_m, + _this = this; + tag_id_m = rtagid.exec($(this).attr('data-url')); + if (tag_id_m != null) { + tag_id = tag_id_m[1]; + } + return tag = Readings.catalogue.withTag(tag_id, function(tag) { + return $(_this).Readings('list', { + fetch: function(cb) { + return Readings.catalogue.withBooks(tag, cb); }, - dividers: Readings.config.get('show_dividers').indexOf(category[1]) >= 0 + filter: true, + dividers: tag.category !== 'author' }); - } else { - return alert('no category in query string'); - } + }); }); }).call(this); diff --git a/js/app/list.coffee b/js/app/list.coffee new file mode 100644 index 0000000..97506e0 --- /dev/null +++ b/js/app/list.coffee @@ -0,0 +1,81 @@ + +$.fn.Readings.list = (opts) -> + # category + # url + # mapper + # title + # filter + # mapper (rec) -> obj + # + this.each -> + $('[data-role=header] h1').text opts.title + list = $('[data-role=listview]', this) + console.log "lst1 #{list.length}" + + # show filter search? + if !opts.filter + $(".ui-listview-filter").hide() + + # display elements + render = (objs) => + console.log("lst #{list.length}") + list.empty() + last_divider = null + + for obj in objs + # throw a divider in for some categories + if opts.dividers + divider = obj.group() + if last_divider != divider + list.append "
  • #{divider}
  • " + last_divider = divider + + list.append obj.render() + list.listview 'refresh' + + if opts.sql + Readings.catalogue.db.transaction (tx) -> + tx.executeSql opts.sql, opts.params, + (tx, rs) -> + objs = [] + for i in [0...rs.rows.length] + objs.push opts.mapper rs.rows.item i + render(objs) + , + (tx, err) -> + window.last_error = err + alert "SQL Error while fetching list contents: #{err.message}" + + if opts.url + $.ajax + url: opts.url + contentType: "json" + success: (data) -> render($.map(data, opts.mapper)) + + if opts.fetch + opts.fetch(render) + +$.fn.Readings.TagList = (category) -> + this.each -> + $('[data-role=header] h1').text Readings.config.get('categories')[category] + list = $('[data-role=listview]', this) + if Readings.config.get('show_filter').indexOf(category) < 0 + $(".ui-listview-filter").hide() + $.ajax + url: Readings.config.get('wlurl') + "/api/#{category}" + contentType: "json" + success: (data) -> + tags = $.map data, (rec) -> new Readings.Tag(rec, category) + list.empty() + last_separator = null + show_separator = Readings.config.get('show_dividers').indexOf(category) >= 0 + for t in tags + # throw a separator in for some categories + if show_separator + separator = t.group() + if last_separator != separator + list.append "
  • #{separator}
  • " + last_separator = separator + + list.append t.render() + list.listview 'refresh' diff --git a/js/app/list.js b/js/app/list.js new file mode 100644 index 0000000..7b0b0a5 --- /dev/null +++ b/js/app/list.js @@ -0,0 +1,98 @@ +// Generated by CoffeeScript 1.3.3 +(function() { + + $.fn.Readings.list = function(opts) { + return this.each(function() { + var list, render, + _this = this; + $('[data-role=header] h1').text(opts.title); + list = $('[data-role=listview]', this); + console.log("lst1 " + list.length); + if (!opts.filter) { + $(".ui-listview-filter").hide(); + } + render = function(objs) { + var divider, last_divider, obj, _i, _len; + console.log("lst " + list.length); + list.empty(); + last_divider = null; + for (_i = 0, _len = objs.length; _i < _len; _i++) { + obj = objs[_i]; + if (opts.dividers) { + divider = obj.group(); + if (last_divider !== divider) { + list.append("
  • " + divider + "
  • "); + last_divider = divider; + } + } + list.append(obj.render()); + } + return list.listview('refresh'); + }; + if (opts.sql) { + Readings.catalogue.db.transaction(function(tx) { + return tx.executeSql(opts.sql, opts.params, function(tx, rs) { + var i, objs, _i, _ref; + objs = []; + for (i = _i = 0, _ref = rs.rows.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) { + objs.push(opts.mapper(rs.rows.item(i))); + } + return render(objs); + }, function(tx, err) { + window.last_error = err; + return alert("SQL Error while fetching list contents: " + err.message); + }); + }); + } + if (opts.url) { + $.ajax({ + url: opts.url, + contentType: "json", + success: function(data) { + return render($.map(data, opts.mapper)); + } + }); + } + if (opts.fetch) { + return opts.fetch(render); + } + }); + }; + + $.fn.Readings.TagList = function(category) { + return this.each(function() { + var list; + $('[data-role=header] h1').text(Readings.config.get('categories')[category]); + list = $('[data-role=listview]', this); + if (Readings.config.get('show_filter').indexOf(category) < 0) { + $(".ui-listview-filter").hide(); + } + return $.ajax({ + url: Readings.config.get('wlurl') + ("/api/" + category), + contentType: "json", + success: function(data) { + var last_separator, separator, show_separator, t, tags, _i, _len; + tags = $.map(data, function(rec) { + return new Readings.Tag(rec, category); + }); + list.empty(); + last_separator = null; + show_separator = Readings.config.get('show_dividers').indexOf(category) >= 0; + for (_i = 0, _len = tags.length; _i < _len; _i++) { + t = tags[_i]; + if (show_separator) { + separator = t.group(); + if (last_separator !== separator) { + list.append("
  • " + separator + "
  • "); + last_separator = separator; + } + } + list.append(t.render()); + } + return list.listview('refresh'); + } + }); + }); + }; + +}).call(this); diff --git a/js/app/models.coffee b/js/app/models.coffee new file mode 100644 index 0000000..ef1c7f5 --- /dev/null +++ b/js/app/models.coffee @@ -0,0 +1,65 @@ + + +url_to_slug = (url) -> + slug_in_url = /([a-z0-9-]+)[/]?$/ + slug_in_url.exec(url)[1] + +class Readings.Book + constructor: (record) -> + $.extend(this, record) + + render: -> + wlurl = Readings.config.get 'wlurl' + "
  • + + +

    #{@title}

    +
    +
  • " + + group: -> + @authors + + +class Readings.Tag + constructor: (record, @category) -> + $.extend(this, record) + + render: -> + "
  • #{@name}
  • " + + group: -> + @sort_key[0].toUpperCase() + # if @category == 'author' + # # last word, first letter + # @name.split(' ').slice(-1)[0][0].toUpperCase() + # else + # @name[0].toUpperCase() + + + +# $.fn.Readings.BookList = (category, tag) -> +# this.each -> +# $('[data-role=header] h1').text tag.name +# list = $('[data-role=listview]', this) +# $.ajax +# url: "#{tag.href}books/" +# #url: Readings.config.get('wlurl') + "/api/#{category}" +# contentType: "json" +# success: (data) -> +# console.log(data) +# books = $.map data, (rec) -> new Readings.Book(rec) +# list.empty() +# last_separator = null +# show_separator = !(category == 'authors') + +# for b in books +# # throw a separator in for some categories +# if show_separator +# separator = t.group() +# if last_separator != separator +# list.append "
  • #{separator}
  • " +# last_separator = separator + +# list.append b.render() +# list.listview 'refresh' diff --git a/js/app/models.js b/js/app/models.js new file mode 100644 index 0000000..d332ac1 --- /dev/null +++ b/js/app/models.js @@ -0,0 +1,50 @@ +// Generated by CoffeeScript 1.3.3 +(function() { + var url_to_slug; + + url_to_slug = function(url) { + var slug_in_url; + slug_in_url = /([a-z0-9-]+)[/]?$/; + return slug_in_url.exec(url)[1]; + }; + + Readings.Book = (function() { + + function Book(record) { + $.extend(this, record); + } + + Book.prototype.render = function() { + var wlurl; + wlurl = Readings.config.get('wlurl'); + return "
  • " + this.title + "

  • "; + }; + + Book.prototype.group = function() { + return this.authors; + }; + + return Book; + + })(); + + Readings.Tag = (function() { + + function Tag(record, category) { + this.category = category; + $.extend(this, record); + } + + Tag.prototype.render = function() { + return "
  • " + this.name + "
  • "; + }; + + Tag.prototype.group = function() { + return this.sort_key[0].toUpperCase(); + }; + + return Tag; + + })(); + +}).call(this);