Переименование fb2-файлов

ВложениеРазмер
Иконка простого текстового файла fb2rename0.7.133.txt382 КБ

Простейшая программка для переименования файлов fb2 в соответствии с заданным шаблоном. Изменить тип файла с TXT на EXE. Думаю, разобраться будет несложно. Обо всех глюках и багах - пишем сюда. Альфа-тестирование. Автор - mz.Vandal

Комментарии

Удобно. Но срабатывает не 100%.

С кириллицей написанными именами вообще ничего не произошло.
С именами на транслите - большинство переименовалось корректно. Две не распознал, видимо, так как ничего не изменилось.
А откуда берётся информация? Из дескрипшена?

В одном случае из "кирилличного" имени образовалось 2 файла (0 байт) - один раз на транслите, второй - на кириллице. Оба с обрезанным названием (оно, правда, длинновато).

В файле с двумя авторами - по схеме переименовался только первый.

Вроде всё. :)

Возможно из-за кодировки. Модуль, использовавшийся для парсинга XML, работает корректно с utf-8 кодировкой. А на win-1251 капризничает.
Насчёт двух авторов я как-то не подумал :)

Только что "прогнала" ещё раз. Теперь кирилличные частично переименовались.
Но в некоторых авторах вместо имени - инициал, причём на первом месте. Все они в utf8.

С Yuliya_Ostapenko так ничего и не сделано. Проверила и дескрипшен, и кодировку.

Обновил версию. Тестируем.

Аналог уже есть: http://booki.h12.ru/

Да я и не претендую на оригинальность. :) Просто кто-то спросил программку для массового переименования ИМЕННО fb2 файлов в соответствии с содержимым тегов. Показалось интересной разминкой для ума. Минимальный функционал обеспечен, а больше ничего и не нужно.

Да я, собственно, так, для информации. :)

Подсказка-экспромт: если есть желание размяться умом - попробуйте сделать мини-программку для решения обратной задачи: обновление тэгов по имени файла... Это точно будет уникально, а на торрентс.ру вам поставят памятник из чистого вируального золота - там все раздаваемые сборки книг упорядочены и вычищены именно по именам, а не тэгам...

Спасибо за наводку! :)

Я пользуюсь booki очень давно, она имеет единственный недостаток: условно-бесплатная. После переименования примерно 400 файлов начинает задавать арифметические задачки через каждые 20 файлов. Но я без труда обошел это ограничение с помощью взломщика игр artmoney, найдя данную константу (число файлов) и заменив ее на -100000. После чего уже год booki исправно работает. У меня версия 1.8.4, более поздние не испытывал, т.к. она меня вполне устраивает, а от добра добра не ищут. Из положительных моментов можно отметить возможность редакции имени вручную из командной строки программы, а также то, что она перехватывает при установке обращение по типу файлов fb2 в системе к программе-читалке (у меня coolreader) и производит запуск fb2 только через себя > в coolreader. Сначала мне это не понравилось, но потом оказалось, что это очень удобно, эдакий постоянный посредник для файлов fb2. Ко всему прочему она еще выводит в окошке для файла fb2 аннотацию и жанр, если они в файле имеются. Поэтому я рекомендую автору fb2renamer ознакомиться с функциональностью booki, не для того, чтобы с ней конкурировать, а просто, возможно, чтобы почерпнуть что-то полезное. Зачем изобретать функции заново, мучительно скребя затылок и пытая пользователей, если уже есть что-то аналогичное? Это не значит, что fb2renamer не нужен, совсем наоборот, просто по функциональности хотелось бы, чтобы он превосходил booki. И поддерживаю предложение о номере версии и сборке, чтобы не путать, что уже было.

Я считаю, что у каждой программы должно быть своё назначение, и очень не люблю программ-комбайнов. Это замечателно, что booki умеет работать с fb2-файлами. и в ней есть куча полезных фич. Кому нужно, воспользуются именно ей. fb2rename задумывалась как программа ТОЛЬКО для пакетного переименования файлов. Так что не ждите от неё каталогизации, правки fb2, добавления тэгов или ещё каких-то фич. Она проста, как гвоздь, но функции свои выполняет почти на все 100 (не считая нескольких багов, которые сейчас устраняются). За конструктивную критику и советы - отдельное спасибо.

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

и тогда ей точно можно ставить памятник, к примеру booki работает с архивами, но нет пакетного переименования, и работы с подкаталогами,
а это именно то лично мне надо

также хотелось бы что-бы она переименов zip,удаляла старый не переименованный

у меня не лежало и никогда не будет так что библиотека будет вся распакована и лежать без каталогов, вся библиотека запакована как правило в zip, иногда в rar,и всегда так фамилия имя автора-это основной каталог, внутри него архивы книг, зачем их распаковывать, если все лучшие читалки читают из архива!

В booki есть таки пакетная обработка, правда, не включая вложенные папки. А вот работу с архивами я как раз считаю совершенно ненужной. При нынешних емкостях носителей какой смысл в архивах экономить несколько гигабайт на библиотеке? Лучше сэкономить несколько секунд на распаковке. Я все файлы держу только в распакованном fb2. А что касается домашнего Либрусека... Предпочитаю все же свою поисковую систему.

Вот уж назвать booki комбайном никак нельзя... Вы что-то не поняли, и я все же настоятельно советую вам с ней ознакомиться. Это здорово - писать что-то исключительно самому, и иметь собственные взгляды, но принципиально отказываться от знакомства с аналогичными программами (что займет минут 20 от силы) я бы не стал, хотя бы для того, чтобы аргументированно о них отзываться, и знать, что они делают.

Не считаю необходимым знакомиться с другой программой, потому что обязательно захочется в свою добавить вон ту штучку, а потом другую штучку, а потом и третью. А на выходе получится нечто близкое к тому, на что вы советовали посмотреть. К чему плодить клоны? У booki есть свои поклонники, и я не сомневаюсь, что программа хороша.
В fb2rename нет работы с архивами, потому что просто лень разбираться. Ещё раз повторюсь, что это - не более чем разминка для ума, черкание строк кода в свободное от работы время. Эта программа - из тех, которые запускаются на 10 секунд раз в полгода, а дальше о ней благополучно забываешь, так что наращивать функциональность путём добавления сомнительных возможностей считаю излишним.

Цитата:
Эта программа - из тех, которые запускаются на 10 секунд раз в полгода
Вот с этим в корне не согласен, с booki работаю ежедневно. С остальным не спорю, автор - в своем праве ;).

На сайте толькт версия Booki v2.1.3, ArtMoney Special Edition v7.31 не сработало, поиском версию 1.8.4 найти не удалось...
Если возможно вышлите e-mail ом или в личку (да и как заменить константу - чукча читатель...)
Заранее премного благодарен

Я бы добавил еще серию и номер в серии, если присутствуют

Добавили и это.

А может в шаблоне по умолчанию поставить сначала фамилию автора, а потом уже имя?

Вы, видимо, не разобрались. Шаблон придумываете ВЫ. Мы обеспечиваем вас только служебными символами типа %F или %L

Хорошо было бы, если бы один раз выставленный шаблон запоминался. Можно? :)

Вот и я об этом же. По-моему, большинство старается сортировать по фамилии и каждый раз шаблон переделывать не хочется, поэтому я и предложила ПО УМОЛЧАНИЮ сделать сначала фамилию, а уж запоминать шаблон - это было бы еще лучше.

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

Программа очень неплохая для начала, хотелось бы ещё работу с zip-архивами и продвинутую обработку серий (чтобы если тег отсутствует, то не писалась). Ну ещё обработку подпапок, но это уже не особо важно.
Судя по показанию Dependency Walker'а, собирается без дотнета (Delphi?) - это хорошо.
По поводу настроек: IMHO лучше в файле рядом с программой хранить.

Насчёт архивов пока не планируется. Теги с сериями пока просто в пробном варианте и будут дорабатываться. Работа с вложенными каталогами должна работать. Видимо какой-то баг.
Файл настроек тоже будет.
Прога пишется на Free Pascal в Lazarus IDE (теоретически приложение получается кроссплатформенным :) Правда это пока никто не проверял...).

Программа пока отказывается обрабатывать книги, сохранённые НЕ в кодировке utf-8. Думаем, что можно с этим сделать.

Хочу проверить в Linux , можно исходнички ?

Давайте мы сперва доведём её до ума с кодировками, вычистим баги, а потом уже и исходнички предоставим. :)

Добавлено сохранение настроек и исправлен баг с рекурсивным обходом папок. Теперь вложенные папки тоже сканируются.

