🛠️ Add ParseText function
* Parses text
This commit is contained in:
parent
e6a7c5436a
commit
2334e9c3ec
3 changed files with 29 additions and 0 deletions
|
|
@ -28,6 +28,7 @@ import ua.acclorite.book_story.data.remote.dto.LatestReleaseInfo
|
||||||
import ua.acclorite.book_story.domain.model.Book
|
import ua.acclorite.book_story.domain.model.Book
|
||||||
import ua.acclorite.book_story.domain.model.BookWithText
|
import ua.acclorite.book_story.domain.model.BookWithText
|
||||||
import ua.acclorite.book_story.domain.model.BookWithTextAndCover
|
import ua.acclorite.book_story.domain.model.BookWithTextAndCover
|
||||||
|
import ua.acclorite.book_story.domain.model.ChapterWithText
|
||||||
import ua.acclorite.book_story.domain.model.ColorPreset
|
import ua.acclorite.book_story.domain.model.ColorPreset
|
||||||
import ua.acclorite.book_story.domain.model.History
|
import ua.acclorite.book_story.domain.model.History
|
||||||
import ua.acclorite.book_story.domain.model.NullableBook
|
import ua.acclorite.book_story.domain.model.NullableBook
|
||||||
|
|
@ -699,6 +700,16 @@ class BookRepositoryImpl @Inject constructor(
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parse text from given [file].
|
||||||
|
* May give [Resource.Error] if something went wrong.
|
||||||
|
*
|
||||||
|
* @param file File to parse. Should be one of supported file formats.
|
||||||
|
*/
|
||||||
|
override suspend fun parseText(file: File): Resource<List<ChapterWithText>> {
|
||||||
|
return textParser.parse(file)
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Insert history in database.
|
* Insert history in database.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,13 @@ import ua.acclorite.book_story.data.remote.dto.LatestReleaseInfo
|
||||||
import ua.acclorite.book_story.domain.model.Book
|
import ua.acclorite.book_story.domain.model.Book
|
||||||
import ua.acclorite.book_story.domain.model.BookWithText
|
import ua.acclorite.book_story.domain.model.BookWithText
|
||||||
import ua.acclorite.book_story.domain.model.BookWithTextAndCover
|
import ua.acclorite.book_story.domain.model.BookWithTextAndCover
|
||||||
|
import ua.acclorite.book_story.domain.model.ChapterWithText
|
||||||
import ua.acclorite.book_story.domain.model.ColorPreset
|
import ua.acclorite.book_story.domain.model.ColorPreset
|
||||||
import ua.acclorite.book_story.domain.model.History
|
import ua.acclorite.book_story.domain.model.History
|
||||||
import ua.acclorite.book_story.domain.model.NullableBook
|
import ua.acclorite.book_story.domain.model.NullableBook
|
||||||
import ua.acclorite.book_story.domain.model.SelectableFile
|
import ua.acclorite.book_story.domain.model.SelectableFile
|
||||||
import ua.acclorite.book_story.domain.util.CoverImage
|
import ua.acclorite.book_story.domain.util.CoverImage
|
||||||
|
import ua.acclorite.book_story.domain.util.Resource
|
||||||
import ua.acclorite.book_story.presentation.data.MainState
|
import ua.acclorite.book_story.presentation.data.MainState
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
|
|
@ -77,6 +79,8 @@ interface BookRepository {
|
||||||
suspend fun getBookFromFile(
|
suspend fun getBookFromFile(
|
||||||
file: File
|
file: File
|
||||||
): NullableBook
|
): NullableBook
|
||||||
|
|
||||||
|
suspend fun parseText(file: File): Resource<List<ChapterWithText>>
|
||||||
/* - - - - - - - - - - - - - - - - - - - - - - */
|
/* - - - - - - - - - - - - - - - - - - - - - - */
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
package ua.acclorite.book_story.domain.use_case
|
||||||
|
|
||||||
|
import ua.acclorite.book_story.domain.model.ChapterWithText
|
||||||
|
import ua.acclorite.book_story.domain.repository.BookRepository
|
||||||
|
import ua.acclorite.book_story.domain.util.Resource
|
||||||
|
import java.io.File
|
||||||
|
import javax.inject.Inject
|
||||||
|
|
||||||
|
class ParseText @Inject constructor(private val repository: BookRepository) {
|
||||||
|
|
||||||
|
suspend fun execute(file: File): Resource<List<ChapterWithText>> {
|
||||||
|
return repository.parseText(file)
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue