Что я делаю не так? Не могу подключить библиотеку Траума.

Dec 22, 2013 at 12:22 AM
Здравствуйте. Что-то у меня никак не подключается библиотека Траума. Ситуация такая: библиотека смонтирована в виртуальный привод, TinyOPDS все книжки нашла, аннотации показывает, но вот загрузить книги не даёт. Ни GUI, ни консольная версия. Пробовал из-под FBreader на Андроиде и с обычной Оперы на компе. Я так понял, что неправильно формируется адрес файла. Или может я чего недонастроил?
Coordinator
Dec 22, 2013 at 3:57 PM
Какая версия используется, "официальная" из раздела download или последняя из DropBox-а? Что пишется в log file?
Dec 22, 2013 at 4:17 PM
Все пробовал. Сейчас использую из дропбокса..
Вот кусочек лога:
12.22.2013 02:07:26.7   E   OPDSServer  file F:u\С\Сартр Жан-Поль\Сартр - Тошнота.fb2.zip@æáαΓα - Æ«Φ¡«Γá.fb2, exception Последовательность не содержит соответствующий элемент
12.22.2013 02:07:27.1   I   HttpProcessor   HTTP GET request from 192.168.1.101: /cover/8fc8159f-89e2-102a-94d5-07de47c81719.jpeg
12.22.2013 02:07:27.1   E   OPDSServer  file F:u\С\Сартр Жан-Поль\Сартр - Фрейд.fb2.zip@æáαΓα - öαÑ⌐ñ.fb2, exception Последовательность не содержит соответствующий элемент
12.22.2013 02:07:31.0   I   HttpProcessor   HTTP GET request from 192.168.1.101: /9a5021e4-8925-102a-94d5-07de47c81719/Sartr_Zhan-Pol_Toshnota.fb2.zip
12.22.2013 02:07:31.0   E   HttpProcessor   FB2 file exception Последовательность не содержит соответствующий элемент
Coordinator
Dec 22, 2013 at 7:17 PM
Насколько я могу судить, F:u\С\Сартр Жан-Поль\Сартр - Тошнота.fb2.zip@æáαΓα - Æ«Φ¡«Γá.fb2 (откуда взялось F:u в начале?) действительно невалидный путь, как в Windows, так и в Linux. Так что разбирайся со своим "виртуальным приводом" и правильными путями. Подобный случай уже как-то обсуждался в топике о консольной версии, посмотри, пожалуйста, там.
Dec 22, 2013 at 10:40 PM
ХЗ, откуда взялось. Попробовал на отдельном авторе (чтоб не было вложенных папок) - работало нормально. Можно было бы поковыряться, но я пошёл путём наименьшего сопротивления: распаковал ISO, которыл был в вирт. приводе и натравил прогу на новый каталог. Вроде всё работает, книги отдаёт, ошибок в лог не пишет. В общем, я доволен. Прорейтил.
Coordinator
Dec 23, 2013 at 4:41 PM
Ну и чудесно; если пользователь доволен, то и я доволен :)

P.S. Зарелизить-бы нужно последнюю версию, да вот Слава обещал подфиксить HTML выдачу, да что-то никак не осилит :( Не хочется выкладывать "полуфабрикат"...
Dec 30, 2013 at 9:53 AM
Удалось победить поиск? https://tinyopds.codeplex.com/workitem/1159
Coordinator
Dec 30, 2013 at 5:12 PM
Не занимался пока этим, не до того, сорри...
Jan 1, 2014 at 3:13 AM
Edited Jan 1, 2014 at 3:14 AM
А есть надежда? Кстати, в Marvin поиск работает.
Coordinator
Jan 1, 2014 at 6:34 AM
Да, взгляну на досуге как нибудь, "нивапрос" :) Happy New Year!
Jan 13, 2014 at 7:00 AM
SeNS wrote:
Подобный случай уже как-то обсуждался в топике о консольной версии, посмотри, пожалуйста, там.
Наткнулся на такую-же ситуацию, версия из дропбокса под вин с гуем. почитал про консольный, результат:
первый запуск TinyOPDS.exe версии 2.0
  • создается "пустой" user.config
  • через какое-то время он заполняется значениями, НО! путь к сканируемому фолдеру в конфиг прописывается только при выходе из программы.
    <setting name="LibraryPath" serializeAs="String"></setting>
    отсканировали, имя базы e4a0c297-2612-52ba-95b8-adffa075001f.db
    нет ни картинок, ни доступа к книгам.
    из лога:
