Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - kv

Страницы: [1]
1
kv
Цитировать
ты не принимаешь мое предложение об изменении постановки задачи, изложенное в моем первом посте. Ну что ж, это - твое право. Я правильно тебя понял?
В общем, да. Но вообще-то я на все Ваши предложения ответил, как мне кажется.
ок. У нас разное понимание что такое ответ. Реальные примеры ты делать не хочешь, стандарт воспринимаешь как "простое словесное описание притом краткое". Ну дык давно бы уже написал это описание, а то на форуме ого-го сколько, а простого и краткого, как не было, так и нет. И вообще, я не понимаю что здесь можно "стандартизовать". Давал тебе ссылку на хоум-либ. Там есть задание правила именования файлов, в настройках это занимает 1/3 формы. Вот оно

Ну я б еще добавил длину поля, типа %f:40 - для полной ясности, так сказать. Ну и что тебе еще надо?
Цитировать
Да Вы не переживайте - в жизни нет ничего идеального. И потом - совместная выработка какого-либо стандарта - всегда вызывает определённый конфликт интересов - это нормально.
а с чего мне переживать? Да, потратил несколько часов на треп на форуме - ну и ладно. Это время я рассматриваю как потраченное на понимание, будет с этого польза или нет. Лично мне - при моей работе с либами, в смысле. Не будет. НУ а куда гробить личное время тебе - дело хозяйское, как грится.

Цитировать
Может, Вы правы, а я ошибаюсь - но мне это пока не очень очевидно. Если я в дальнейшем на своём опыте увижу, что лучше сделать как-то иначе - я переделаю.

Я считаю, что то, что предлагаю я, является разумным компромиссом между моей и Вашей позициями. Вы же бескомпромиссно настаиваете на своей позиции - и в этом я с Вами пока не согласен. Может, в будущем и соглашусь, не знаю - но пока что не хотелось бы (соглашаться на Ваш бескомпромиссный вариант на 100%).
у нас не позиция разная, а мировоззрение. Потому как я говорю, что прежде чем что-то делать, надо УМЕТЬ это делать. Например, с моей точки зрения, прога должна помогать в вычленении в сканах метаданных, должна сама лазать в базы ИСБН и выбирать все имеющееся. А у тебя - только заклинания, что хочу чтоб лучше чем NameCreator, но простой стандарт. Ну, хоти:)

2
ни на один свой вопрос ответа я не увидел. На основании этого и анализа твоих последних постов я делаю вывод - ты не принимаешь мое предложение об изменении постановки задачи, изложенное в моем первом посте. Ну что ж, это - твое право. Я правильно тебя понял?

3
kv
Цитировать
О каком Веб-сервере ты говоришь?
Я имею в виду следующее: в первую очередь я намерен создать стандарт человеко-понятного имени.
отступление. Давай посмотрим как это было у других.
Одни хотели создать стандарт, и придумали семиуровневую модель и сеть Х.25. Теперь семиуровневую модель рассказывают на одной лекции а Х.25 можно увидеть в музее.

Другие хотели решить практическую задачу и придумали юникс и TCP/IP. Теперь после единственной лекции о семиуровневой модели говорят почему TCP/IP лучше нее и еще с десяток а что же это такое, железки с TCP/IP внутри клепают даже в гаражах индийских деревень а юникс растащили по кусочкам все - кому хватило ума и бабла - от мелкомягких и фруктовых и до разно-ксовых.

А вся разница - кто к чему стремился тогда, давно.

Цитировать
Который (стандарт) далее реализую в своей программе. Но - этот же самый стандарт сможет использовать любой другой человек, в смысле, любой другой человек сможет написать свою программу, где (также как я) программно воплотит данный стандарт. Например, на Веб-сервере. А вот зачем на Веб-сервере может понадобиться делать подобное - я не знаю. Но вот с NameCreator был такой случай - когда на PHP сделали на веб-сервере программу, которая делала то же самое, что делает NameCreator.

Соответственно, если кто-то на своём веб-сервере реализует программно мой стандарт именования файлов - то где гарантия, что этот человек захочет одновременно там же (в той же программе) сделать внедрение метаданных?
поясни мне, что на веб-сервере будет далать сканировщик. Вот ты, например. без воплощения, а как юзер.
Цитировать
Цитировать
Здесь сначала надо изучить что такое RFC и с чем его едят.
Я имею в виду, разумеется, самодельный стандарт - упрощённого образца.
что это такое. Приведи пример.
Цитировать
Цитировать
Доказательво - соображения общего плана доказательсвом быть не могут.
Да ну что за ерунда - могут конечно же. Для человеко-понятности 245 символов всегда за глаза хватит в имени файла.
еще раз. Проблемы "человеко-понятности" НЕТ. Есть проблема извлечения метаданных из строки в 254 символа. Потому как метаданные занимают БОЛЬШЕ. И из строки в 254 символа извлечь метаданные в 1000 символов НЕЛЬЗЯ.

