LibRusLib
Пятница, 29.03.2024, 00:07
Приветствую Вас Гость | RSS
 
Главная ФорумРегистрацияВход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » MultiLib - Библиотекарь » Version 1.x » Обсуждение работы программы (Баги, проблемы, решения)
Обсуждение работы программы
Rover_M51Дата: Среда, 24.05.2017, 16:39 | Сообщение # 1441
Рядовой
Группа: Пользователи
Сообщений: 6
Репутация: 0
Статус: Offline
При поиске серии multilib берет sequence name не из раздела <title-info>, а из более позднего <publish-info>. В результате имеем (например в названии файла) вместо  серии "Зов из бездны-01" - серию "Абсолютное оружие". А вот если переменную сначала обнулять, а потом перед присвоением значения проверять ее "ненулевость", то серия будет определяться по первому значению.
 
drserjДата: Среда, 24.05.2017, 16:50 | Сообщение # 1442
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата Rover_M51 ()
При поиске серии multilib берет sequence name не из раздела <title-info>, а из более позднего <publish-info>.

Если про онлайн-библиотеки (либрус или флибуста), то мультилиб если что и берет, то это данные из базы, которую предоставляет библиотека. сам он файлы не парсит (исключая модуль приватной библиотеки). Данные о серии берутся первые, которые получены в результате запроса списка серий, принадлежащих книге. Вопрос о значимости серий стоял давно, каждый видит решение по-своему. Как минимум, есть серии авторские, издательские, пользовательские. Узнать какая есть какая, на момент написания программы, возможности не было, серии равноправны. Может что-то за это время и изменилось, но, анализируя не так давно базу, особых изменений не увидел.
По поводу нулёвости - сие не есть признак типа серии. Где-то не прописали, где-то не исправили... А где-то недавно наткнулся на книгу, входящую в более чем десяток серий. И все были с номером.
Резюме: что дают то и имеем, пока не будет структурирована более детально база самой библиотеки - программа не сможет самостоятельно решать этот вопрос.
Если про модуль приватной библиотеки - то тут так же никто не разбирает тип серии, ибо использует алгоритм онлайн-библиотек.


drSerj
 
lordkorДата: Среда, 24.05.2017, 19:19 | Сообщение # 1443
Лейтенант
Группа: Друзья
Сообщений: 56
Репутация: 0
Статус: Offline
Цитата drserj ()
Этот вопрос возник, видимо, в результате не совсем правильного понимания, зачем эта функция "Последние поступления" - это то, что отобрано но не обработано, не просмотрено и т.д. То есть, настоятельная рекомендация - просмотрел - удали.
 Здесь просто все зависит от сценария использования smile
MultiLib очень мощная система в плане тонкой настройки действий с базой – но вторая сторона подобной мощи как раз сложность выполнения простых постоянных действий, для которых нет заскриптованных шорткатов smile
Для меня «Новинки» - это автоматическая группировка новых книг по определенным критериям, задаваемым фильтрами. Меня пока как раз устраивает, что они там лежат smile Просто неудобно просматривать и отбирать для скачивания и сортировки по группам те книги, которые появились с момента предыдущего импорта. В MyHomeLib это приходилось делать через поиск с фильтрами, вручную выставляя дату (которую еще фиг вспомнишь). Здесь гораздо удобнее – есть четкая индикация последних новинок. Не хватает последнего штриха smile
Насчет удаления – даже в голову не приходило smile Так удобно лежит smile Если логика работы программы предполагает очистку «новинок», может тогда это дело автоматизировать, устанавливая в настройках «возраст» новинок для удаления с возможности отключения автоматики?
 
Поясню свой сценарий – у меня в «новинках» сейчас есть отдельные группы для:
- избранных авторов
- жанра
- поджанра
Соответственно, все книги автоматом валятся в эти группы, и я могу сразу увидеть, что появилась новая книга:
- у одного из моих предпочитаемых авторов – и ее практически точно надо будет читать J
- в интересующем меня поджанре, и ее скорее всего можно будет почитать
- в интересующем меня жанре, и надо посмотреть, может быть ее тоже надо бы как-нибудь попробовать почитать
 
