🛠️ 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.BookWithText
|
||||
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.History
|
||||
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.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -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.BookWithText
|
||||
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.History
|
||||
import ua.acclorite.book_story.domain.model.NullableBook
|
||||
import ua.acclorite.book_story.domain.model.SelectableFile
|
||||
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 java.io.File
|
||||
|
||||
|
|
@ -77,6 +79,8 @@ interface BookRepository {
|
|||
suspend fun getBookFromFile(
|
||||
file: File
|
||||
): 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