Цитировать
Цитировать
Еще раз. Если заполнены метаданные, имя сгенерируется автоматически по заданному шаблону. Задал, что там будет идти автор-название-издательство-год - так и будет. НО, при этом, в дальнейшем, парсить имя будет не нужно - потому как метаданные уже БУДУТ СОЗДАНЫ. Их надо будет только достать.
Да я со всем этим не спорю. Ну, а если НЕ будут заданы метаданные - что тогда-то делать? Все Ваши рассуждения хороши, только если метаданные есть.
Приведи мне практическую ситуацию из опыта сканировщика, который только что отсканил книгу и у него НЕТ метаданных. Я представить могу только единственный вариант - он НЕ ХОЧЕТ заполнить метаданные (ессно, я предполагаю, что он работает с прогой, которая позволяет задать метаданные - т.е. с твоей будущей прогой). Итак, ответь на вопрос - почему ты, как сканировщик, не хочешьт заполнить метаданные. Ты ж на сканирование потратил от 1 до много часов, заполнить метаданные - несколько минут. В чем дело?

Итак, кто НЕ ХОЧЕТ - пусть пользуется NameCreator. Но твоя прога будет же лучше. Ведь правда? Вот и пусть платой за дополнительные удобства будет заполнение метаинформации.

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

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

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

Короче говоря, я представляю себе всё это практически вот как:

Я - пользователь. Допустим, я отсканировал книгу и создал DjVu-файл. Далее я беру и генерирую обсуждаемой программой человеко-понятное имя и присваиваю его этому файлу. А вот метаданные, к примеру - по какой-то причине не хочу генерировать и вставлять в этот DjVu. И потом выкладываю готовый DjVu, скажем, на книжно-новостной сайт.

Далее, например, библиотека Homelab просматривает этот книжно-новостной сайт и выкачивает себе все новые книги. Допустим, Homelab забирает себе этот DjVu, и видит: "ага, метаданных почему-то нет. Зато есть такое имя файла, которое можно пропарсить в метаданные - ну хотя бы частично. Что ж, хорошо. Парсим имя файла и заполняем частично метаданные." И всё - все дальнейшие возможные сценарии уже сводятся к Вашим вариантам (с опорой на метаданные). То есть после заполнения метаданных можно смело как угодно менять первоначальное имя файла - и это будет уже не страшно.

Разве плохо придумано?
Плохо. Потому как ты игнорируешь факты. А именно - нельзя запихать метаданные в имя файла. А вот как я говорю - можно. Потому как ничего запихивать не надо. Надо просто ИМЕЮЩИЯСЯ метаданные сохранить как это положено. Почему ты этого не хочешь?

Цитировать
А вот будут ли все такие PDF и DjVu-файлы, впервые попадающие в Сеть, ОДНОВРЕМЕННО с инфоименем иметь ещё и метаданные (как ВЫ того хотите) - ещё не факт. По разным причинам (технические проблемы и человеческий фактор) такие файлы могут и не иметь метаданных.
ну вот нравятся мне рассуждения "взагали"!

Слушай, а давай проще. Обеспечь, чтобы лично твои книги, попадая в сеть, имели метаданные. Сделай для этого прогу. Ты ж понимаешь, как это важно, ну, в смысле, чтоб метаданные были? И все. Кто умный - за тобой потянется. Скажет тебе спасибо за прогу. Полезность метаданных уже сейчас многие понимают. Ну а нет - то ты поможешь понять. На своем сайте, например. Ну а кто тупой - так и пусть юзает NAMECREATOR. Все равно не долго уж осталось, время ее прошло.

Вобчем, будь проще - и народ к тебе потянется:)

4
kv
Цитировать
Но да, надо сменить парадигму - типа, начать работать с метаданными, а не с именем файла. Знаю, это непросто:)
Это всё, конечно, понятно - но почему Вы упорно не желаете рассматривать тот случай, когда юзер не захочет формировать метаданные - а вот информативное имя - как раз захочет? Что тогда прикажете делать? Пример: реализация на Веб-сервере функционала программы NameCreator. А попробуйте-ка на сервере реализовать программную работу с PDF и DjVu-метаданными. Это только я в своей программе волен делать всё, что захочу. А поскольку речь идёт о разработке стандарта именования - то ещё неизвестно, как другие люди в своих программах этот стандарт реализуют.
потому что я - последователен. И предложил и отстаиваю одну идею на протяжении всего треда. А не шарахаюсь со стороны в сторону.Типа, да, зло - а потом аксиома прямо противоположного плана. И я помню о первоначальной задаче - программа для сканировщика. О каком Веб-сервере ты говоришь? Ты что, собираешься через броузер сканить книжки? Или это мордв некой базы данных, куда надо будет заносить отсканенные книги? Ты уж определись, а о сферическом коне в вакууме в виде некоего "стандарта именования" говорить смысла нет, потому как стандарт - это совсем другое. Здесь сначала надо изучить что такое RFC и с чем его едят.

Ну и, если это программа для сканировщика, то где ты видел сканирощика, что не знает, что такое название книги или автор? А если совсем молодой, то пару раз заполнит, а там, глядишь и издательство и ИСБН научится находить:)

Ну а работать с пдф и джву - это ж ты собрался, я могу максимум или в фбд поковыряться или прогой Спейслиба воспользоваться:)

Доказательво - соображения общего плана доказательсвом быть не могут. И именно для этого нужны примеры. Если ты отбрасывавешь идею экспериментальной проверки теории, то кто ж тебе доктор...

Хотя, оно все понятно - дальше ты пишешь - чтоб не получилось - не важно. Снова классика - если факты не устраивают, значит факты отбрасываем. Твоя аксиома это только подтверждает. Т.е. ты для себя уже все решил, и теперь тред перешел в стадию банального стеба, типа
Цитировать
Ну хорошо - вот я отсканировал книгу в DjVu. Сам. Затем заполнил в ней метаданные - всё, как Вы хотите. Ну а имя - какое по-Вашему имя файла мне теперь задать, перед тем как выкладывать в Интернет? В виде md5? :)
ты хоть читал, что я писал? Еще раз. Если заполнены метаданные, имя сгенерируется автоматически по заданному шаблону. Задал, что там будет идти автор-название-издательство-год - так и будет. НО, при этом, в дальнейшем, парсить имя будет не нужно - потому как метаданные уже БУДУТ СОЗДАНЫ. Их надо будет только достать. Вот откуда - я говорю что проще из фб2 - наряду с пдф и джву. Значит надо туда и записать.

5
kv
Цитировать
нельзя быть чуть-чуть беременной. Если прога будет позволять создавать файлы БЕЗ метаинформации, то все будут именно так и делать. Потому как проще это, меньше работы, а человек всегда ищет легкие пути:)
Ну, если человек не захочет создавать метаданные - то я его не заставлю. :) А в моей программе одни и те же токены будут сразу идти как в имя файла, так и в метаданные. А потом надо будет просто ещё дописать остающиеся метаданные.
я написал один вариант как можно заставить. Тогда работать с именем надо в таком порядке - сначала вводятся метаданные, потом по шаблону будет автоматом построено имя. Нет метаданных - нет имени.
Цитировать
Цитировать
А с токенами - у тебя в имя файла влезет еще меньше метаданных, чем в колхозе.
Неправда. Ровно столько же и влезет - просто кое-где колхозные пробелы заменятся на подчёркивания и всё - так что без разницы. И даже больше влезет (за счёт того, что вместо указывания конкретных признаков качества будет указываться 5-балльный квалификатор качества - который гораздо короче по длине). И у меня не будет дурацких колхозных круглых скобок (где 2-я скобка - это чистая потеря длины имени на 1 символ).
Цитировать
Правильную транслитерацию тоже сделать невозможно.
Для наиболее распространённых языков - возможно. А как же тогда по-Вашему существует NameCreator - и почему-то многие им реально пользуются? Правда, многих он и отпугивает чрезмерной замороченностью. Я-то как раз предлагаю куда как более простую систему именования файлов.

Для единичных экзотических случаев, плохо поддающихся транслитерации, можно всё равно что-то придумать приемлемое. Жизнь покажет. Всё заранее не предусмотришь - какой-то процент проблем/ошибок пусть остаётся - иначе до финиша никогда не доплывём.
Подожди, а ты примеры делал? Сколько у тебя влезло? Конкретно, с циферками, можно посмотреть? Ну а насчет "экзотических случаев", то во многом и из-за них либген так долго из колхоза и собирался. И до сих пор проблемы есть с добавлением файлов, где в имена кодируют метаданные. Дело колхоза живуче. Вобчем, классика - исключения только подтверждают правило. Правило - нельзя метаданные кодировать в имя файла.

Самое смешное -  в моем подходе до финиша доплыть быстрее, потому как задача гораздо проще. Никаких заморочек с транслитерацией, длиной, приданием "смысла" токенам и оптимизацией состава. И исключений НЕТ. Но да, надо сменить парадигму - типа, начать работать с метаданными, а не с именем файла. Знаю, это непросто:)

Цитировать
Цитировать
Вобчем, твоя программа будет еще одним источником хаоса.
Забавно. Но NameCreator - явно устарел. Так что его по-любому надо менять на что-то новое.
ага, на новый генератор хаоса:)
Цитировать
Цитировать
благими намерениями вымощена дорога...
А что Вы можете предложить? Не делать в имени поддержку авто-парсинга? Я считаю - делать, поскольку это совершенно несложно сделать - а выгоды налицо.
я написал - выгоды и простота - КАЖУЩИЕСЯ. Написал причины. Имеешь свое мнение - докажи. Хотя бы на примерах.

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

Вот именно ради этой редкой (но тем не менее, реально существующей) потребности я и планирую сделать некий стандарт человеко-узнаваемого имени по-умолчанию - могущий быть полностью автоматически пропарсен в метаданные (естественно, частично).
нельзя быть чуть-чуть беременной. Если прога будет позволять создавать файлы БЕЗ метаинформации, то все будут именно так и делать. Потому как проще это, меньше работы, а человек всегда ищет легкие пути:)

НУ а парсить имена - без токенов это сделать нельзя. А с токенами - у тебя в имя файла влезет еще меньше метаданных, чем в колхозе. Правильную транслитерацию тоже сделать невозможно. Вобчем, твоя программа будет еще одним источником хаоса.
Цитировать
Цитировать
Надо приучать народ пользоваться правильными данными.
Ну надо, конечно, только вот некоторым хоть кол на голове теши - им всё будет невдомёк, они будут всё говорить "а что такое метаданные?" :)
зачем кому-то что-то говорить. Все проще. Есть поля - название, авторы и т.д - ну как в метаданных пдф, и до тех пор, пока минимальный набор из них, тот, что можно узнать из книги, не заполнишь - файл дразнится по мд5 хешу. Вот и весь кол. Ессно, возможны и друuие варианты.
Цитировать
Цитировать
Вобчем - доставать из имени - это КАЖУЩАЯСЯ простота, которая порождает хаос.
Да, я превосходно это понимаю. Как я написал выше, парсение имени в метаданные будет нужно исключительно как чрезвычайная задача (когда по какой-то причине отсутствуют метаданные).
Пусть изначально юзер помещает в Интернет файл, названный как раз таким именем, которое может быть автоматом (частично) пропарсено в метаданные. Потому что - а вдруг по какой-то причине юзер затруднится одновременно ещё и метаданные засунуть в выкладываемый впервые в Сеть PDF или DjVu-файл.

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

Мне кажется, что всё это будет не лишним.
благими намерениями вымощена дорога...

Счас в либгене несколько тыщ. книг где в базе данных числится в поле Название нечто типа VTA0075rtk.pdf. У БГ принцип - добавить в либген, а потом видно будет. В результате, эти файлы через интерфейс найти нельзя, потому как никому не прийдет в голову делать запрос c буковсками. Вот тебе пример мануалов по панасоникам
http://free-books.dontexist.com/search?req=-DS&nametype=orig

Вобчем, повбивав бы:)
Цитировать
Цитировать
А вот для работы с настоящими метаданными надо ПО. Вот я и призываю к созданию такого ПО.
Да, я теперь займусь именно этим. Ведь та программа, которую я планирую, она будет ОДНОВРЕМЕННО генерировать человеко-понятое имя (и тут же его присваивать файлу PDF или DjVu) и генерировать метаданные (и тут же их вставлять - в PDF либо в DjVu).

Но освоение программной работы с PDF-метаданными - это долгая песня - потребуется читать и вникать в спецификацию формата PDF и XMP.
именно поэтому я завел разговор про фбд. С ним точно будет быстрее.

Да и с метаданными пдф тоже не все так просто. Например, ты уверен что туда должны вставляться данные по содержимому файла а не по самому файлу? Вот, например, что там должно быть, если в файле - сборник выдранных откуда-то статей?

7
Цитировать
внутрь - отлично. А сгенерить фбд что мешает? ПОтому как многие каталогизаторы не умеют лазать внутрь пдф или джву, но понимают фбд.
А зачем именно мне генерить FBD? Пусть это делает не лично сам единичный юзер - а автоматическая программа в онлайн-библиотеке - когда юзер уже загрузит туда свою книгу. Или же домашний каталогизатор у юзера.
Цитировать
можно, но таких прог я пока не знаю. Может потому как не искал, но, думаю, что пока нету, потому как фбд- сравнительно новое новшество. ВОт и сделай такой генератор, думаю, будет полезно...
Я не буду (это уже чрезмерно будет лично для меня) - но кто-то иной - вполне сможет сделать.
Строго говоря, генерировать FBD вообще не нужно. Зачем - когда уже есть метаданные в DjVu и PDF. Грубо говоря, FBD и метаданные в DjVu и PDF - это одно и то же. FBD может оказаться выгоднее лишь в бОльшей скорости доступа туда (но не факт).
хозяин-барин. Ессно, решать что делать - тебе. Но имей в виду, если этого не сделаешь, то твоя прога будет востребована лично тобой и еще может десятком сканировщиков, а твои файлы встроить в либу, что домашнюю, что серверную, будет так же сложно как и сейчас. Потому как кому-то придется писать для этого софт. Не факт что кто-то это сделает. А если сделаешь - то ты решишь не только задачу именования, но и задачу дальнейшего распространения твоих сканов. Надо это тебе или нет - решать тебе.
Цитировать
Цитировать
дык парсили колхозные имена - там есть достаточно четкая система. Name Creator - сам же говорил. Но вот достать оттуда чтоб однозначно - тяжко. Ну и названия и авторы там обрезаны иногда.
Колхозные имена так просто не пропарсишь. Я же предлагаю такой шаблон говорящего имени, который будет парситься полностью автоматически.
это называется "за рыбу гроши". Вроде как уже согласились что метаданные надо доставать из метаданных дву и пдф, я еще и за фбд ратую. А ты снова - парсить имена. Еще раз. Если есть метаданные полные, парсить имена - зло. И не надо делать ничего, что бы облегчило это зло. Надо приучать народ пользоваться правильными данными. Потому я и говорю про фбд - оттуда данные достать проще, чем из пдф и джву. Да и вообще - это текстовый формат, там даже блокнот поможет.
Цитировать
Цитировать
в смысле на основании метаданных что есть в базе, попробуй сделать имена по твоему алгоритму. И увидишь, что часть метаданных ты потеряешь.
Да, потеряю. Иначе не получится. В имени файла могут уместиться только самые ключевые метаданные.
Когда метаданные попадут в имя файла, они ПЕРЕСТАНУТ быть метаданными. Теперь это просто - ИМЯ ФАЙЛА - и ничего больше.
Цитировать
Цитировать
ага, вот в колхозе так и сделали. В результате, собрать колхоз можно только в корне диска. Ну а сейчас когда диски можно монтировать куда угодно в дерево каталогов, ты юзерам подкладываешь свинью.
Вобчем, проблема 255 никак не решается. В принципе.
Да, я согласен с тем, что "проблема 255 никак не решается в принципе". Всё, что тут можно сделать - ввести жёсткое ограничение на длину имени файла порядка 245 символов.
НЕТ. не надо из имен файлов пытаться достать метаданные.
Цитировать
Цитировать
Я уже молчу о том, что в либгене есть больше тыщи книг, у которых длина имена книги > 300 символов. Ты их как обрезать предлагаешь - по слову или прямо в середине слова?
Даже не знаю. А как лучше? Но обрезать-то прийдётся по-любому. Но, надеюсь, в любом случае, 245 символов хватит, чтобы сохранить человеко-понятность имени файла - а точные данные о книге всё равно будут храниться в метаданных.
Чтоб сохранить человеко-понятность, обрезать можно как угодно, да и вообще задача формирования имени очень сильно упрощается. Например, при транслитерации разные умляуты можно менять на соств.символы без диакритики - если есть такая таблица,  а не нашлась - ну и фиг с ним, подчеркивание и все. "Понятности" это не сильно навредит, но - насколько проще! А информацию ты не потерял - потому как все записано в файл метаданных. Но теперь нужны средства работы с метаданными. Вобчем - доставать из имени - это КАЖУЩАЯСЯ простота, которая порождает хаос. А вот для работы с настоящими метаданными надо ПО. Вот я и призываю к созданию такого ПО.

8
kv
Очень интересно.