Сейчас для этого сценария мне более менее удобно использовать «новинки». Как это сделать иначе, я пока не нашел. Единственное, чего тут не хватает – выключить показ «старых» «новинок», чтобы просмотреть только самые свежие.

Цитата drserj ()
Но, коль всё-таки проблема возникла - будем решать.
Ну, «проблема» - очень сильно сказано – так, некоторое неудобство smile Или отсутствие бОльшего удобства smile

Цитата drserj ()
В принципе - вариантов несколько.
1.Посмотреть минимальный bookid который нас интересует и в заголовке таблицы и указать в фильтре по этому столбцу(Выбор..) в появившемся фильтре указываем этот букид

2.Можно добавить последние поступившие в отдельную группу и развлекаться как угодно

3.Тупо удалить из новинок всё лишнее
1.       Это каждый раз искать надо и руками устанавливать. Гибко для разового поиска, но неудобно для постоянного использования.
2.       А как их автоматом в отдельную группу добавлять? Вроде бы не нашел такого флага для фильтра. Разве только опять «после прочтения сжечь», чего как раз и хочется избежать. Ну и опять же лишаемся автосортировки новых поступлений по разным фильтрам. 
3.       Тупо не хочу smile

Цитата drserj ()
Да, и так будет. Происходит полное обновление базы, происходит не только дополнение новых данных, но и изменение старых. Нет ни какой гарантии, что тот автор (серия, жанр и т.д.) останутся без изменений. Это одна причина. Вторая причина - перечитывание всех запросов - очень длительная операция, на слабых машинах это очень неудобно.
Это все понятно. Но, как мне кажется, запомнить последний authorID и bookID и просто открыть этого автора на этой книге не должно быть настолько сложно технически – все запросы, конечно, не надо перечитывать, просто чтобы с текущей книги не срывало.

Цитата drserj ()
думал уже... возможно сделаю, там хороший кусок работы надо будет сделать. А сейчас в приоритете Unilib.
Отлично. Будем ждать и надеяться smile А то когда два дела сразу пытаешься делать, такая фигня в результате выходит...

Цитата drserj ()
а так же один автор, одна серия и т д.... А как впихнуть невпихуемое? На самом деле проблема в последствиях. А именно в сортировке и группировке. Не смогу я тогда выполнять эти операции в таблице.Аналогично и с жанрами и с сериями. Думал над этой проблемой с момента создания программы - так и не надумал... Есть вариант через SQL-запрос, но это из пушки по воробью...
Это все понятно, что дело совсем не в лени и нежелании smile 
Один автор и серия – да и фиг бы с ними, это не так страшно, да и впихнуть их реально проблематично. А вот с жанрами основная проблема в том, что они часто криво проставляются – и тогда в одном первом жанре смысла нет вообще. Грубо говоря, если в той же затертой ЛитРПГ первым жанром поставили «боевую фантастику» или «фэнтэзи», чем страдает большинство библиотекарей, а «ЛитРПГ» сунули в конец, то вывод в таблице только первого жанра скорее собьет с толку, чем предоставит полезную информацию – так и приходится выбирать каждую строчку и смотреть описание внизу.
Как сделать, чтобы все работало, советовать не возьмусь smile Просто отклик со стороны относительно свежего пользователя с еще не замыленным взглядом smile Не смертельно, но было бы здорово, если бы было еще лучше smile 
Навскидку – тупо формировать текстовое поле с перечисление жанров и выводить его в таблице, а для сортировки и прочего использовать первое реальное, как сейчас. Дешево и сердито smile
  
Еще пара вопросов вдогонку:
По строке в списке новинок сложно понять, стоит ли качать книгу неизвестного автора. В МультиЛибе есть классная штука – открыть страницу книги. Проблема в том, что сейчас она не работает: адрес формируется торовский (домен берется из соответствующих настроек), а передается все дефолтовому браузеру, который работает через прокси. В результате приходится копировать адрес из открывшегося браузера и вставлять  его в торовский браузер. Было бы здорово это отремонтировать. Первое, что приходит в голову – добавить в настройки адрес домена для страниц книг. Идеальный вариант – делать свой собственный мини-браузер с известно чем :), что не слишком разумно smile Второй вариант – тащить по правому клику аннотацию (а то и с отзывами) – но это тоже монструозно smile
 
