Информационный портал
pocket versionPOCKET  wikiWIKI  FAQFAQ  ПоискПоиск  ПользователиПользователи  ГруппыГруппы  РегистрацияРегистрация  ПрофильПрофиль  Войти и проверить личные сообщенияВойти и проверить личные сообщения  ВходВход

Скрипты для программы Booki
На страницу 1, 2, 3  След.
 
Найти сообщения без ответов
Начать новую тему   Ответить на тему    Список форумов www.fictionbook.org -> Сделано для FB
Предыдущая тема :: Следующая тема  
Автор Сообщение


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    Заголовок сообщения: Ответить с цитатой

Для меня как раз "скрипт" - это именно несмазанная дверь Smile
Хотелось бы научить 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 у него помимо каталогизации еще и очень удобно организован экспорт отдельных файлов из базы в нужное место, так что больше мне для счастья вроде бы ничего и не нужно Very Happy [/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 в главной папке не видит книг для сортировки, приходится указывать на каждого автора, что очень долно. Возможно ли с помощю скрипта расскидать авторов по "правильным" папкам?

или нужна другая программа/много китайцев?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов www.fictionbook.org -> Сделано для FB Часовой пояс: GMT + 3
На страницу 1, 2, 3  След.
Страница 1 из 3

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group