diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/FileParserImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/FileParserImpl.kt index 9fafd716..4050bbf1 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/FileParserImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/FileParserImpl.kt @@ -3,7 +3,6 @@ package ua.acclorite.book_story.data.parser import android.util.Log import ua.acclorite.book_story.data.parser.epub.EpubFileParser import ua.acclorite.book_story.data.parser.fb2.Fb2FileParser -import ua.acclorite.book_story.data.parser.htm.HtmFileParser import ua.acclorite.book_story.data.parser.html.HtmlFileParser import ua.acclorite.book_story.data.parser.pdf.PdfFileParser import ua.acclorite.book_story.data.parser.txt.TxtFileParser @@ -19,7 +18,6 @@ class FileParserImpl @Inject constructor( private val epubFileParser: EpubFileParser, private val fb2FileParser: Fb2FileParser, private val htmlFileParser: HtmlFileParser, - private val htmFileParser: HtmFileParser, ) : FileParser { override suspend fun parse(file: File): BookWithCover? { if (!file.exists()) { @@ -54,7 +52,7 @@ class FileParserImpl @Inject constructor( } ".htm" -> { - htmFileParser.parse(file) + htmlFileParser.parse(file) } else -> { diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/TextParserImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/TextParserImpl.kt index 1c39f552..bfe0af56 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/TextParserImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/TextParserImpl.kt @@ -4,7 +4,6 @@ import android.util.Log import ua.acclorite.book_story.R import ua.acclorite.book_story.data.parser.epub.EpubTextParser import ua.acclorite.book_story.data.parser.fb2.Fb2TextParser -import ua.acclorite.book_story.data.parser.htm.HtmTextParser import ua.acclorite.book_story.data.parser.html.HtmlTextParser import ua.acclorite.book_story.data.parser.pdf.PdfTextParser import ua.acclorite.book_story.data.parser.txt.TxtTextParser @@ -22,7 +21,6 @@ class TextParserImpl @Inject constructor( private val epubTextParser: EpubTextParser, private val fb2TextParser: Fb2TextParser, private val htmlTextParser: HtmlTextParser, - private val htmTextParser: HtmTextParser, ) : TextParser { override suspend fun parse(file: File): Resource> { if (!file.exists()) { @@ -59,7 +57,7 @@ class TextParserImpl @Inject constructor( } ".htm" -> { - htmTextParser.parse(file) + htmlTextParser.parse(file) } else -> { diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/htm/HtmFileParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/htm/HtmFileParser.kt deleted file mode 100644 index 1397c639..00000000 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/htm/HtmFileParser.kt +++ /dev/null @@ -1,46 +0,0 @@ -package ua.acclorite.book_story.data.parser.htm - -import org.jsoup.Jsoup -import ua.acclorite.book_story.R -import ua.acclorite.book_story.data.parser.FileParser -import ua.acclorite.book_story.domain.model.Book -import ua.acclorite.book_story.domain.model.BookWithCover -import ua.acclorite.book_story.domain.model.Category -import ua.acclorite.book_story.domain.util.UIText -import java.io.File -import javax.inject.Inject - -class HtmFileParser @Inject constructor() : FileParser { - - override suspend fun parse(file: File): BookWithCover? { - return try { - val document = Jsoup.parse(file) - - val title = document.select("head > title").text().trim().run { - ifBlank { - file.nameWithoutExtension.trim() - } - } - - BookWithCover( - book = Book( - title = title, - author = UIText.StringResource(R.string.unknown_author), - description = null, - textPath = "", - scrollIndex = 0, - scrollOffset = 0, - progress = 0f, - filePath = file.path, - lastOpened = null, - category = Category.entries[0], - coverImage = null - ), - coverImage = null - ) - } catch (e: Exception) { - e.printStackTrace() - null - } - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/htm/HtmTextParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/htm/HtmTextParser.kt deleted file mode 100644 index f6b4e95b..00000000 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/htm/HtmTextParser.kt +++ /dev/null @@ -1,53 +0,0 @@ -package ua.acclorite.book_story.data.parser.htm - -import android.util.Log -import kotlinx.coroutines.yield -import org.jsoup.Jsoup -import ua.acclorite.book_story.R -import ua.acclorite.book_story.data.parser.DocumentParser -import ua.acclorite.book_story.data.parser.TextParser -import ua.acclorite.book_story.domain.model.Chapter -import ua.acclorite.book_story.domain.model.ChapterWithText -import ua.acclorite.book_story.domain.util.Resource -import ua.acclorite.book_story.domain.util.UIText -import java.io.File -import javax.inject.Inject - -private const val HTM_TAG = "HTM Parser" - -class HtmTextParser @Inject constructor( - private val documentParser: DocumentParser -) : TextParser { - - override suspend fun parse(file: File): Resource> { - Log.i(HTM_TAG, "Started HTM parsing: ${file.name}.") - - return try { - val lines = documentParser.run { Jsoup.parse(file).parseDocument() } - - yield() - - if (lines.isEmpty()) { - return Resource.Error(UIText.StringResource(R.string.error_file_empty)) - } - - Log.i(HTM_TAG, "Successfully finished HTM parsing.") - Resource.Success( - listOf( - ChapterWithText( - chapter = Chapter(title = "", startIndex = 0, endIndex = 0), - text = lines - ) - ) - ) - } catch (e: Exception) { - e.printStackTrace() - Resource.Error( - UIText.StringResource( - R.string.error_query, - e.message?.take(40)?.trim() ?: "" - ) - ) - } - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/html/HtmlTextParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/html/HtmlTextParser.kt index 16b1f23b..e01a8c34 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/html/HtmlTextParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/html/HtmlTextParser.kt @@ -28,6 +28,7 @@ class HtmlTextParser @Inject constructor( yield() if (lines.isEmpty()) { + Log.e(HTML_TAG, "Could not extract text from HTML.") return Resource.Error(UIText.StringResource(R.string.error_file_empty)) }