Короче говоря, по большому счёту мы приходим к той мысли, что самое главное - это правильно заполнить метаданные - а какое при этом будет имя файла - вообще не важно (главное, чтобы оно было не более 255 символов, включая путь). Я правильно понял главный вывод? :)
не совсем. надо добавить
2.чтоб имя содержало только символы, допустимые в большинстве файловых систем.
3.чтоб оно было "удобочитаемым" с точки зрения юзера. Причем здесь должна быть полная свобода понимания термина "удобочитаемость". Вон, например, для БВ допустимы только имена файлов=мд5, мне достаточно название-авторы-год-ИСБН.расширение и т.д. Т.е. поддержка шаблона для формирования имен.
Цитировать
Цитировать
Я так понял, что ты (сорри, привычка, предлагаю перейти) разрабатываешь эту задачу с целью генерации имен для НОВЫХ ОТСКАНЕННЫХ книг.
Да-да, именно так. Вот отсканировал человек у себя дома книгу - пускай он её "правильно" назовёт (как минимум) - и только потом заливает в Интернет.
ну дык тогда главное - дать человеку средство, облегчающий процесс "правильного называния". А это уже зависит от твоих программерских навыков, потому как придумать можно много. Например, если в книге есть ИСБН, то самое правильное - помочь челу вычленить его, а потом пусть прога сама слазит в базу ИСБН и выгребет оттуда все что там есть и предложит поместить это в поля метаданных. В либгене, кстати, такое есть - при добавлении и редактировании книги.
Цитировать
Цитировать
Вот я и говорю - для них метаданные надо совать в 2 места - в сам файл, в служебное поле, а там можно поизвращаться как угодно,
Я и предлагаю, что моя программа будет ОДНОВРЕМЕННО генерировать как инфоративное имя - так и метаданные - и будет эти метаданные записывать - внутрь самого файла.
внутрь - отлично. А сгенерить фбд что мешает? ПОтому как многие каталогизаторы не умеют лазать внутрь пдф или джву, но понимают фбд. Твоя ж задача - облегчить жизнь дальнейшим юзателям твои сканов? Вот и облегчи...
Цитировать
Цитировать
А заодно - фб2 - это вообще просто, это XML файл.
Вы имеете в виду "формат FBD"? Я надеюсь, что его можно будет полностью автоматически генерировать из PDF- и DjVu-метаданных (точно, правда, не знаю, так ли это - но скорее всего).
можно, но таких прог я пока не знаю. Может потому как не искал, но, думаю, что пока нету, потому как фбд- сравнительно новое новшество. ВОт и сделай такой генератор, думаю, будет полезно...
Цитировать
Цитировать
2.потом он сколько-то времени курочил колхозные имена файлов стоб добыть оттуда метаданные для базы данных.
Ага, ну вот видите - если бы уже тогда был в ходу такой стандарт, как я предлагаю, то тогда наполнение метаданных (хотя бы частичное) шло бы автоматом - путём парсинга имён файлов.
дык парсили колхозные имена - там есть достаточно четкая система. Name Creator - сам же говорил. Но вот достать оттуда чтоб однозначно - тяжко. Ну и названия и авторы там обрезаны иногда.
Цитировать
Цитировать
Ну а в качестве примера - вот тебе страница, попрактикуйся составлять имена а потом посмотри что получается.
Не пойму - что значит "попрактикуйся"? Зачем?
в смысле на основании метаданных что есть в базе, попробуй сделать имена по твоему алгоритму. И увидишь, что часть метаданных ты потеряешь. Ну а если не потеряешь - покажи, тебе памятник:)

Цитировать
В общем, я так думаю: постараюсь основной упор сделать на правильность заполнения юзером метаданных (в свежеотсканенных PDF и DjVu).
да, это правильно!
Цитировать
Цитировать
Ну а именование файла - это делается на основе шаблона в ини файле - кто как захотел - тот так и поименовал. Я не берусь предсказать предпочтения сканировщиков.
Я тоже так думаю - генерировать информативное имя файла из его метаданных по заданному шаблону (выбирая шаблон по своему вкусу). С одним уточнением: давайте один такой шаблон сделаем "шаблоном по умолчанию". Всё-таки как-то слишком уж необычно, если юзер будет выкладывать в Сеть файл с именем в виде md5. ;D Давайте уж лучше ему разработаем "шаблон по умолчанию" - с которого я и начал данный топик.
дык а в чем проблема - твоя прога поставляется с одним вариантом ини файла, где записан "твой" шаблон - это и есть по умолчанию. А кого не устраивает и кто поймет как делать другие - сделает себе свой.

Цитировать
Правда, надо как-то решить проблему 255 символов. Буду думать и искать компромисс. Первое, что приходит на ум - задать ограничение длины имени файла - порядка 240-250 (от силы) символов. С расчётом хранения книг либо в первой папке в корне DVD, либо в папке, скажем "D:\1". Что-то в этом роде.
ага, вот в колхозе так и сделали. В результате, собрать колхоз можно только в корне диска. Ну а сейчас когда диски можно монтировать куда угодно в дерево каталогов, ты юзерам подкладываешь свинью.
Вобчем, проблема 255 никак не решается. В принципе. Потому как еще раз - не надо путать имя файла и метаданные. Вот не путай, и у тебя такой проблемы не будет.

Я уже молчу о том, что в либгене есть больше тыщи книг, у которых длина имена книги > 300 символов. Ты их как обрезать предлагаешь - по слову или прямо в середине слова?

9
kv
Кажется, я понял суть Вашей критики.

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

Для домашней каталогизации требования гораздо выше, чем для онлайн-библиотеки. Это видно хотя бы из рассмотрения http://home-lib.net/ .

Я же рассматриваю исключительно каталогизацию онлайн-библиотек. Поэтому-то и реально совместить воедино две противоречивые задачи - человеко-узнаваемость и поддержку автоматической каталогизации.

Так что задачи и опыт http://home-lib.net/ практически мало применимы для целей данного топика. Для онлайн-библиотеки достаточна лишь самая общая каталогизация. Самая "аскетичная", так сказать. Такую вполне можно утиснуть в предопределённый набор токенов в имени файла.
неправильно.
Потому как каталогизация он-лайн-библиотек - это ВСЕГДА файлы+база данных. И как именуется файл - здесь вообще по барабану. Например, в либгене файлы именуются по мд5 хешу. Даже без расширения. А хочет юзер скачать себе файл - ему выдается имя файла, сгенеренное "на лету" по полям базы. Так что для он-лайн либов нет проблемы обозвать файл, а есть проблема найти метаданные, чтоб засунуть их в базу.

Я так понял, что ты (сорри, привычка, предлагаю перейти) разрабатываешь эту задачу с целью генерации имен для НОВЫХ ОТСКАНЕННЫХ книг. Вот я и говорю - для них метаданные надо совать в 2 места - в сам файл, в служебное поле, а там можно поизвращаться как угодно, например, данные для которых есть поля, засунуть в поля, а те, что есть - в какое-то поле примечаний и туда уже токены и прочие вкусности. А заодно - фб2 - это вообще просто, это XML файл. Текм самым убиваются решаются 2 задачи
1.ДЛя он-лайн либов легко решается задача добывания метаданных
2.Для домашней либы легко решается задача подключения новой книги посредством каталогизаторов, поддерживающих фбд.

Ну а именование файла - это делается на основе шаблона в ини файле - кто как захотел - тот так и поименовал. Я не берусь предсказать предпочтения сканировщиков.

Касаемо опыта добывания инфы из имен файлов, то посмотри на траблы, что возникли при развертывании либгена.
1.Простое развертывание либы Колхоза на домашнем компе - сложная задача, которая уперлась как раз в 255 символов. В результате BookWarrior наваял инсталлятор в виде батников, который переделывал колхозные имена что файлы тупо можно было скопировать к себе н комп.
2.потом он сколько-то времени курочил колхозные имена файлов стоб добыть оттуда метаданные для базы данных.
3.потом я лично правил поля на предмет правильно разнесения инфы по полям, разных там сокращений, правильного порядка в ФИО и т.д.
4.после этого к базе либгена добавлено еще 220 тыс книг, и примерно для половины из них инфа берется из имен файлов.
5.в результате качество описания книг после 120 тыщи резко пошло вниз, потому как БГ добавляет книги быстрее чем народ правит поля в базе.

Ну а в качестве примера - вот тебе страница, попрактикуйся составлять имена а потом посмотри что получается.
http://free-books.dontexist.com/search?req=%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F+%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F&nametype=orig





10
Цитировать
Цитировать
Понятно, удобочитаемые имена - полезно. Но для чего? Как по мне - то
чтоб видеть что в файле через любой файловый менеджер.
Да, именно для этого. И чтобы, не скачивая книгу, по её имени понять, что это за книга.
согласен. Ну дык и оставить только єту цель. Потому как чем проще задача - тем больше вероятность ее решения.
Цитировать
Цитировать
Кстати, придумали также спец. метафайл, содержащий только дескрипторы fb2, назвали его fbd. Предлагаю сразу и туда.
Пока не вижу смысла. Зачем "сразу и туда"? Во-первых, это в принципе не нужно, а во-вторых - всегда потом нетрудно будет сделать. Но вообще метаданные будут записываться одновременно - с формированием "говорящего" имени файла.
когда делать - другой вопрос, главное чтобы можно было. Главный резон - уже есть каталогизаторы, что понимают этот формат. Например, http://home-lib.net. Если есть набор таких файлов рядом с книгами. остается натравить его на каталог с файлами - а дальше все будет сделано само.
Цитировать
Цитировать
А именно - зачем извлекать метаинформацию из имени, если это можно сделать из спец.полей файла или из спец.файла для метаинформации (fbd)? Туда же все уже запихнуто вместе с формированием имени. Причем, без всяких преобразований и искажений.
Смысл есть. А что, если кто-нибудь не захочет пользоваться метаданными - по не важно какой причине? Например, просто не знает, что такое метаданные - и никак не может это понять. Или же не имеет специализированный софт для работы с PDF и DjVu-метаданными. Пример: кто-то захочет на веб-сервере реализовать именование файлов (по новому стандарту). Станет ли он заморачиваться ещё и реализацией поддержки PDF и DjVu-метаданных? Наверняка нет. Ведь метаданные в PDF и DjVu имеют строго предопределёный формат (т.е. набор полей). Абы какие метаданные (FB2-метаданные) в PDF или DjVu вставлять не положено.
Так что отказываться от обратимости имени файла в метаданные (естественно, частичной) не хотелось бы.
по порядку. Если кто-то не захочет пользоваться метаданными - пусть не пользуется, никто не заставляет, но вот подменять понятия - в данном случае "метаданные" подменять именем файла не надо никогда, потому как это неправильно в принципе.
Если кто-то не знает, что такое метаданные, то пусть выучит что это, а не изобретает велосипед. Потому как потом хаоса будет больше и порядок в нем наводить гораздо труднее, нежели изначально его не плодить. Во-вторых, метаданными имеет смысл пользоваться только для создания базы. А если понимание дошло до того, что база - нужна, то и понятие "метаданные" уже не будет открытием.

Цитировать
Цитировать
Ну и одно замечание что пихать в имя файла. как по мне - что что
угодно, т.е. это должен определять юзер, главное - чтоб имя файла без
проблем поддерживалось ВСЕМИ файловыми системами. Ессно, на
современном уровне:).
Тут у меня пока нет своего чёткого мнения. А зачем юзеру пихать в имя файла что попало (всё, что ему захочется)? Тогда автоматический разбор имени файла не получится. Пусть взамен юзер пихает "что попало" в метаданные - а не в имя файла. Тогда проблем никаких. Там места много, и полей данных достаточно.
Например, у меня есть электронная читалка и я хочу рассортировать книги в одном каталоге, но чтоб видно было к какой серии (том, издание) они относились. Здесь в имени надо ставить сначала серию, потом - автора. Для другой читалки требования могут быть другими.
Цитировать
Цитировать
Но один элемент - обязательно. Это ИСБН.
А вот это как раз не обязательно - по той простой причине, что не у каждой книги он есть вообще. "Не обязательно" - но "крайне желательно", я так полагаю.
ессно, если ИСБН есть. А на нет - и суда нет:) Тем более, что ИСБН не читаем, и будет дополнением к имени где есть нормальное название. Ну а нету ИСБН у книги - и не будет этого куска.
Цитировать
Цитировать
Ну и, если дополнение к исходной задаче в виде убрать требование
обратимости имени будет принято, тогда можно продолжать.
Ну а если нет - то я пас. Потому как в этом случае я считаю что задача
нерешаемая.
Убирать не хотелось бы. А почему именно нерешаемая? Из-за того, что тогда нельзя будет помещать в имя файла произвольную информацию?
1.основная причина этого - в  разной природе данных.
Имена файлов - короткие - до 255 символов
сюда входят также путь до корневого каталога библиотеки, а это - величина переменная для каждого юзера
2.кодировка-транслитерация. Вобчем, нет ни одного стандарта, где бы описывалась транслитерация ВСЕХ символов. Потому что сейчас транслитерация как таковая уже не очень актуальна. Так, ошметки старых технологий. Все новое и в юникоде прекрасно живет без всякой транслитерации. Т.е. здесь придется городить некий гибрид, трудоемкость создания которогону очччень большая, а смысл?
3.разделение полей в имени. Нормально это только тегами можно сделать, у тебя это токены, но они тоже занимают место, и это все - из тех же 255 символов. А если ты хочешь в имя запихнуть много полей, то у тебя получится, что от трети до половины длины имени уйдет на сами токены. А они ж нужны не для того, чтоб видеть, т.е. для главной задачи, а только для разбора. Т.е. причина - в смешении двух задач в кучу. И в том, что эти задачи - противоречивы.
4.опыт. Работал много на почве создания база данных из имен файлов. Типа, занимался как раз той обратной задачей - извлекал метаданные. И не видел ни одной системы именования, чтобы она позволяла однозначно решить задачу. В лучшем случае будет потеря метаинформации, в худшем- обрезание и смешение разных типов.
Цитировать
Но возможен и компромисс: предусмотреть в конце файла опциональный раздел с произвольной информацией (где юзер будет иметь полную свободу). Этот раздел не будет парситься автоматическим каталогизатором - при разборе книг - ну да и ладно, автоматическому парсеру вполне хватит имеющихся жёстко предопределённых полей.
каталогизация - это совершенно другая задача. ПРичем уже во многих отношениях решенная - см. тот же хокм-либ. Такох прог еще с десяток найти можно. У всех у них основная проблема - где брать метаинформацию, все решают по разному, ну дык и пусть берут ее с фбд файлов. А курочить имена они до сих пор не научилсь. Так почему ты думаешь, что научатся в будущем?

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

11
Привет всем!
Выше мое письмо - не знал про здешний форум, увидел задачу на либгене, а там траблы на форуме продолжаются:)

Как вам предлагаемое изменение постановки задачи?

Страницы: [1]