01.13.2014 13:50:23.4   I   HttpProcessor   HTTP GET request from 10.10.3.254: /lib/cover/8d328eec-de8c-49cf-97eb-61741319607d.jpeg
01.13.2014 13:50:23.4   E   OPDSServer  file :\4read\Тармашев Сергей Сергеевич\Древний\07 - Час воздаяния.fb2.zip@07 - ùáß ó«ºñá∩¡¿∩.fb2, exception Последовательность не содержит соответствующий элемент
-вышли, смотрим конфиг:
  <setting name="LibraryPath" serializeAs="String">C:\4read</setting>
-запускаем - а имя базы поменялось.... стало ad1115e4-3234-5f62-9680-a80a9055321b.db, соответственно - 0 книг.
и после пересканирования - все работает.
01.13.2014 13:58:57.6   I   HttpProcessor   HTTP GET request from 10.10.3.254: /lib/cover/8d328eec-de8c-49cf-97eb-61741319607d.jpeg
01.13.2014 13:58:57.7   I   HttpProcessor   HTTP GET request from 10.10.3.254: /favicon.ico
01.13.2014 13:59:26.6   I   HttpProcessor   HTTP GET request from 10.10.3.254: /lib/8d328eec-de8c-49cf-97eb-61741319607d/Tarmashev_Seregejj_Chas_vozdayaniya.fb2.zip
Coordinator
Jan 13, 2014 at 5:17 PM
Я бы порекомендовал (при возможности) такой порядок работы:
  • запустить GUI приложение, сконфигурировать все параметры и выйти
  • использовать созданный user.config для консольного приложения
Я не считаю это багом; скорее, это "фича" (поскольку консольное приложение не было изначально задумано). Файл user.config (вместо расширенных параметров командной строки) был использован для простоты и удобства пользователей.
Jan 14, 2014 at 1:48 PM
SeNS wrote:
Я бы порекомендовал (при возможности) такой порядок работы:
  • запустить GUI приложение, сконфигурировать все параметры и выйти
  • использовать созданный user.config для консольного приложения
Я не считаю это багом; скорее, это "фича" (поскольку консольное приложение не было изначально задумано). Файл user.config (вместо расширенных параметров командной строки) был использован для простоты и удобства пользователей.
вообще-то речь идет о GUI, консоль я еще не мучить не начинал =).
имхо стоит задокументировать эту "фичу", больше похожую на баг GUI приложения.

иначе сканирование при первом запуске и настройке GUI без выхода из проги - это зря потраченное время и вопли "не работает!" у пользователя.

и почему имя базы создается по-разному?
из тела GUI - e4a0c297-2612-52ba-95b8-adffa075001f.db
из конфига - ad1115e4-3234-5f62-9680-a80a9055321b.db
да win7макс, если что. на линухе еще не поднимал. если надо что-то проверить "на чистой" - жду команду пару дней.
Coordinator
Jan 14, 2014 at 2:07 PM
Edited Jan 14, 2014 at 2:32 PM
0_W_L, сорри, я тебя неправильно понял, значит. Да, видимо, баг, сейчас исправлю.

P.S. Исправил и перевыложил на dropbox; проверь, пожалуйста.
Jan 14, 2014 at 3:38 PM
Edited Jan 14, 2014 at 3:43 PM
SeNS wrote:
0_W_L, сорри, я тебя неправильно понял, значит. Да, видимо, баг, сейчас исправлю.

P.S. Исправил и перевыложил на dropbox; проверь, пожалуйста.
ок, нормально отработало, имя идентично, база после перезапуска подхватилась.
теперь бы его еще с базаром подружить - надо сниффер взвести, а то сервер даже обращение к себе от базара не фиксирует... ну это может ближе к выходным вебку взведу и посмотрю кому что не нравится...

