Updated following dependencies as they need changes to the code to work properly:

- Scala
- fs2
- http4s
This commit is contained in:
Rehan Mahmood
2023-10-31 14:24:00 -04:00
parent c9ebd15b23
commit 2a39b2f6a6
64 changed files with 224 additions and 150 deletions

View File

@ -11,6 +11,7 @@ import java.nio.charset.StandardCharsets
import cats.effect._
import cats.implicits._
import fs2._
import fs2.io.file.Files
import docspell.common._
import docspell.convert.ConversionResult.Handler
@ -32,7 +33,7 @@ trait Conversion[F[_]] {
object Conversion {
def create[F[_]: Async](
def create[F[_]: Async: Files](
cfg: ConvertConfig,
sanitizeHtml: SanitizeHtml,
additionalPasswords: List[Password],

View File

@ -19,7 +19,7 @@ import docspell.logging.Logger
private[extern] object ExternConv {
def toPDF[F[_]: Async, A](
def toPDF[F[_]: Async: Files, A](
name: String,
cmdCfg: SystemCommand.Config,
wd: Path,
@ -71,7 +71,7 @@ private[extern] object ExternConv {
handler.run(ConversionResult.failure(ex))
}
def readResult[F[_]: Async](
def readResult[F[_]: Async: Files](
chunkSize: Int,
logger: Logger[F]
)(out: Path, result: SystemCommand.Result): F[ConversionResult[F]] =
@ -99,7 +99,7 @@ private[extern] object ExternConv {
.pure[F]
}
def readResultTesseract[F[_]: Async](
def readResultTesseract[F[_]: Async: Files](
outPrefix: String,
chunkSize: Int,
logger: Logger[F]
@ -127,7 +127,7 @@ private[extern] object ExternConv {
}
}
private def storeDataToFile[F[_]: Async](
private def storeDataToFile[F[_]: Async: Files](
name: String,
logger: Logger[F],
inFile: Path
@ -146,7 +146,7 @@ private[extern] object ExternConv {
logger.debug(s"$name stdout: ${result.stdout}") *>
logger.debug(s"$name stderr: ${result.stderr}")
private def storeFile[F[_]: Async](
private def storeFile[F[_]: Async: Files](
in: Stream[F, Byte],
target: Path
): F[Unit] =

View File

@ -8,7 +8,7 @@ package docspell.convert.extern
import cats.effect._
import fs2.Stream
import fs2.io.file.Path
import fs2.io.file.{Files, Path}
import docspell.common._
import docspell.convert.ConversionResult
@ -17,7 +17,7 @@ import docspell.logging.Logger
object OcrMyPdf {
def toPDF[F[_]: Async, A](
def toPDF[F[_]: Async: Files, A](
cfg: OcrMyPdfConfig,
lang: Language,
chunkSize: Int,

View File

@ -8,7 +8,7 @@ package docspell.convert.extern
import cats.effect._
import fs2.Stream
import fs2.io.file.Path
import fs2.io.file.{Files, Path}
import docspell.common._
import docspell.convert.ConversionResult
@ -17,7 +17,7 @@ import docspell.logging.Logger
object Tesseract {
def toPDF[F[_]: Async, A](
def toPDF[F[_]: Async: Files, A](
cfg: TesseractConfig,
lang: Language,
chunkSize: Int,

View File

@ -8,7 +8,7 @@ package docspell.convert.extern
import cats.effect._
import fs2.Stream
import fs2.io.file.Path
import fs2.io.file.{Files, Path}
import docspell.common._
import docspell.convert.ConversionResult
@ -17,7 +17,7 @@ import docspell.logging.Logger
object Unoconv {
def toPDF[F[_]: Async, A](
def toPDF[F[_]: Async: Files, A](
cfg: UnoconvConfig,
chunkSize: Int,
logger: Logger[F]

View File

@ -10,7 +10,7 @@ import java.nio.charset.Charset
import cats.effect._
import cats.implicits._
import fs2.io.file.Path
import fs2.io.file.{Files, Path}
import fs2.{Chunk, Stream}
import docspell.common._
@ -20,7 +20,7 @@ import docspell.logging.Logger
object Weasyprint {
def toPDF[F[_]: Async, A](
def toPDF[F[_]: Async: Files, A](
cfg: WeasyprintConfig,
chunkSize: Int,
charset: Charset,
@ -46,7 +46,7 @@ object Weasyprint {
)
ExternConv
.toPDF[F, A]("weasyprint", cmdCfg, cfg.workingDir, true, logger, reader)(
.toPDF[F, A]("weasyprint", cmdCfg, cfg.workingDir, useStdin = true, logger, reader)(
inSane,
handler
)

View File

@ -10,7 +10,7 @@ import java.nio.charset.Charset
import cats.effect._
import cats.implicits._
import fs2.io.file.Path
import fs2.io.file.{Files, Path}
import fs2.{Chunk, Stream}
import docspell.common._
@ -20,7 +20,7 @@ import docspell.logging.Logger
object WkHtmlPdf {
def toPDF[F[_]: Async, A](
def toPDF[F[_]: Async: Files, A](
cfg: WkHtmlPdfConfig,
chunkSize: Int,
charset: Charset,
@ -46,7 +46,14 @@ object WkHtmlPdf {
)
ExternConv
.toPDF[F, A]("wkhtmltopdf", cmdCfg, cfg.workingDir, true, logger, reader)(
.toPDF[F, A](
"wkhtmltopdf",
cmdCfg,
cfg.workingDir,
useStdin = true,
logger,
reader
)(
inSane,
handler
)