Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
booki Новенький участник форума
Зарегистрирован: 11.08.2006 Сообщения: 44
|
Добавлено: Сб Фев 23, 2008 14:36 Заголовок сообщения: Скрипты для программы Booki |
|
|
Основное назначение программы Booki - переименование и сортировка по каталогам файлов с книгами. В первых версиях программы Booki определение имени файла и каталога осуществлялось на основе шаблонов. Например, шаблон имени файла имел вида типа "%f - %n". %f заменялось на автора книги, а %n на название книги. Так и получалось имя файла.
Со временем от пользователей программы стали поступать просьбы добавить в шаблон некий новый символ %x, который бы, например, заменялся на фамилию автора с инициалами, на первые буквы из слов серии книги и т.д. Стало понятно, что с помощью шаблонов невозможно удовлетворить все запросы по формированию имени и каталога файла.
Начиная с версии 1.7.4 от мая 2007 года имя файла и каталога опеределяются с помощью скриптов. Скрипт - это небольшая программы написанная на простом языке встроенном в программу. Описание языка приведено в справке к программе. С помощью скриптов можно формировать имена файла и каталога по абсолютно любым правилам. Всего в программе используется 3 скрипта:
- для определения имени файла. Храниться в файле rename.sc;
- для определения каталога. Храниться в файле move.sc;
- для формирования заголовка текстового файла, который получается при конвертировании из fb2. Храниться в файле txthdr.sc.
Но как и преимущества, переход на скрипты принес и недостатки. Написание скриптов требует определенных, хотя и небольших, навыков программирования. Как написал один из пользователей - А что делать тем, для кого слово "скрипт" ассоциируется тока с несмазанной дверью? Каюсь, шутка дошла не сразу.
В качестве решения проблемы, были написаны скрипты, которые эмулируют возможности шаблонов. Скрипты можно скачать отсюда http://booki.h12.ru/tech.php
Кроме этого, предлагается:
- если у вас есть трудности с написанием скриптов (вплоть до совсем не знаю как) - пишите в эту ветку форума. Я постараюсь вам помочь;
- если у вас есть скрипты, которыми вы пользуетесь - то поделиться ими с другими пользователями, выложив здесь файлы со скриптами + небольшое описание.
Заодно, будет интересно по какому принципу вы переименовываете файлы и сортируете по каталогам. |
|
Вернуться к началу |
|
|
jurgennt Зрелый участник форума
Зарегистрирован: 15.10.2006 Сообщения: 272 Откуда: Харьков
|
Добавлено: Сб Фев 23, 2008 18:05 Заголовок сообщения: |
|
|
Переименование (rename.sc):
· Порядковый номер в серии - Фамилия первого автора - Название произведения
11 - Кристи - Смерть в облаках
Перемещение (move.sc)
· Диск: \ Каталог библиотеки \ Жанр (первый) \ Алфавитные папки \ Фамилия Имя автора (первого) \ Серия
C:\Library\Детектив\Классический\К\Кристи Агата\Эркюль Пуаро
Пользуюсь двупанельным проводником с деревом, поэтому решил отказаться от показа названия серии — слишком длинно. Да и зачем? — и так всё понятно — попадёт в каталог с названием серии. По этой же причине из всех авторов остаётся только первый и только фамилия (last name).
Перемещение придётся настраивать под себя: наименование диска; название каталога, в котором будет храниться вся библиотека (точка сборки); названия жанров (при желании).
Скрипты написаны автором программы, мною лишь модифицированны (местами слишком грубо), однако работают. )) Если кого-то заинтересовала подобная раскладка по полочкам, то попросите автора убрать за мной мусор. |
|
Вернуться к началу |
|
|
WildGoblin Новенький участник форума
Зарегистрирован: 12.03.2007 Сообщения: 27
|
Добавлено: Ср Мар 12, 2008 16:03 Заголовок сообщения: |
|
|
Здраствуйте!
Можно ли сделать так что бы файлы переименовывались транслитом? |
|
Вернуться к началу |
|
|
Afist Новенький участник форума
Зарегистрирован: 29.08.2006 Сообщения: 27
|
Добавлено: Ср Мар 12, 2008 18:56 Заголовок сообщения: |
|
|
WildGoblin писал(а): | Здраствуйте!
Можно ли сделать так что бы файлы переименовывались транслитом? |
через замену - функция repl. Например, применение repl("черроки","ч","ch") можно получить слово chерроки. И далее меняя остальные буквы, заменить все |
|
Вернуться к началу |
|
|
Marat Новенький участник форума
Зарегистрирован: 12.03.2008 Сообщения: 63
|
Добавлено: Ср Мар 12, 2008 18:58 Заголовок сообщения: |
|
|
Для меня как раз "скрипт" - это именно несмазанная дверь
Хотелось бы научить Booki не перемещать файл, а КОПИРОВАТЬ его один в один, не трогая оригинал, при необходимости чтобы Booki создавала соответствующую папку "Фимилия Имя" автора, а если еще и с вложенной папкой "жанр", так совсем было бы замечательно. Копировать виндой очень неудобно, и папки "Автор/жанр" самому делать нужно, и имена файлов латиницей замучаешься читать. Мне это нужно для того, чтобы брать из общей библиотеки, которая на винте, десяток-другой-третий книжек для чтения на lBook eReader, но чтобы архив библиотеки сохранялся.
Может кто помочь? Заранее благодарен! |
|
Вернуться к началу |
|
|
jurgennt Зрелый участник форума
Зарегистрирован: 15.10.2006 Сообщения: 272 Откуда: Харьков
|
Добавлено: Чт Мар 13, 2008 11:25 Заголовок сообщения: |
|
|
Цитата: | …переименовывались транслитом... | По совету Afist дописал в скрипт переименования замену русского алфавита на его иноземную транскрипцию — по сути просто продолжил уже имеющуюся замену нежелательных символов. |
|
Вернуться к началу |
|
|
Cd_spb Зрелый участник форума
Зарегистрирован: 28.06.2006 Сообщения: 189
|
Добавлено: Пт Мар 14, 2008 12:48 Заголовок сообщения: |
|
|
Marat, можете посмотреть ExpRename, особенно может быть интересно для Вас с добавкой от msblast |
|
Вернуться к началу |
|
|
booki Новенький участник форума
Зарегистрирован: 11.08.2006 Сообщения: 44
|
Добавлено: Пт Мар 14, 2008 22:14 Заголовок сообщения: |
|
|
Marat писал(а): | Хотелось бы научить Booki не перемещать файл, а КОПИРОВАТЬ его один в один, не трогая оригинал, при необходимости чтобы Booki создавала соответствующую папку "Фимилия Имя" автора, а если еще и с вложенной папкой "жанр", так совсем было бы замечательно. |
1. КОПИРОВАТЬ файлы программа Booki не умеет, только перемещать. Возможно реализую функцию копирования в следующих версих программы. На текущий момент можно руками копировать "десяток-другой-третий книжек" во временную папку, а оттуда программа Booki будет перемещать файлы по разным каталогам.
2. Скрипт определяющий каталог файла с книгой http://depositfiles.com/files/4120641.
Для книги с одним автором и без жанров:
c:\books\Фамилия Имя\
Для книги с одним автором и одним жанром:
c:\books\Фамилия Имя\Жанр\
Для книги с несколькими авторами и несколькими жанрами:
c:\books\Фамилия1 Имя1, Фамилия2 Имя2\Жанр1, Жанр2
В первой строчке скрипта поменяйте "c:\\books\\" на какой-то свой каталог. |
|
Вернуться к началу |
|
|
WildGoblin Новенький участник форума
Зарегистрирован: 12.03.2007 Сообщения: 27
|
Добавлено: Сб Мар 15, 2008 15:54 Заголовок сообщения: |
|
|
jurgennt писал(а): | По совету Afist дописал в скрипт переименования замену русского алфавита на его иноземную транскрипцию... |
Огромное СПАСИБО! |
|
Вернуться к началу |
|
|
Marat Новенький участник форума
Зарегистрирован: 12.03.2008 Сообщения: 63
|
Добавлено: Вт Мар 18, 2008 18:44 Заголовок сообщения: |
|
|
booki
Спасибо! |
|
Вернуться к началу |
|
|
Marat Новенький участник форума
Зарегистрирован: 12.03.2008 Сообщения: 63
|
Добавлено: Ср Мар 26, 2008 16:22 Заголовок сообщения: |
|
|
вопрос снят, открыл для себя Библиотекаря http://www.fictionbook.org/forum/viewtopic.php?t=4209&start=0 у него помимо каталогизации еще и очень удобно организован экспорт отдельных файлов из базы в нужное место, так что больше мне для счастья вроде бы ничего и не нужно [/url] |
|
Вернуться к началу |
|
|
GRUMM Новенький участник форума
Зарегистрирован: 28.03.2008 Сообщения: 39
|
Добавлено: Пн Мар 31, 2008 14:13 Заголовок сообщения: |
|
|
может сможет ктонибуть подсказать как скрипт на перемещение надо модифицировать чтобы он раскидывал "c:\books\Ф\Фамилия Имя\" вот так, чтобы в папках по алфавиту было. А то приходится ещё слишком много телодвижений делать чтобы после перемещения ещё и по алфавитным папкам раскидывать. |
|
Вернуться к началу |
|
|
Alexus Новенький участник форума
Зарегистрирован: 26.10.2005 Сообщения: 85 Откуда: Москва
|
Добавлено: Пн Мар 31, 2008 19:14 Заголовок сообщения: |
|
|
GRUMM писал(а): | чтобы он раскидывал "c:\books\Ф\Фамилия Имя\" вот так |
У меня примерно так:
Скопируй и вставь в файл move.sc
===============================
$dir = "C:\\books\\%l\\%f\\"
// в первой строке в кавычках укажите шаблон имени каталога для книг
// обратите внимание, что разделитель каталогов указывается двойным символом "\"
// %a - автор (имя отчество фамилия)
// %f - автор (фамилия имя отчество)
// %m - автор (фамилия)
// %l - автор (первая буква фамилии)
// текст ниже НЕ ИСПРАВЛЯЙТЕ
$a = ""
$f = ""
$m = ""
$l = ""
$i = 1
$str_a = author($i, "l")
$str_a = $str_a + " "
$str_t = author($i, "f")
$str_a = $str_a + $str_t
$f = $str_a
$str_l = author($i, "l")
$l = left($str_l, 1)
$dir = repl($dir, "%a", $a)
$dir = repl($dir, "%f", $f)
$dir = repl($dir, "%m", $m)
$dir = repl($dir, "%l", $l)
============================ _________________ Во многой мудрости много печали, кто умножает познания - умножает скорбь |
|
Вернуться к началу |
|
|
GRUMM Новенький участник форума
Зарегистрирован: 28.03.2008 Сообщения: 39
|
Добавлено: Пн Мар 31, 2008 23:46 Заголовок сообщения: |
|
|
большое спасибо, работает прекрасно |
|
Вернуться к началу |
|
|
GRUMM Новенький участник форума
Зарегистрирован: 28.03.2008 Сообщения: 39
|
Добавлено: Ср Апр 02, 2008 12:10 Заголовок сообщения: |
|
|
вопрос назрел, вот у меня появилось обновление для библиотеки,
у меня хранится в формате "\Ф\Фамилия Имя" но в скачанных книгах файлы фб2.zip уже лежат в каталогах в таком виде: "\Ф\Фамилия_И" соответственно если я просто вставлю новые папки, они не интегрируются с другими а будут в виде дублей.
booki в главной папке не видит книг для сортировки, приходится указывать на каждого автора, что очень долно. Возможно ли с помощю скрипта расскидать авторов по "правильным" папкам?
или нужна другая программа/много китайцев? |
|
Вернуться к началу |
|
|
|