Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

REQUEST: author.today, добавить опцию для циклов (серий книг) #123

Open
spoter opened this issue Oct 19, 2024 · 7 comments

Comments

@spoter
Copy link

spoter commented Oct 19, 2024

Прошу добавить опцию\параметр работы с названием цикла (серии) и номером книги в серии.
В начало книги в текст.
Добавить к названию файла тегами "{book_author} - {series_name} #{series_num} - {book_name}.{book_format}"
Чтоб можно было собирать имя файла, удобное читателю:
"Автор Иван Какойтович - Сочная серия #1 - Странное название книги.epub"
"Автор Иван Какойтович - Сочная серия #2 - Другое название книги.fb2"

@OnlyFart
Copy link
Owner

Новый релиз пока не делал. Потестить бинарники можно взять отсюда https://github.com/OnlyFart/Elib2Ebook/actions/runs/11419155772

Добавьте к параметрам вызова вот это --book-name-pattern "{author} - {seria} #{seria_number} - {title}"

Формат подставится автоматически из значений переданных в ключе -f

@spoter
Copy link
Author

spoter commented Oct 20, 2024

Нужно обдумать обработку имени файла если отсутствует серия(цикл) и/или номер в цикле.
И если номер написан строкой, например "книга два"

  1. Можно упрощенный способ, если нет серии или номера, использовать паттерн по умолчанию, где "автор - книга".
  2. Можно задать общий тег {серия}, содержащий в себе паттерн "серия #номер", или в опциях можно еще сделать сборку вложенных тегов, но это переусложнение.
    Подумать надо, как лучше и удобнее.

@OnlyFart
Copy link
Owner

Поступил более продумано. Подключил готовую библиотеку.

Используйте вот такую команду:
--book-name-pattern "{Author.Name}{:if,Seria.HasSeria} - {Seria.Name} #{Seria.Number}{:ifend} - {Book.Title}"

@spoter
Copy link
Author

spoter commented Oct 20, 2024

Попробовал, получил файл с названием
{Author.Name}{ if,Seria.HasSeria} - {Seria.Name} #{Seria.Number}{ ifend} - {Book.Title}.epub
Весело, пытался скачать https://author.today/work/284589
генерировал батником:

echo off
setlocal
cls

set /p url=Insert the URL: 

Elib2EbookCli.exe -u %url% -f epub -t 90 -s epub --book-name-pattern "{Author.Name}{:if,Seria.HasSeria} - {Seria.Name} #{Seria.Number}{:ifend} - {Book.Title}"
pause
:exit
@exit

@OnlyFart
Copy link
Owner

Похоже, что последний билд подтянуть забыли https://github.com/OnlyFart/Elib2Ebook/actions/runs/11426946230

@spoter
Copy link
Author

spoter commented Oct 20, 2024

При попытке скачать https://author.today/work/376419
Получаю ошибку:
Начинаю сохранение книги "epub\Александр Русак - Непростые Пути #3 - Непростой Путь Про-Героя. Том 4.epub"
Генерация книги https://author.today/work/376419 завершилась с ошибкой.
System.ArgumentNullException: Value cannot be null. (Parameter 'title')
at EpubSharp.EpubWriter.AddChapter(String title, String html, String fileId) in /Users/okoloskov/Work/Fl/EpubSharp/EpubSharp/EpubWriter.cs:line 182
at Core.Logic.Builders.EpubBuilder.Write(Book book) in D:\a\Elib2Ebook\Elib2Ebook\Core\Logic\Builders\EpubBuilder.cs:line 98
at Core.Logic.Builders.EpubBuilder.BuildInternal(Book book, String fileName) in D:\a\Elib2Ebook\Elib2Ebook\Core\Logic\Builders\EpubBuilder.cs:line 106
at Core.Logic.Builders.BuilderBase.Build(Book book) in D:\a\Elib2Ebook\Elib2Ebook\Core\Logic\Builders\BuilderBase.cs:line 59
at Elib2EbookCli.Program.<>c__DisplayClass0_0.<

b__2>d.MoveNext() in D:\a\Elib2Ebook\Elib2Ebook\Elib2EbookCli\Program.cs:line 57

@spoter
Copy link
Author

spoter commented Nov 23, 2024

Было бы хорошо прописать в readme возможные варианты опции.
Сейчас:
--book-name-pattern | (По-умолчанию: {Author.Name} - {Book.Title}) Шаблон для имени файла.
Недостаточно документировано.
И для других сайтов применимо? Не только author.today?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants