LibRusLib
Понедельник, 25.11.2024, 18:31
Приветствую Вас Гость | RSS
 
Главная ФорумРегистрацияВход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Архив - только для чтения
Продолжаем работу
drserjДата: Суббота, 19.12.2009, 14:09 | Сообщение # 61
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Quote (drserj)
У Вас в программе повидимому есть код обработки ошибки при поиске zip файла книги в архиве библиотеки. Об этом я сужу по всплывющему окну сообщающему об ошибке поиска файла... А почему бы не сделать поиск без опоры на расширение (тип файла)? Ну а если это никак не возможно, то добавить перебор вариантов расширений - zip, rar, ace, 7z, ha, fb2, doc и т.д. оператор "if" или "case с циклом"... и только если ничего не найдено выдавать окно сообщения об ошибке поиска? Хотя на мое мнение - поиск по имени файла, без учета расширения более универсален.

таки да, есть обработка. И если бы вы-таки знали, насколько она непростая smile С учетом всех проблем с именованием файлов на либрусе - это вообще шедевр программистской мысли smile И с перебором расширений файла тоже нет никаких проблем. А вот где проблема - так это с тем, как эти все расширения обрабатывать. Ведь для каждого типа архиватора надо описать поддержку, а она не сильно простая, описать обработку ошибок (а она в каждом архиваторе своя, включить поддержку просмотра и разархивации (а это надо найти соответствующие хедеры, доработать напильником, оттестировать и т д), доработать программу в соответствиях с этими архивами, и многое другое.

еще одно но - я не знаю, как выглядит коллекция на торренте, ну не видел я ее. Стягивать гектары того что у меня есть, но в другом виде - нелогично. Если мне дадут структуру офлайн-коллекции с торрента - я попробую реализовать ее поддержку.

А все проблемы из-за того, что слишком много вариантов хранения данных. На либрусе - одни, на торрентах - другой, в майхомлибе - третий, и т д... И свести всё воедино - очень сложно.


drSerj
 
ShamsДата: Суббота, 19.12.2009, 15:35 | Сообщение # 62
Генерал-майор
Группа: Проверенные
Сообщений: 274
Репутация: 0
Статус: Offline
Quote (drserj)
Так, проблему решаем следующим образом:

Пропали оба глюка: и с пропусками книг в обновлениях, и с несоответствием количества заявленных и реально присутствующих книг в Новинках.

Спасибо!

 
c2h5ohДата: Суббота, 19.12.2009, 16:45 | Сообщение # 63
Рядовой
Группа: Пользователи
Сообщений: 9
Репутация: 0
Статус: Offline
Quote (drserj)
Если мне дадут структуру офлайн-коллекции с торрента

Там все очень просто -
на сейчас 17 zip архивов с именами вида fb2-nnnnnn-nnnnnn.zip (например - fb2-000024-030559.zip), Ваша программа о этих именах знает и пользоваться ими умеет.
В этих архивах нет никакой структуры - там просто упакованы fb2 файлы. Без поддиректорий, и без дополнительного архивирования каждого файла.

Т.е. единственное, что как бы хотелось сейчас - это чтобы не найдя внутри архива-гигобайтника зазипованый файл книги, программа поискала файл незазипованый, в том же самом месте, например файл fb2.

И ведь этот механизм у Вас в программе уже есть... - Программа показывает информацию о любых книгах из локальной версии Либрусека, а вот отправлять на открытие, не желает - говорит несуществует соответствующий zip архив...

Сообщение отредактировал c2h5oh - Суббота, 19.12.2009, 16:59
 
drserjДата: Суббота, 19.12.2009, 17:01 | Сообщение # 64
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Quote (Shams)
Пропали оба глюка: и с пропусками книг в обновлениях, и с несоответствием количества заявленных и реально присутствующих книг в Новинках. Спасибо!

ессесно пропали, если учесть что из-за смены формата не создавался ряд таблиц... а теперь - создается smile Хотя, гарантии, что ты видишь все книги - увы... та проблемка пока осталась, хотя, вроде, причина уже ясна... бум делать.
Щаз новая проблема вырисовалась - либрус пакует нефб2, добавляя туда инфо-файлик... а в базе - имя старое, не зипованое... А в ранее скачаных архивах - тоже не зипованое. А вот новые - зипованые... Ну и как мне этот винегрет разгрести ???? :((((( Да еще застрял на ровном месте, тупо до безобразия - как определить имя файла по ссылке...


drSerj
 
drserjДата: Суббота, 19.12.2009, 17:03 | Сообщение # 65
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Quote (c2h5oh)
И ведь этот механизм у Вас в программе уже есть... - Программа показывает информацию о любых книгах из локальной версии Либрусека, а вот отправлять на открытие, не желает - говорит несуществует соответствующий zip архив...

то есть файл фб2 лежит отдельно в каталоге с торрентовскими архивами, инфу просмотреть можно, а открыть - нет? Я правильно понял?


drSerj
 
ShamsДата: Воскресенье, 20.12.2009, 05:57 | Сообщение # 66
Генерал-майор
Группа: Проверенные
Сообщений: 274
Репутация: 0
Статус: Offline
Quote (drserj)
Щаз новая проблема вырисовалась - либрус пакует нефб2, добавляя туда инфо-файлик... а в базе - имя старое, не зипованое...

Такое ощущение, что у нас с тобой какие-то совершенно разные архивы либрусека. Ну не вижу я в дейли-архивах никаких следов ни fbd-файлов, ни поголовного зипования. Свободно лежат (внутри дейли) и PDF и DOC и всякие прочие файлы. Не, есть там и зазипованые и зарареные книги. Но они всегда были, ибо в таком виде заливались в библиотеку. Опять-таки FBD внутри этих архивов в архиве не наблюдается. И хотя в LibRusLib у этих архивированных книг прописан формат не архива, а файла, лежащего внутри него, но открываются они вполне корректно - архиватором, из которого уже вызывается ассоциированная читалка.
Если вспомнишь, я еще год назад поднимал вопрос о возможности анализа содержимого архива и прямого вызова читалки для лежащей в нем книги. Ты тогда привел резонные доводы против, включая множественность файлов в некоторых архивах.

Quote (drserj)
А в ранее скачаных архивах - тоже не зипованое. А вот новые - зипованые...

Старые и новые архивы - это какие? Те, которые Ларин перевыложил в мае, и те, что были до них?
 
AndrFДата: Воскресенье, 20.12.2009, 12:28 | Сообщение # 67
Рядовой
Группа: Пользователи
Сообщений: 7
Репутация: 0
Статус: Offline
Quote (drserj)
то есть файл фб2 лежит отдельно в каталоге с торрентовскими архивами, инфу просмотреть можно, а открыть - нет? Я правильно понял?

Я тут набросал простенькое описание и сформировал небольшой файл по тому принципу - можете скачать с www.webfile.ru введя номер файла 4175920.

 
drserjДата: Воскресенье, 20.12.2009, 16:26 | Сообщение # 68
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Quote (Shams)
Ну не вижу я в дейли-архивах никаких следов ни fbd-файлов

Да я не про дейли, а про скачиваемые smile С дейли проблем нет

Quote (Shams)
Старые и новые архивы - это какие? Те, которые Ларин перевыложил в мае, и те, что были до них?

Это те, которые скачивались программой (не дейли).

Quote (AndrF)
Я тут набросал простенькое описание и сформировал небольшой файл по тому принципу - можете скачать с www.webfile.ru введя номер файла 4175920.

Спасибо, глянул. С такими архивами программа работает нормально без всяких доработок. У меня самого в таком варианте лежат архивы.


drSerj
 
drserjДата: Воскресенье, 20.12.2009, 16:29 | Сообщение # 69
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Есть две хорошие новости smile
1. Флибуста начала раздавать базы в формате, поддерживаемом программой. http://www.flibusta.net/sql/
2. Я почти дописал поддержку различных вариантов скачанных книг, в том числе и майхомлибовские.


drSerj
 
ShamsДата: Среда, 23.12.2009, 18:40 | Сообщение # 70
Генерал-майор
Группа: Проверенные
Сообщений: 274
Репутация: 0
Статус: Offline
Quote (c2h5oh)
Программа пытается найти в архивах библиотеки zip файл с книгой, тогда как файлы в архивах библиотеки не зазипованы.

Сегодня случайно смоделировалась эта ситуация, когда попытался открыть книгу из недокачанного архива. После этого поэкспериментировал и вот что выяснилось. Если неархивированный fb2-файл находится внутри либрусековского архива, имеющего корректное имя, то он, как и должно быть, без проблем открывается из программы. А вот если архив, который должен содержать книгу, имеет неправильное имя, отсутствует, поврежден, или файла с нужным именем в архиве нет, то тогда да, выдается сообщение вида "Ошибка. Файл XXXXXX.fb2.zip отсутствует в архиве, или архив поврежден". То есть в программе имеет место быть только некорректная формулировка в сообщении об ошибке, а реальная проблема - в архивах (или путях к ним).
По крайней мере, так обстоит дело у меня.
 
drserjДата: Среда, 23.12.2009, 18:52 | Сообщение # 71
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
да я уже говорил - сообщение по последней проверке происходит... Боле того, это сообщение отрабатывает и в том случае, если вместо книжки скачалась страничка с сообщением об отсутствии доступа... Невозможно предвидеть все ситуации sad Может само сообщение не совсем корректно и полно сформулировано.... А проверки - все проводятся.

Лучше глянь сюда, там последнее мое сообщение: http://libruslib.ucoz.com/forum/20-34-11#1616


drSerj
 
c2h5ohДата: Среда, 23.12.2009, 20:23 | Сообщение # 72
Рядовой
Группа: Пользователи
Сообщений: 9
Репутация: 0
Статус: Offline
Собственно, о чем это я? А собственно о следующем - раз "на пальцах" проблему объяснить не удается, буду объяснять на примерах.

Я взял файл fb2-172703-175951.zip (как Вы понимаете - это архив "месячник") и оставил в нем десяток книг. Файл подсунул MyHomeLib и LibRusLib.

MyHomeLib - показывает информацию о книгах в этом архиве и отправляет файл книги на открытие в программе для чтения.

LibRusLib - показывает информацию о книгах в этом архиве, но при попытке отправить файл книги на чтение, сообщает - "Ошибка. Файл 172712.fb2.zip отсутствует в архивах, или архив поврежден." И это действительно так - файл 172712.fb2.zip отсутствует, в наличии файл 172712.fb2

Урезанный архив выложил на файлообменник - http://ifolder.ru/15629337

Список книг в архиве -

172703.fb2 - Козлова Н. Классицизм Пьера Корнеля
172704.fb2 - Колядич Татьяна. Воспоминания писателей ХХ века (эволюция, проблематика, типология)
172705.fb2 - Каpа-Муpза Сеpгей. Истоpия советского государства и пpава
172706.fb2 - Каpа-Муpза Сеpгей. НАУЧНАЯ КАРТИНА МИРА, ЭКОНОМИКА И ЭКОЛОГИЯ
172707.fb2 - Каpа-Муpза Сеpгей. Официальное советское обществоведение и “незнание общества, в котором мы живем”
172708.fb2 - Каpа-Муpза Сеpгей. Потерянный разум
172709.fb2 - Каpа-Муpза Сеpгей. Жизнь в СССР. «Совок» вспоминает свою жизнь
172710.fb2 - Каpа-Муpза Сеpгей. Столыпин — отец русской революции
172711.fb2 - Комаров Виктор. Атеизм и научная картина мира
172712.fb2 - Шолохов Игорь. КРАСНЫЙ АНГЕЛ СМЕРТИ

 
drserjДата: Среда, 23.12.2009, 22:21 | Сообщение # 73
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
До боли странно. Пиханул этот единственный файл fb2-172703-175951.zip в каталог, всё остальное убрал. запустил программу... Всё прекрасно работает - книги открываются, аннотации просматриваются. Не могу понять в чем проблем.
Первое, что приходит на ум - почисть каталог темп в каталоге программы (ну или тот, который в настройках прописан).
Второе - проверь, включен ли режим локальной коллекции....а вдруг...
Третье - проверь всё-таки пути к каталогам..
Четвертое - а нету ли где-то по путям архива, в диапазон которого попадает этот букид, может он не находит именно в нем...
Пятое - если усё попробовал и не получилось - попробуй оставь в каталоге только этот файл...
не поможет - бум думать дальше...


drSerj
 
c2h5ohДата: Четверг, 24.12.2009, 14:08 | Сообщение # 74
Рядовой
Группа: Пользователи
Сообщений: 9
Репутация: 0
Статус: Offline
Приветствую smile
Иногда, тоскливыми, зимними вечерами, весьма чудесно думается на тему - "а не дурак ли я?" и ведь дествительно - "ой, дурак я, как есть дурак" (эт в порядке самокритики).

Все, разобрался - Виста-хомячиха, красавица, не пускала в директорию "c:\Program Files\LibRusLib\temp\", а вот в директорию "c:\Program Files\LibRusLib\lib\" - пускала. Поэтому книги из онлайна открывались, а книги из офлайна - конечно нет. Ну а инфа о книге, видимо берется из файла-книги находящегося в архиве-месячнике, без копирования книги в "c:\Program Files\LibRusLib\temp\".

Забавно, что если бы в сообщении об ошибке указывался бы полный путь к не открывающемуся файлу, то я бы Вас ни разу бы не побеспокоил своей дуростью. Да уж недоразумение вышло - извините.

PS ну, а с какой вероятностью другие Вистанутые (лениво с ноута ея сносить) могут наступить на подобные грабли, и нужно ли эти грабли как-то решать, это теперь уже Ваша головная боль.

PPS сегодня я с чистой душой прибью MyHomeLib smile - это радует

Сообщение отредактировал c2h5oh - Четверг, 24.12.2009, 14:29
 
drserjДата: Четверг, 24.12.2009, 14:55 | Сообщение # 75
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Quote (c2h5oh)
Все, разобрался - Виста-хомячиха, красавица, не пускала в директорию "c:\Program Files\LibRusLib\temp\",

ыыыы... ну сколько раз объяснять вистанутым и семеранутым - не стоит вообще ставить проги на диск С !!!! И для чего я вообще создал возможность указания каталога Темп в настройках ??? smile

Quote (c2h5oh)
и нужно ли эти грабли как-то решать, это теперь уже Ваша головная боль.

Да они в общем-то давно решены и описаны на страничках форума... Вот как-то всё это собрать воедино и оформить ФАК - руки не доходят sad

Quote (c2h5oh)
PPS сегодня я с чистой душой прибью MyHomeLib - это радует

Ну чего-там "с чистой душой"... хорошая программа, очень многим нравится.. Не без недостатков, как и моя, но нет предела совершенству smile


drSerj
 
Поиск:

Copyright LibRusLib © 2024