Make logger configurable in system commands

This commit is contained in:
Eike Kettner
2020-02-18 12:02:43 +01:00
parent bd605b8c94
commit 0dcc00836b
10 changed files with 58 additions and 44 deletions

View File

@ -6,17 +6,17 @@ import docspell.common._
trait Conversion[F[_]] {
def toPDF(inType: MimeType): Pipe[F, Byte, Byte]
def toPDF[A](in: Stream[F, Byte], dataType: DataType, handler: Pipe[F, Byte, A]): F[ConversionResult[F]]
}
object Conversion {
def create[F[_]: Sync](cfg: ConvertConfig): Resource[F, Conversion[F]] =
def create[F[_]: Sync: ContextShift](cfg: ConvertConfig, blocker: Blocker, logger: Logger[F]): Resource[F, Conversion[F]] =
Resource.pure(new Conversion[F] {
def toPDF(inType: MimeType): Pipe[F, Byte, Byte] = {
println(cfg)
def toPDF[A](in: Stream[F, Byte], dataType: DataType, handler: Pipe[F, Byte, A]): F[ConversionResult[F]] = {
println(s"$cfg $blocker $logger")
???
}

View File

@ -1,3 +1,5 @@
package docspell.convert
case class ConvertConfig()
import docspell.convert.flexmark.MarkdownConfig
case class ConvertConfig(markdown: MarkdownConfig)

View File

@ -23,7 +23,7 @@ object ExternConv {
cmdCfg.mapArgs(_.replace("{{outfile}}", out.toAbsolutePath.normalize.toString))
SystemCommand
.execSuccess[F](sysCfg, blocker, Some(dir), in)
.execSuccess[F](sysCfg, blocker, logger, Some(dir), in)
.flatMap(result =>
logResult(name, result, logger) ++ readResult[F](
out,
@ -56,7 +56,7 @@ object ExternConv {
(Stream.eval(logger.debug(s"Storing input to file ${inFile} for running $name")).drain ++
Stream.eval(storeFile(in, inFile, blocker))).flatMap { _ =>
SystemCommand
.execSuccess[F](sysCfg, blocker, Some(dir))
.execSuccess[F](sysCfg, blocker, logger, Some(dir))
.flatMap(result =>
logResult(name, result, logger) ++ readResult[F](
out,