Хотелось бы иметь возможность редактировать информацию о книге в своей базе – поменять жанр, серию, номер в серии – очень часто они прописаны неправильно. Есть с этим какие-то технические сложности?
Насколько я понимаю, эта информация должна считываться из файла книги один раз и вноситься в базу, откуда потом берется для отображения, сортировки, обработки и т.п. По идее, ничто не должно мешать поменять в записи один ID на другой. Или я что-то упускаю в тонкостях работы с базой?
 
Работа с группами.
Правой кнопкой добавляем книгу в группу. Чтобы название группы отобразилось в соответствующем поле таблицы, нужно обязательно повторить запрос к базе – например, открыть другого автора и вернуться к нужному. Никак нельзя сразу отрисовать? Или для этого всю процедуру вывода переделывать надо, изначально рассчитанную именно на вывод сформированного результата обращения к базе?
 
Новая книга отслеживаемого поджанра, при этом поджанр указан криво. Засовываем ее в группу «к прочтению» и группу поджанра. Начинаем читать – классно, «вмемориз», то бишь, в группу «Избранное». Дочитали, правой кнопкой «переместить в «Прочитанное» - и книга радостно исчезает из всех групп – и из поджанровой, и из «избранного». Может, имеет смысл при перемещении менять на целевую группу только текущую?

Еще раз сорри, ежели какие вопросы совсем тупые или уже не раз объясненные - ну очень богатая возможностями программа, потому запросы к ней высоки, а разобраться со всем с налету не выйдет smile Но все равно MultiLib ближе всего к тому идеальному инструменту. который нужен мне smile
 
drserjДата: Среда, 24.05.2017, 21:22 | Сообщение # 1444
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата lordkor ()
Здесь просто все зависит от сценария использования
Это конечно... У меня в более старых версиях народ баги использовал как фичи и в итоге, после их устранения негодовал по этому поводу smile

Цитата lordkor ()
Если логика работы программы предполагает очистку «новинок», может тогда это дело автоматизировать, устанавливая в настройках «возраст» новинок для удаления с возможности отключения автоматики?
Нет, это жестоко. Если я по какой-то причине не смог ранее импортировать базу, а время прошло...Вышел из отпуска а новинки пустые smile

Цитата lordkor ()
Но, как мне кажется, запомнить последний authorID и bookID и просто открыть этого автора на этой книге не должно быть настолько сложно технически
Да нет, конечно... Открою сташшшшную тайну, оно даже было... Но потом было убрано по вышеуказанным причинам.

Цитата lordkor ()
Сейчас для этого сценария мне более менее удобно использовать «новинки». Как это сделать иначе, я пока не нашел.

а поиск с последующим добавлением найденного в отдельную группу? Ведь на самом деле основа программы это именно поиск, а все эти группы по авторам, сериям, жанрам - просто фиксированный поиск... В либгене, например, нет ни авторов ни серий ни жанров. Одна строка поиска. Но возможностей - гораздо больше, ибо структура базы более продумана именно в этой части (в другой - полный п, но это отдельная песня)

Цитата lordkor ()
А вот с жанрами основная проблема в том, что они часто криво проставляются

с жанрами, я бы сказал, вообще проблема... Но она изначальна и не от меня зависит. 
Цитата lordkor ()
Просто отклик со стороны относительно свежего пользователя с еще не замыленным взглядом
Дело в том, что эта проблема со времен создания программы, когда замыленых взглядов кроме меня еще ни у кого не было smile Но проблема - да, она есть, серьезная, решений пока нет...

Цитата lordkor ()
Навскидку – тупо формировать текстовое поле с перечисление жанров и выводить его в таблице, а для сортировки и прочего использовать первое реальное, как сейчас. Дешево и сердито
не получится, таблица - готовый наворочаный сторонний продукт, такой функции он не поддерживает. Есть варианты решения в смысле если очень грубо - таблицы в таблице, т.е. Ячейка жанра содержит в себе толпу ячеек жанра. Но избыточность информации приводит к неюзабельности такой таблицы. Да и процесс группировок/сортировок я там слабо представляю. Про скорость работы такой таблицы на тысячах записей я умалчиваю.


drSerj
 
