[Все] [А] [Б] [В] [Г] [Д] [Е] [Ж] [З] [И] [Й] [К] [Л] [М] [Н] [О] [П] [Р] [С] [Т] [У] [Ф] [Х] [Ц] [Ч] [Ш] [Щ] [Э] [Ю] [Я] [Прочее] | [Рекомендации сообщества] [Книжный торрент] |
Сортировщик FB2
Долго искал сортировщик FB2 файлов который бы подошел мне. много чего перепробовал, ничего не понравилась решил сделать сам.
Итак что он умеет
- извлекать fb2 из zip
- считывать информацию с тегов XML и по данной информации переименовывать файл fb2
Файлы переименовываются по следующему признаку
создается каталог _Sort в текущем каталоге с несортированными Fb2 в нем создается каталог автора, далее в него записывается книга Fb2 по имени
Например
_Sort\Головачёв Василий\Хроники выхода.fb2
если присутствуют серия то файл записывается так, в подкаталоге автора, создается каталог серии, например:
_Sort\Головачёв Василий\Черный человек\
в нем
1 - Черный человек.fb2
2 - Черная сила.fb2
3 - Черное время.fb2
Что как бы сделано для себя, если авторов в книге несколько то можно настроить способ сортировки таких книг, либо помещать такие киниги в сборники либо создавать каталог авторов, а туда помещать книгу, причем кол-во авторов в каталоге можно варьировать, т.е. например сделать так что бы книги с 2 мя авторами создавались в каталог авторов, а книги с большим кол-вом авторов помещались в сборники. Да каталог с группой авторов создается в алфавитном порядке.
Вообщем вот что получилось, пока так сказать бета-версия -
.
Первый баг:
А при каких условиях баг появился можно узнать?
А при каких условиях баг появился можно узнать?
А сразу же при запуске программы. А потом периодически , по мере закрытия сообщений об ошибке.
Возможно дело в том, что в программе вы используете что-нибудь специфическое из Win32, а у меня WinXP 64.
Вот, только что сообразил, что ошибка появляется, похоже, при событии OnShow главной формы.
1. Я бы сказал, что очень не хватает диалога выбора директории, которую сканировать. Выпадающий список - это хорошо, но только тогда, когда папка с архивами не запрятана где-то на десятом уровне вложенности.
2. Как остановить обработку каталога с книгами? Нажатие на Close - бесполезно, выйти из программы удалось только с помощью TaskManager. Такое поведение особенно напрягает, если книг много. Как вариант - используйте потоки.
3. Два чекбокса "но не более .. аторов" и "если больше..." никак не связаны между собой, т.е. если я снял галочку с первого "не более" , то какой смысл во втором? Логично было бы в таком случае сделать его неактивным.
4. Ошибка разбора xml, если при выборе директории забыть поставить "\", а такое будет происходить довольно часто.
Ясно, кое что подправил, проверьте у себя, если полезут ошибки, в корне с программой файл логов *.elf будет - можете выложить для разбирательств.
Может лучше написать сортировщик на C#? Тут и кроссплатформенность для x86-x64 и более удобный способ парсинга XML и самое главное - "сборщик мусора" - весьма удобно при обработке большого количества файлов...
UPD: Щя заряжу на комп VS и попробую накидать программку...
Может лучше написать сортировщик на C#? Тут и кроссплатформенность для x86-x64 и более удобный способ парсинга XML и самое главное - "сборщик мусора" - весьма удобно при обработке большого количества файлов...
UPD: Щя заряжу на комп VS и попробую накидать программку...
Можно то можно, просто писалось в основном для своих целей, на коленке за пару тройку часов. Основное что нужно мне было прога делала, а кроссплатформенность можно и на JAVA сделать, тем более что с него и exe можно наклепать. Да и задач то таких не ставилось
Нашел хорошую сборку для работы с fb2 на google code. Щя чего нибудь наворочу... на коленке..
Не против если выложу сюда, в эту тему?
Нашел хорошую сборку для работы с fb2 на google code. Щя чего нибудь наворочу... на коленке..
Не против если выложу сюда, в эту тему?
Да ради Бога, больше программ больше возможностей
Последние комментарии
2 минуты 39 секунд назад
20 минут 25 секунд назад
21 минута 46 секунд назад
23 минуты 31 секунда назад
28 минут 46 секунд назад
30 минут 26 секунд назад
34 минуты 20 секунд назад
46 минут 52 секунды назад
51 минута 22 секунды назад
1 час 5 минут назад