Commit f7adefc2 authored by mitshel's avatar mitshel
Browse files

В силу имеющихся на других платформах проблем с максимальной длинной полей...

В силу имеющихся на других платформах проблем с максимальной длинной полей входящих в индексв (<333 символов при кодировке utf-8)
из индекса таблицы каталогов исключено поле path.
Вместе с этим оптимизирован алгортм проверки наличия добавляемого пути в базе при обработке архивов (проверка производится один раз для всего архива)
parent 92233cd2
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -6,3 +6,4 @@ py/__pycache__/*
py/man.zip
py/ziptest.py
py/fb2parse.py
py/b64decode.py
+1 −1
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ fb2hsize = 0
zipscan    = yes

# ziprescan = no - Предотвращает повторное сканирование всего zip-архива
ziprescan  = no
ziprescan  = yes

# Указываем какая кодировка для названий файлов используется в ZIP-архивах
# доступные кодировки: cp437, cp866, cp1251, utf-8
+2 −5
Original line number Diff line number Diff line
@@ -32,10 +32,10 @@ create table catalogs (
cat_id INT not null AUTO_INCREMENT,
parent_id INT null,
cat_name VARCHAR(64),
path VARCHAR(512),
path VARCHAR(1024),
cat_type INT not null DEFAULT 0,
PRIMARY KEY(cat_id),
KEY(cat_name,path));
KEY(cat_name));

create table tags (
tag_id INT not null AUTO_INCREMENT,
@@ -65,6 +65,3 @@ insert into authors(author_id,last_name) values(1,"Неизвестный Авт

commit;


db/genres.mksql

0 → 100755
+12 −0
Original line number Diff line number Diff line
#!/bin/bash

echo "create table genres("
echo "genre VARCHAR(32),"
echo "section VARCHAR(32),"
echo "subsection VARCHAR(32),"
echo "PRIMARY KEY(genre));"
echo "commit;"
echo
cat genres.txt | grep -v '#' | awk -F'-' '{gsub(/^ +| +$/,"",$1)} {gsub(/^ +| +$/,"",$2)} {gsub(/^ +| +$/,"",$3)} {print "insert into genres(genre,section,subsection) values(\""$1"\",\""$2"\",\""$3"\");"}'
echo "commit;"

db/genres.sql

0 → 100644
+117 −0
Original line number Diff line number Diff line
create table genres(
genre VARCHAR(32),
section VARCHAR(32),
subsection VARCHAR(32),
PRIMARY KEY(genre));
commit;

insert into genres(genre,section,subsection) values("sf_history","Альтернативная история","Фантастика");
insert into genres(genre,section,subsection) values("sf_action","Боевая фантастика","Фантастика");
insert into genres(genre,section,subsection) values("sf_epic","Эпическая фантастика","Фантастика");
insert into genres(genre,section,subsection) values("sf_heroic","Героическая фантастика","Фантастика");
insert into genres(genre,section,subsection) values("sf_detective","Детективная фантастика","Фантастика");
insert into genres(genre,section,subsection) values("sf_cyberpunk","Киберпанк","Фантастика");
insert into genres(genre,section,subsection) values("sf_space","Космическая фантастика","Фантастика");
insert into genres(genre,section,subsection) values("sf_social","Социально","психологическая фантастика");
insert into genres(genre,section,subsection) values("sf_horror","Ужасы и Мистика","Фантастика");
insert into genres(genre,section,subsection) values("sf_humor","Юмористическая фантастика","Фантастика");
insert into genres(genre,section,subsection) values("sf_fantasy","Фэнтези","Фантастика");
insert into genres(genre,section,subsection) values("sf","Научная Фантастика","Фантастика");
insert into genres(genre,section,subsection) values("det_classic","Классический детектив","Детективы и Триллеры");
insert into genres(genre,section,subsection) values("det_police","Полицейский детектив","Детективы и Триллеры");
insert into genres(genre,section,subsection) values("det_action","Боевик","Детективы и Триллеры");
insert into genres(genre,section,subsection) values("det_irony","Иронический детектив","Детективы и Триллеры");
insert into genres(genre,section,subsection) values("det_history","Исторический детектив","Детективы и Триллеры");
insert into genres(genre,section,subsection) values("det_espionage","Шпионский детектив","Детективы и Триллеры");
insert into genres(genre,section,subsection) values("det_crime","Криминальный детектив","Детективы и Триллеры");
insert into genres(genre,section,subsection) values("det_political","Политический детектив","Детективы и Триллеры");
insert into genres(genre,section,subsection) values("det_maniac","Маньяки","Детективы и Триллеры");
insert into genres(genre,section,subsection) values("det_hard","Крутой детектив","Детективы и Триллеры");
insert into genres(genre,section,subsection) values("thriller","Триллер","Детективы и Триллеры");
insert into genres(genre,section,subsection) values("detective","Детектив (не относящийся в прочие категории).","Детективы и Триллеры");
insert into genres(genre,section,subsection) values("prose_classic","Классическая проза","Проза");
insert into genres(genre,section,subsection) values("prose_history","Историческая проза","Проза");
insert into genres(genre,section,subsection) values("prose_contemporary","Современная проза","Проза");
insert into genres(genre,section,subsection) values("prose_counter","Контркультура","Проза");
insert into genres(genre,section,subsection) values("prose_rus_classic","Русская классическая проза","Проза");
insert into genres(genre,section,subsection) values("prose_su_classics","Советская классическая проза","Проза");
insert into genres(genre,section,subsection) values("love_contemporary","Современные любовные романы","Любовные романы");
insert into genres(genre,section,subsection) values("love_history","Исторические любовные романы","Любовные романы");
insert into genres(genre,section,subsection) values("love_detective","Остросюжетные любовные романы","Любовные романы");
insert into genres(genre,section,subsection) values("love_short","Короткие любовные романы","Любовные романы");
insert into genres(genre,section,subsection) values("love_erotica","Эротика","Любовные романы");
insert into genres(genre,section,subsection) values("adv_western","Вестерн","Приключения");
insert into genres(genre,section,subsection) values("adv_history","Исторические приключения","Приключения");
insert into genres(genre,section,subsection) values("adv_indian","Приключения про индейцев","Приключения");
insert into genres(genre,section,subsection) values("adv_maritime","Морские приключения","Приключения");
insert into genres(genre,section,subsection) values("adv_geo","Путешествия и география","Приключения");
insert into genres(genre,section,subsection) values("adv_animal","Природа и животные","Приключения");
insert into genres(genre,section,subsection) values("adventure","Прочие приключения","Приключения");
insert into genres(genre,section,subsection) values("child_tale","Сказка","Детская литература");
insert into genres(genre,section,subsection) values("child_verse","Детские стихи","Детская литература");
insert into genres(genre,section,subsection) values("child_prose","Детскиая проза","Детская литература");
insert into genres(genre,section,subsection) values("child_sf","Детская фантастика","Детская литература");
insert into genres(genre,section,subsection) values("child_det","Детские остросюжетные","Детская литература");
insert into genres(genre,section,subsection) values("child_adv","Детские приключения","Детская литература");
insert into genres(genre,section,subsection) values("child_education","Детская образовательная литература","Детская литература");
insert into genres(genre,section,subsection) values("children","Прочая детская литература","Детская литература");
insert into genres(genre,section,subsection) values("poetry","Поэзия","Поэзия, Драматургия");
insert into genres(genre,section,subsection) values("dramaturgy","Драматургия","Поэзия, Драматургия");
insert into genres(genre,section,subsection) values("antique_ant","Античная литература","Старинное");
insert into genres(genre,section,subsection) values("antique_european","Европейская старинная литература","Старинное");
insert into genres(genre,section,subsection) values("antique_russian","Древнерусская литература","Старинное");
insert into genres(genre,section,subsection) values("antique_east","Древневосточная литература","Старинное");
insert into genres(genre,section,subsection) values("antique_myths","Мифы. Легенды. Эпос","Старинное");
insert into genres(genre,section,subsection) values("antique","Прочая старинная литература","Старинное");
insert into genres(genre,section,subsection) values("sci_history","История","Наука, Образование");
insert into genres(genre,section,subsection) values("sci_psychology","Психология","Наука, Образование");
insert into genres(genre,section,subsection) values("sci_culture","Культурология","Наука, Образование");
insert into genres(genre,section,subsection) values("sci_religion","Религиоведение","Наука, Образование");
insert into genres(genre,section,subsection) values("sci_philosophy","Философия","Наука, Образование");
insert into genres(genre,section,subsection) values("sci_politics","Политика","Наука, Образование");
insert into genres(genre,section,subsection) values("sci_business","Деловая литература","Наука, Образование");
insert into genres(genre,section,subsection) values("sci_juris","Юриспруденция","Наука, Образование");
insert into genres(genre,section,subsection) values("sci_linguistic","Языкознание","Наука, Образование");
insert into genres(genre,section,subsection) values("sci_medicine","Медицина","Наука, Образование");
insert into genres(genre,section,subsection) values("sci_phys","Физика","Наука, Образование");
insert into genres(genre,section,subsection) values("sci_math","Математика","Наука, Образование");
insert into genres(genre,section,subsection) values("sci_chem","Химия","Наука, Образование");
insert into genres(genre,section,subsection) values("sci_biology","Биология","Наука, Образование");
insert into genres(genre,section,subsection) values("sci_tech","Технические науки","Наука, Образование");
insert into genres(genre,section,subsection) values("science","Прочая научная литература","Наука, Образование");
insert into genres(genre,section,subsection) values("comp_www","Интернет","Компьютеры и Интернет");
insert into genres(genre,section,subsection) values("comp_programming","Программирование","Компьютеры и Интернет");
insert into genres(genre,section,subsection) values("comp_hard","Компьютерное железо","Компьютеры и Интернет");
insert into genres(genre,section,subsection) values("comp_soft","Программы","Компьютеры и Интернет");
insert into genres(genre,section,subsection) values("comp_db","Базы данных","Компьютеры и Интернет");
insert into genres(genre,section,subsection) values("comp_osnet","ОС и Сети","Компьютеры и Интернет");
insert into genres(genre,section,subsection) values("computers","Прочая околокомпьтерная литература","Компьютеры и Интернет");
insert into genres(genre,section,subsection) values("ref_encyc","Энциклопедии","Справочная литература");
insert into genres(genre,section,subsection) values("ref_dict","Словари","Справочная литература");
insert into genres(genre,section,subsection) values("ref_ref","Справочники","Справочная литература");
insert into genres(genre,section,subsection) values("ref_guide","Руководства","Справочная литература");
insert into genres(genre,section,subsection) values("reference","Прочая справочная литература","Справочная литература");
insert into genres(genre,section,subsection) values("nonf_biography","Биографии и Мемуары","Документальная литература");
insert into genres(genre,section,subsection) values("nonf_publicism","Публицистика","Документальная литература");
insert into genres(genre,section,subsection) values("nonf_criticism","Критика","Документальная литература");
insert into genres(genre,section,subsection) values("design","Искусство и Дизайн","Документальная литература");
insert into genres(genre,section,subsection) values("nonfiction","Прочая документальная литература","Документальная литература");
insert into genres(genre,section,subsection) values("religion_rel","Религия","Религия и духовность");
insert into genres(genre,section,subsection) values("religion_esoterics","Эзотерика","Религия и духовность");
insert into genres(genre,section,subsection) values("religion_self","Самосовершенствование","Религия и духовность");
insert into genres(genre,section,subsection) values("religion","Прочая религионая литература","Религия и духовность");
insert into genres(genre,section,subsection) values("humor_anecdote","Анекдоты","Юмор");
insert into genres(genre,section,subsection) values("humor_prose","Юмористическая проза","Юмор");
insert into genres(genre,section,subsection) values("humor_verse","Юмористические стихи","Юмор");
insert into genres(genre,section,subsection) values("humor","Прочий юмор","Юмор");
insert into genres(genre,section,subsection) values("home_cooking","Кулинария","Дом и семья");
insert into genres(genre,section,subsection) values("home_pets","Домашние животные","Дом и семья");
insert into genres(genre,section,subsection) values("home_crafts","Хобби и ремесла","Дом и семья");
insert into genres(genre,section,subsection) values("home_entertain","Развлечения","Дом и семья");
insert into genres(genre,section,subsection) values("home_health","Здоровье","Дом и семья");
insert into genres(genre,section,subsection) values("home_garden","Сад и огород","Дом и семья");
insert into genres(genre,section,subsection) values("home_diy","Сделай сам","Дом и семья");
insert into genres(genre,section,subsection) values("home_sport","Спорт","Дом и семья");
insert into genres(genre,section,subsection) values("home_sex","Эротика, Секс","Дом и семья");
insert into genres(genre,section,subsection) values("home","Прочее домоводство","Дом и семья");
commit;
Loading