drserjДата: Среда, 24.05.2017, 21:38 | Сообщение # 1445
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата lordkor ()
Проблема в том, что сейчас она не работает: адрес формируется торовский (домен берется из соответствующих настроек), а передается все дефолтовому браузеру, который работает через прокси.

жесть smile Кстати, сама библиотека без контента имеется тут: http://flisland.net, может как-то задействовать...

Цитата lordkor ()
Второй вариант – тащить по правому клику аннотацию (а то и с отзывами) – но это тоже монструозно

страшная тайна, о которой знаю только я - для флибусты аннотацию можно импортировать из базы smile Просто это нехилый файлик, который тянуть не каждый сможет.
Это файлик lib.b.annotations.sql.gz который в импорте я закомментил для пользователей smile Но раскомментив некоторые строчки мы имеем полную базу аннотаций. Отзывы тоже есть, но я их к сожалению не использовал.

Цитата lordkor ()
Хотелось бы иметь возможность редактировать информацию о книге в своей базе – поменять жанр, серию, номер в серии – очень часто они прописаны неправильно. Есть с этим какие-то технические сложности?

Есть. Как я уже писал выше - для флибусты база полностью обновляемая. Все изменения будут затерты при следующем импорте. Исключение - приватная коллекция, там эти функции есть.

Цитата lordkor ()
Работа с группами.
Цитата lordkor ()
Никак нельзя сразу отрисовать?

можно... но не делается. Почему? Если в таблице 1000 строк - уже почувствуется, потому-как проблема не в отрисовке, а в полном перечитывании запроса. А иначе - как?

Цитата lordkor ()
Дочитали, правой кнопкой «переместить в «Прочитанное» - и книга радостно исчезает из всех групп – и из поджанровой, и из «избранного».
этого точно быть не должно... Если можно - конкретный пример книги - bookid

Цитата lordkor ()
разобраться со всем с налету не выйдет
даже больше скажу - сам всех возможностей так и не знаю smile 

Цитата lordkor ()
MultiLib ближе всего к тому идеальному инструменту. который нужен мне
Возможно, ближе был бы unilib, но его пока еще нет smile


drSerj
 
lordkorДата: Среда, 24.05.2017, 21:45 | Сообщение # 1446
Лейтенант
Группа: Друзья
Сообщений: 56
Репутация: 0
Статус: Offline
Цитата drserj ()
У меня в более старых версиях народ баги использовал как фичи и в итоге, после их устранения негодовал по этому поводу
Так это оно завсегда так - в хорошем софте даже баги работают лучше, чем фичи в плохом smile

Цитата drserj ()
Нет, это жестоко. Если я по какой-то причине не смог ранее импортировать базу, а время прошло...Вышел из отпуска а новинки пустые
А кто говорит, что "возраст" - исключительно число дней? Прикинуть комбинацию критериев с запасом. Типа даты позапрошлого обновления. smile Но как по мне, так все равно чистить жалко smile
Цитата drserj ()
а поиск с последующим добавлением найденного в отдельную группу? Ведь на самом деле основа программы это именно поиск, а все эти группы по авторам, сериям, жанрам - просто фиксированный поиск...
Так в том-то и фишка, что это уже готовая автосортировка. А в поиске кажный раз ручками фильтр выбрать, да глубину подстроить. Не, на фиг, на фиг smile Мне этого дело в МайХоумЛибе хватило, так что как тут "новинки" увидел, да еще с выделением "последнего обновления" - вот оно, счастье-то... ну, почти smile
А что до фиксированного поиска - в этом же весь цимес и есть. Тонкий тюнинг - это здорово, когда он есть и позволяет найти все, что надо, когда вдруг понадобится. Но ить искусство инжиниринга состоит как раз в том, чтобы максимально автоматизировать рутинные действия - хоть багом, хоть фичей smile
А поиск - что поиск. Поиск - это хорошо. Но, чтобы найти что-то нужное, надо четко сформулировать, что именно нужно - и это и есть вторая основа программы: комбинации критериев для поиска smile

Цитата drserj ()
с жанрами, я бы сказал, вообще проблема... Но она изначальна и не от меня зависит.
 Это да sad Ну, тут уже разговор исключительно о том, что таки зависит smile