и хорошо-бы номер сборки указывать, например fb2rename.001.txt, fb2rename.002.txt и т.д., иначе не совсем понятно, это уже новая версия или то что уже есть.

Закинь в качалку (если пользуешься) на автообновление - будет всегда новая.
Лучше не версии писать, а в самом сообщении поста - дату последнего изменения и чейнджлог.

1. Страничка программы booki переехала сюда http://booki.110mb.com/
2. Программа Booki разрабатывалась именно для переименования и сортировки файлов с книгами по каталогам. В процессе разработки обрасла некоторыми дополнительными функциям: перекодирование fb2 файлов из UTF-8 в WIN-1251, конвертирование fb2 в txt и т.д.
3. В программе есть "пакетные" операции - сразу со всеми файлами в текущем каталоге или со всеми файлами в текущем каталоге и его подкаталогах.
4. По поводу "а также то, что она перехватывает при установке обращение по типу файлов fb2 в системе к программе-читалке (у меня coolreader) и производит запуск fb2 только через себя > в coolreader". Этого в программе нет. В первых версиях программа автоматически прописывала пункт вызова себя в контекстное меню fb2 файлов. Что-то видно у неё на вашем компьютере не сложилось, и она вытеснила собой CoolReader. В последней версии программа автоматически НЕ ДОБАВЛЯЕТ пункт меню для вызова себя в контекстное меню fb2 файлов. Пункт меню добавляется только, если вы установите галочки в настройках программы.
5. Здесь http://www.fictionbook.org/forum/viewtopic.php?t=5537 написано, почему я отказался от шаблонов для формирования имени файла.

Цитата:
4. По поводу "а также то, что она перехватывает при установке обращение по типу файлов fb2 в системе к программе-читалке (у меня coolreader) и производит запуск fb2 только через себя > в coolreader". Этого в программе нет. В первых версиях программа автоматически прописывала пункт вызова себя в контекстное меню fb2 файлов. Что-то видно у неё на вашем компьютере не сложилось, и она вытеснила собой CoolReader. В последней версии программа автоматически НЕ ДОБАВЛЯЕТ пункт меню для вызова себя в контекстное меню fb2 файлов. Пункт меню добавляется только, если вы установите галочки в настройках программы.
Фича четко проявляется у меня на нескольких компьютерах под ХР, так что факт имеет место быть. Как-то, когда этого не нужно было, я даже вручную вычистил реестр после booki - ничто иное не помогло вернуть запуск fb2 в coolreader. Но, ИМХО, фича полезная. Еще раз повторюсь, у меня версия 1.8.4, и ставить новые не собираюсь, т.к. судя по описаниям (следим-с), программа движется не в ту сторону, в которую мне нужно, несмотря на попытки обоснования этого движения автором. Как известно, юзверь - самый эгоистичный зверь, и признает только свои резоны :). Тем не менее, за программу автору - респект на все 100% :). Реальной альтернативы в Сети пока не видел, включая последние релизы booki ;D.

слышать то, что программа работает почти на все 100, слегка вызывает улыбку, потому что почти ни один файл у меня правильно не отобразился(((
готов помочь бгарепортами!!)
но программа очень хорошая!! и очень хотелось бы чтобы кто то смог её доработать =)
кто автор программы, чтобы свои багрепорты отсылать? ;)
кстати, когда доделаем прогу, если автор захочет могу в новостях Либрусека черкнуть, что появилась вот такая вот прикольная прожка, которая переименовывает fb2-файлы =) нужно?

откликнитесь! ;))

soshial написал:

кто автор программы, чтобы свои багрепорты отсылать? ;)
кстати, когда доделаем прогу, если автор захочет могу в новостях Либрусека черкнуть, что появилась вот такая вот прикольная прожка, которая переименовывает fb2-файлы =) нужно?
откликнитесь! ;))

Отсылай aka_SKIff.

окей)
а он автор? просто в посте как автор написан другой юзер... )