и еще момент - по второму запуску. неплохо было-бы опцией разрешить запуск, при условии использования конкретного конфига, для консоли - через ключик. обоснование: использование на одном железе раздачи зеркал нескольких библиотек...
Coordinator
Jan 14, 2014 at 5:12 PM
А если из разных каталогов запускать (с разными конфигами) - так не пойдет? Программка-то крохотная и инсталляции не требует...

Правда, сейчас у меня добавлена специальная проверка запуска только одной копии программы (по диаметрально противоположному фичереквесту :) ) - но это можно убрать через опцию.
Jan 14, 2014 at 6:19 PM
для консоли кмк - лучше через ключик сделать, типа запуск "-с path/config/file" - разрешает запуск копии проги. а в GUI - снятую по-умолчанию галку. кому надо - тот поставит, и разместит в разных каталогах. хотя для такой задачи GUI не имеют смысла, разве что при одновременном принудительном сканировании баз...
Coordinator
Jan 14, 2014 at 8:41 PM
Так не лучше, а сложнее и менее удобно, как мне кажется (легко, забыв запустить с параметром, "запортить" конфигурацию). А чем так не нравится идея держать по копии программы с конфигурацией в отдельных каталогах? Есть этому какая-то реальная причина?

P.S. Кстати, консольная версия из dropbox-а может прямо сейчас так работать - опробуй? Только измени в конфиге номера портов, чтобы не совпадали (ну, и чтобы на этом порту больше ничего не висело).
Jan 15, 2014 at 3:30 AM
проверил консольную. запуск из двух разных каталогов на разных портах - работает.

в целом - копии в разных папках держать не проблема, просто если зарежешь запуск второй копии и в консоли - будет грустно.

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

вопрос - как можно запороть конфигурацию из консольной версии? она же вроде конфиг пишет только при его отсутствии в текущей папке, и то - только шапку...
Coordinator
Jan 15, 2014 at 5:02 AM
Отец, "резать" специально ничего не буду; в этом отношении, я последователь "Дао Песдын" (тьфу! Пелевина перечитываю :) ну, в общем, ты понял - если можно не делать, я - только за!) :)

Из консольной версии запороть конфиг нельзя - там только чтение, как я припоминаю (лень сейчас в код лезть). Можно "запороть" (ну, по хорошему, "пороть" там особо нечего, но, не заметив, можно оставить доступ без защиты, например) только в GUI или вручную.

P.S. Глянул сейчас в коде: нельзя запустить две GUI одновременно; две (или больше) консоли или консоль + GUI - пожалуйста.

P.P.S. Только учти - чтобы ранить параллельно, например, флибусту и либрусек (не знаю, правда, зачем это нужно!), потребуется память, ведь вся база сейчас лежит в ОЗУ.
Jan 15, 2014 at 8:14 AM
ну и замечательно! можно в мессагу о занятом порте добавить текст - мол, возможно запущено консольное, ахтунг! ;)

а памяти на стервере достаточно, это не под домашний nas задачка =)
Coordinator
Jan 15, 2014 at 3:02 PM
Edited Jan 15, 2014 at 3:04 PM
Не стоит. Порт может быть занят и не другой копией TinyOPDS, а вовсе сторонним приложением. Написать и включить в TinyOPDS аналог netstat -b я могу, но не хочу - нет такой задачи :)

P.S. Кстати, не протестируешь web-доступ к последнему билду? Я включил туда патчи, присланные Alkira (см. https://tinyopds.codeplex.com/SourceControl/list/patches ), но у меня нет времени на тесты, к сожалению.
Jan 21, 2014 at 10:28 AM
А что, уже есть версия с web доступом помимо opds? Готов протестировать.
Coordinator
Jan 23, 2014 at 1:57 AM
Есть (на дропбоксе, ссылка на главной странице), протестируй, пожалуйста.

Требует доводки, да вот что-то разработчик шаблона пропал :(