Цитата drserj ()
не получится, таблица - готовый наворочаный сторонний продукт, такой функции он не поддерживает.
Оп-па... Тогда да sad Это изящно уже фиг решишь, результат дюже затратный будет sad Оно того не стоит. Жаль, очень жаль sad
 
drserjДата: Среда, 24.05.2017, 22:02 | Сообщение # 1447
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата lordkor ()
Но как по мне, так все равно чистить жалко

а чего жалеть-то, если есть возможность отследить новинки, задав начальный bookid??? Меню Библиотека - Поиск новинок

Цитата lordkor ()
А в поиске кажный раз ручками фильтр выбрать, да глубину подстроить.

ых... а как же метод научного тыка, если лень доку почитать? smile Сохранение параметров поиска для кого? А чтение?

Цитата lordkor ()
максимально автоматизировать рутинные действия

угу... А завтра будем ждать, пока комп сам найдет то, что мы хочем, но об этом еще не знаем smile

Цитата lordkor ()
Ну, тут уже разговор исключительно о том, что таки зависит

для сетевой библиотеки? Ой, вряд ли от меня что-то зависит...

Цитата lordkor ()
Это изящно уже фиг решишь

Да может и решаемо оно, но в одном лишь гриде функций больше чем в программе smile В программе только очень малая часть возможностей задействована.


drSerj
 
lordkorДата: Среда, 24.05.2017, 22:50 | Сообщение # 1448
Лейтенант
Группа: Друзья
Сообщений: 56
Репутация: 0
Статус: Offline
Цитата drserj ()
сама библиотека без контента имеется тут: http://flisland.net, может как-то задействовать...
Фиксированные решения такого рода чреваты сложностью адаптации к вероятным изменениям smile То бишь, если жестко прописать в коде, а они домен сменят, то опаньки, те же грабли, вид в профиль. Поэтому все, что может измениться, однозначно делать регулируемым (хех, кому я объясняю smile )

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

Цитата drserj ()
Отзывы тоже есть, но я их к сожалению не использовал.
Ну, в моей практике пользования они нужны довольно редко и один раз - тягать ради этого "шоб було" каждый раз на винт кучу мусора - не. нафиг, нафиг. Тут по-хорошему нужна схема "Дай, надо! - Ну, на" smile
Цитата drserj ()
для флибусты база полностью обновляемая. Все изменения будут затерты при следующем импорте.
Ясно. Тогда да. Городить огород с бэкапом и последующим восстановлением ручных изменений не есть хорошо.
Цитата drserj ()
проблема не в отрисовке, а в полном перечитывании запроса
Так я как раз о том и говорю, что не перечитывать запрос, а менять значения в самом "буфере", который отрисовывается. То есть, выводится не фактическое состояние базы после внесения изменений, а предполагаемое - ведь мы же знаем, как мы попросили изменить эти значения, значит может предположить, что будет в результате - и это показывать, пока не понадобится сделать реальный запрос. Но если отрисовкой тоже "закрытая" процедура занимается, тогда да, так не выйдет.

Цитата drserj ()
этого точно быть не должно
Проверил - действительно, все правильно работает. Видимо, какой-то локальный глюк случился, а может я чего не так нажал, и "оно само, я ничего не делал" smile Вопрос снимается, приносятся искренние извинения smile

Цитата drserj ()
сам всех возможностей так и не знаю
логично smile 

Цитата drserj ()
Возможно, ближе был бы unilib, но его пока еще нет
Ну, надеюсь, предоставится возможность проверить это предположение на практике smile 

Пропустил в предыдущем по возврату на книгу:
Цитата drserj ()
оно даже было... Но потом было убрано по вышеуказанным причинам.
Пока все равно не вполне понял препятствие.
Вроде бы, bookID и authorID на флибусте имеют сквозную нумерацию? То есть, максимум, что может произойти с этой парой - они вообще исчезнут из базы. ОК, пусть даже эти ID вдруг дали кому-то другому - ничего страшного. Просто выполняем запрос "показать список книг lastAuthorID". Если такого автора нет - идем в начало, как сделано сейчас. Если есть, ищем книгу с lastBookID и ставим на нее курсор. Нет такой - на первую книгу в списке. Форс мажор, теперь под этим айди другой автор/книга - ну и что? Ничем не хуже начала базы, а вероятность минимальна. Долгий поиск на слабых машинах - так на них и так загрузка/обновление долго идти будут, переход на нужную книгу погоды не сделает. В крайнем случае сделать опять же птичку в настройках "запоминать последнюю книгу" (кстати, "последние открытые" - то, чего мне очень не хватало в МХЛ - отдельное спасибо! Еще бы помимо открытия на чтение и в базе на эту книгу перескакивать smile ).
В общем, поскольку код не знаю, то и критических проблем не вижу smile Лично мне это было бы очень удобно. За других, понятно, сказать не могу smile

Добавлено (24.05.2017, 20:50)
---------------------------------------------

Цитата drserj ()
есть возможность отследить новинки, задав начальный bookid
Так его сначала узнать надо, нужный-то smile И опять же ручками, ручками smile

Цитата drserj ()
ых... а как же метод научного тыка, если лень доку почитать? Сохранение параметров поиска для кого?
Не, ну настолько плохо-то обо мне зачем думать? smile С того и начал, как в МХЛ. Но каждый раз шаблон выбирать для поиска, если их несколько (авторы, поджанры, жанры) ручками надо - а тут оно все само делается. Лепота smile Лень - двигатель прогресса! smile Все лучшие программы были написаны потому, что программисту было лень тупо делать ручками одни и те же действия smile

Цитата drserj ()
А завтра будем ждать, пока комп сам найдет то, что мы хочем, но об этом еще не знаем
Не, это уже не ко мне. Машина должна работать, а человек думать! Я правильный запрос, чего мне надо, составлю - а машина пущай мне все это ищет, по ящичкам раскладывает и свежее на отдельную тарелочку выкладывает. Чтобы я пришел - и вот оно все. Зря я что ли думал и четко машине формулирова, что куда она мне положить должна? smile

Цитата drserj ()
для сетевой библиотеки? Ой, вряд ли от меня что-то зависит...
На сервере - однозначно нет, так даже вопрос не стоит. А вот в локальной копии - тут уже хозяин - барин.

Цитата drserj ()
Да может и решаемо оно, но в одном лишь гриде функций больше чем в программе
Там ключевое слово - "изящно" smile А так оно да, у меня знакомый однажды лом сломать умудрился посредством грубой силы, неудачно приложенной smile

Цитата drserj ()
В программе только очень малая часть возможностей задействована.
Понятное дело. Тут уже вопрос соответствия затрат результату, как всегда.
И вообще, разработку программы нельзя завершить - ее можно только прервать smile
 
drserjДата: Четверг, 25.05.2017, 08:20 | Сообщение # 1449
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата lordkor ()
Фиксированные решения такого рода чреваты

Да кто ж спорит... Но и десятки настроек на одно и то же - счастья не добавят.... А баланс соблюсти тяжело, неизвестно что поменяют завтра. Я вообще не понимаю, зачем такие сложности с тором, подменой ссылок и т д. Поставить AdVor, который делает всё то же, но прозрачно, незаметно и нет всех вышеописанных проблем.

Цитата lordkor ()
Вся суть как раз в том, чтобы не тянуть к себе все подряд, а только нужное - а для этого посмотреть ДО того, как тянуть.

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

Цитата lordkor ()
Так я как раз о том и говорю, что не перечитывать запрос, а менять значения в самом "буфере"

И заменить один запрос кучей мелких smile Нет, на самом деле я так делаю для рейтинга, но мне не сильно нравится такая реализация...

Цитата lordkor ()
Вроде бы, bookID и authorID на флибусте имеют сквозную нумерацию?

я тоже так думал... На самом деле они умудряются затыкать дырки в базе, что не является чем-то неприемлемым, но и радости не добавляет. Нет, я согласен, можно сделать практически всё, вопрос в надобности и цене решения. За последние несколько лет по этому моменту вопросов не возникало, следовательно, не так оно и нужно. А программа при этом не перегружена кодом smile

Цитата lordkor ()
Так его сначала узнать надо, нужный-то

уууууу.... как всё запущено smile Тогда скорее надо делать голосовое управление, а еще лучше - телепатическое smile

Цитата lordkor ()
А вот в локальной копии - тут уже хозяин - барин.

Ну, локальная она чисто условно. Она не изменяемая а полностью переписываемая. Если больше не импортировать базу - да, всё прекрасно. Но тогда смысл в такой "онлайновости" ?