Показамечены следующие глюки:
- отказывается работать с файлами в windows-1251 кодировке
- иногда пролетают файлы, в названиях книг которых имеются запрещённые для Винды символы ( : ` \ /)
- пока не включена обработка нескольких авторов
- пока не включена возможность удаления исходных файлов после переименования

Ну я на больших массивах файлов не тестил, но из 70 utf8 файлов у меня переименовались правильно 69. Последний был с символом : в имени книги :) Над этим багом ведётся работа.

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

Багрепорты с удовольствием буду получать, если Вам не сложно их отправлять. Насчёт новости на главной считаю, что сперва надо всё же добиться нормальной функциональности и перевести программу из стадии альфа в бету :)

Кстати, может добавить в программу пакетный конвертер в utf-8?

Цитата:
Кстати, может добавить в программу пакетный конвертер в utf-8?

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

Выложил обновлённую версию. Теперь с нумерацией версий :) 0.5
Нужны результаты тестинга. Добавили конвертацию win1251->utf8, возможность удалять оригиналы.

golma обнаружила баг в Висте. Не создаётся файл настроек в папке с программой. Кто знает, как можно обойти?

В новой версии всё работает! Ураааа!!!

Залил версию 0.6. Добавлена возможность обработки нескольких авторов.

aka_SKIff написал:
Залил версию 0.6. Добавлена возможность обработки нескольких авторов.

И даже сборник, где указаны 6 (!) авторов корректно переименован. Класс!

Замечен небольшой баг:
В одной из англоязычных книг переводчик попал в список автора. Я проверила: в дескрипшн он занесён в "переводчики".
Сам файл переименован корректно: автор - в кириллицу, название осталось по-английски.

И ещё одну книгу обнаружила, где переводчики (2) попали при переименовании в авторы. На русском языке на этот раз.
Похоже, что это общий баг, вне зависимости от языка.

Исправлен баг с переводчиками. Версия 0.7. Тестим.

aka_SKIff написал:
Исправлен баг с переводчиками. Версия 0.7. Тестим.

Исправлен баг с переводчиками. ;)
Всё ОК. :)

А эта штука не годится?
Даже, не в замену, а в дополнение - очень удобно "причёсывать" загруженные сборники.
Пожалуй, лучшее из доступного под виндой.

Кстати, программа (fb2rename 0.7) нормально работает в wine (LANG=ru_RU.utf-8)...

Но - (1) переименовываются только книги в utf-8 (по крайней мере в транслит) и (2) если заголовок сцеплен в одну строчку, переименование не работает. Не говоря уж о файлах с нарушениями формата (типа UTF-8 вместо utf-8 в XML-заголовке).

P.S. Добавил в каталог. Лицензию, понятно, пришлось "угадывать" :)

jno написал:
Не говоря уж о файлах с нарушениями формата (типа UTF-8 вместо utf-8 в XML-заголовке).

С каких пор это стало нарушением?

ground0 написал:
С каких пор это стало нарушением?

Ну, не "с пор", а "с т.з. программы" :)
Хотя, точную спецификацию именно этого значения я прям щаз не вспомню.
Я вот про эту строчку: <?xml version="1.0" encoding="utf-8"?>

Уж сколько раз твердили миру...
Почему любимый многими формат FB2 даже здесь обзывают мертворожденным?
Да за чрезмерную строгость парсеров!
Если бы НЦСА Мозаика да Нетскейп так обращались с ХТМЛем, никакого бы уэба у нас не было бы :)
Не нашлось бы столько грамотных уэбмастеров, чтобы строчить код сайтов...

Да, после смены кодировки, исправления энкодинга и рукопашной чистки заголовка - всё сработало.
Но, многие ли смогут это сделать самостоятельно? А для более, чем одного файла? А под виндой, где нету sed'а и iconv'а? То-то...
И файл-то был самый что ни на есть обычный - откуда-то из сети взятый.
И ПалмФикшн его кажет...

В данной версии fb2renamer'а сделана автоматическая перекодировка файлов в utf-8. Правда пока из cp1251. Я думаю, мало найдётся странных личностей, использующих что-то экзотическое. Всё-таки у большинства винда.
Поскольку огромной коллекцией, да даже сколько-нибудь достаточной кучей fb2-шек я не обладаю, очень прошу тестить всех заинтересовавшихся.

дело не в этом...
в винде не только 1251.
я например юзаю иногда 1250 (центрально европейская)
хотелось бы и её тоже в utf8... спасибо.

mz.Vandal написал:
В данной версии fb2renamer'а сделана автоматическая перекодировка файлов в utf-8. Правда пока из cp1251.
Не сработала.
Во всяком случае, под Wine.

Вру! Если заголовок нормальный (см. ниже) - действительно перекодирует само.

Страницы

X