Цитата lordkor ()
у меня знакомый однажды лом сломать умудрился посредством грубой силы

сломать можно всё, но опошлять интеллектуальную беседу не будем smile

Цитата lordkor ()
И вообще, разработку программы нельзя завершить - ее можно только прервать

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


drSerj
 
Rover_M51Дата: Четверг, 25.05.2017, 08:44 | Сообщение # 1450
Рядовой
Группа: Пользователи
Сообщений: 6
Репутация: 0
Статус: Offline
Понял. Совсем не учел, что данные не парсились, извини дурака. Сейчас попробую как парсинг в этом плане сработает.

Итак, после импорта (Искать+обработать) из файлов библиотеки *.fb2:
Пример: Книга Злотникова "Герцог Арвендейл", авторская серия "Арвендейл" № 2, Издательская серия "Магия фэнтези"
Наблюдаем в таблице Авторы - серия "Магия фэнтези" №88
При отправке файла на устройство получаем -  Магия фэнтези-88 Герцог Арвендейл.fb2
То есть отобрать для прочтения на смартфоне книги серии "Арвендейл" без доработки напильником не получается.

Так что программа при парсинге тоже в переменную sequence берет не первое, а последнее встретившееся значение, что не есть хорошо.


Сообщение отредактировал Rover_M51 - Четверг, 25.05.2017, 08:45
 
drserjДата: Четверг, 25.05.2017, 10:07 | Сообщение # 1451
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата Rover_M51 ()
Так что программа при парсинге тоже в переменную sequence берет не первое, а последнее встретившееся значение, что не есть хорошо.


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

Цитата Rover_M51 ()
Так что программа при парсинге тоже в переменную sequence берет не первое, а последнее встретившееся значение, что не есть хорошо.


при парсинге она берет всё, а вот при выборке запросом - первое попавшееся, ибо разницы нет.

И всё-таки вопрос: мы рассматриваем сетевые библиотеки (либрус, флибусту) или локальную (приватную)?


drSerj
 
Rover_M51Дата: Четверг, 25.05.2017, 10:47 | Сообщение # 1452
Рядовой
Группа: Пользователи
Сообщений: 6
Репутация: 0
Статус: Offline
Парсил я приватную библиотеку, свою личную. Не архивы, а просто файлы *.fb2  Скорее всего парсер поочередно присваивает переменной все встреченные значения sequence, заменяя предыдущее на новое. Чтобы сохранять первое встреченное, перед присвоением нужна проверка на первичное (пустое или нулевое) значение и если переменная уже не пустая, то ее не менять. Тогда серия будет именно авторской. Очень сомневаюсь что кому-то нужна сортировка по издательским сериям. Ну или делать несколько переменных серии и выбирать в настройках библиотеки требуемое, но на мой взгляд это лишний геморрой.

P.S. Кстати что-то я не разобрался с новинками. Ставлю условие bookid > 620800 - ничего не отбирается, ставлю дату поступления >= 01.04.2017 - тоже пусто.


Сообщение отредактировал Rover_M51 - Четверг, 25.05.2017, 10:55
 
drserjДата: Четверг, 25.05.2017, 11:07 | Сообщение # 1453
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата Rover_M51 ()
Тогда серия будет именно авторской.

не всегда... Есть вариант, если нет авторской а есть издательская.
по номеру - хоть он есть, хоть его нет - разницы никакой, это абсолютно ничего не значит.
Цитата Rover_M51 ()
Очень сомневаюсь что кому-то нужна сортировка по издательским сериям.

О нет, очень даже многих интересует. Обратим внимание на то, что в инете имеется большое к-во сборок по изданиям. Как они формируются - догадаться не трудно? smile
Цитата Rover_M51 ()
Ну или делать несколько переменных серии и выбирать в настройках библиотеки требуемое, но на мой взгляд это лишний геморрой.

Дело в том, что приватная коллекция в мультилибе - это просто некоторое приятное дополнение, которое основывается на базах сетевых библиотек. Что-то менять в мультилибе по этому вопросу малореально. Сейчас пишется unilib, который заточен именно под пользовательские библиотеки. Там сама база уже заточена под решение данной проблемы и при парсинге, в зависимости от тэга прописывается тип серии.

Цитата Rover_M51 ()
Кстати что-то я не разобрался с новинками.

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


drSerj
 
lordkorДата: Четверг, 25.05.2017, 21:45 | Сообщение # 1454
Лейтенант
Группа: Друзья
Сообщений: 56
Репутация: 0
Статус: Offline
Цитата drserj ()
Но и десятки настроек на одно и то же - счастья не добавят.... А баланс соблюсти тяжело, неизвестно что поменяют завтра.
Согласен sad

Цитата drserj ()
Поставить AdVor
Дык, стоит специально для МультиЛиба. А вот чтобы с фоксом его задружить, пришлось сейчас помучиться. Но таки нашел smile

Цитата drserj ()
Тут дело религии... Я лично тяну всё
И я об том же - у каждого свой сценарий. И хорошо, когда софт подходит под разные smile

Цитата drserj ()
И заменить один запрос кучей мелких
Все равно никак не пойму, как оно работает smile Хотя, если вся процедура вывода - черный ящик, тогда да, самому там ничего не поменять sad

Цитата drserj ()
На самом деле они умудряются затыкать дырки в базе
Да ну и фиг бы с ним, если старые айди местами не меняют.

Цитата drserj ()
За последние несколько лет по этому моменту вопросов не возникало
Ну, за других я говорить не могу, но лично мне неудобно, когда запускаешь обновление базы - и тебя выкидывает на первую клетку smile Как-то удобнее продолжать работу оттуда, где остановился, а не искать каждый раз, где ж я был smile
Опять же, мой сценарий: комп работает 24/7, МультиЛиб тоже, открыт список книг автора, серию которого я в данным момент читаю (или перечитываю). Курсор на текущей книге. Заканчиваю книгу, закрываю читалку, выставляю рейтинг (за неимением флажка "прочитано"), выбираю следующую книгу, открываю ее в читалке.
Выход из программы или обновление библиотеки - и я вылетаю из списка: надо опять искать автора и текущую книгу. Благо можно посмотреть по списку последних открытых. Неудобно, в общем - в идеале бы хотелось оказаться в той же закладке на той же книге, если она не удалена. Или хотя бы в закладке автора на этой книге, если тяжело восстановить предыдущее состояние.

Цитата drserj ()
уууууу.... как всё запущено
А смысл? Зачем каждый раз делать кучу абсолютно ненужных действий, которые комп сам выполнит гораздо эффективнее?  smile
 
1_абрамДата: Пятница, 26.05.2017, 08:53 | Сообщение # 1455
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Цитата lordkor ()
Поясню свой сценарий – у меня в «новинках» сейчас есть отдельные группы для:
- избранных авторов
- жанра
- поджанра


У меня похожий сценарий Я еще использую группу "Отследить" в этой группе отслеживается книги по названию.

Добавлено (26.05.2017, 06:39)
---------------------------------------------

Цитата lordkor ()
Сейчас для этого сценария мне более менее удобно использовать «новинки». Как это сделать иначе, я пока не нашел. Единственное, чего тут не хватает – выключить показ «старых» «новинок», чтобы просмотреть только самые свежие.


Очень просто - упорядочить таблицу по "bookid" - новые новинки Ж) в начале списка. Сортировка в мультилибе сохраняется. Так что очень удобно. Еще я добавляю понравившиеся новинки в группу "К прочтению" и использую фильтр "Группа is not пусто". Это исключает отобранные новинки из таблицы. Очень удобно.

Добавлено (26.05.2017, 06:50)
---------------------------------------------

Цитата drserj ()
Кстати, сама библиотека без контента имеется тут: http://flisland.net, может как-то задействовать...


Так книжку то в ней (http://flisland.net) открыть не удается. Так что опцию открыть в интернете мне пока реализовать не удалось.

Добавлено (26.05.2017, 06:53)
---------------------------------------------

Цитата lordkor ()
Но все равно MultiLib ближе всего к тому идеальному инструменту. который нужен мне


+1, как я понял, вы как и я пришли в мультилиб из хоумлиба.
 
Форум » MultiLib - Библиотекарь » Version 1.x » Обсуждение работы программы (Баги, проблемы, решения)
Поиск:

Copyright LibRusLib © 2024