
change-sysadmin-scala_3.0.1.4.source-code.task-result-html-untemplate.scala Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of mchange-sysadmin-scala_3 Show documentation
Show all versions of mchange-sysadmin-scala_3 Show documentation
A library of utilities for sysadmin scripts
The newest version!
// DO NOT HAND EDIT -- Autogenerated from 'task-result.html.untemplate' at 2024-03-27T00:43:21.058187Z
package com.mchange.sysadmin.taskrunner
import java.io.{Writer,StringWriter}
import scala.collection.*
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter.RFC_1123_DATE_TIME
val Untemplate_task_result_html = new untemplate.Untemplate[AnyTaskRun,Nothing]:
val UntemplateFunction : untemplate.Untemplate[AnyTaskRun,Nothing] = this
val UntemplateName : String = "task_result_html"
val UntemplatePackage : String = "com.mchange.sysadmin.taskrunner"
val UntemplateInputName : String = "run"
val UntemplateInputTypeDeclared : String = "AnyTaskRun"
val UntemplateInputTypeCanonical : Option[String] = untemplate.Macro.nonEmptyStringOption( untemplate.Macro.recursiveCanonicalName[AnyTaskRun] )
val UntemplateInputDefaultArgument : Option[AnyTaskRun] = (None : Option[AnyTaskRun])
val UntemplateOutputMetadataTypeDeclared : String = "Nothing"
val UntemplateOutputMetadataTypeCanonical : Option[String] = untemplate.Macro.nonEmptyStringOption( untemplate.Macro.recursiveCanonicalName[Nothing] )
val UntemplateHeaderNote : String = ""
val UntemplateAttributes : immutable.Map[String,Any] = immutable.Map.empty
def apply(run : AnyTaskRun) : untemplate.Result[Nothing] =
val writer : StringWriter = new StringWriter(41780)
val attrs : immutable.Map[String,Any] = UntemplateAttributes
var mbMetadata : Option[Nothing] = None
var outputTransformer : Function1[untemplate.Result[Nothing],untemplate.Result[Nothing]] = identity
val now = ZonedDateTime.now()
val timestamp = RFC_1123_DATE_TIME.format(now)
val title = Reporting.defaultTitle(run)
val block0 = new Function0[String]:
def apply() : String =
"\n\n\n \n \n " + ( title ) +
" \n \n \n " + ( title ) +
"
\n Succeeded overall?: " + ( yn(run.success) ) +
"\n Timestamp: \n Best-effort setups:
\n \n"
writer.write(block0())
if (run.bestEffortSetups.isEmpty) {
writer.write("""This task includes no best-effort-setup steps.""")
}
else {
run.bestEffortSetups.map(sr => StepRunMaybeIndexed(sr, None) ).foreach { srmi =>
val block1 = new Function0[String]:
def apply() : String =
" " + ( stepRun( srmi ) ) +
"\n"
writer.write(block1())
} // run.bestEffortSetups.foreach
} // else
val block2 = new Function0[String]:
def apply() : String =
" \n Sequential steps:
\n \n"
writer.write(block2())
if (run.sequential.isEmpty) {
writer.write("""This task includes no sequential steps.""")
}
else {
val indexedSequentials = LazyList.from(1).zip(run.sequential).map( (i,r) => StepRunMaybeIndexed(r, Some(i)) )
indexedSequentials.foreach { case srmi =>
val block3 = new Function0[String]:
def apply() : String =
" " + ( stepRun( srmi ) ) +
"\n"
writer.write(block3())
} // indexedSequentials.foreach
} // else
val block4 = new Function0[String]:
def apply() : String =
" \n Best-effort followups:
\n \n"
writer.write(block4())
if (run.bestEffortFollowups.isEmpty) {
writer.write("""This task includes no best-effort-followup steps.""")
}
else {
run.bestEffortFollowups.map(sr => StepRunMaybeIndexed(sr, None) ).foreach { srmi =>
val block5 = new Function0[String]:
def apply() : String =
" " + ( stepRun( srmi ) ) +
"\n"
writer.write(block5())
} // run.bestEffortFollowups.foreach
} // else
val block6 = new Function0[String]:
def apply() : String =
" \n \n\n\n"
writer.write(block6())
outputTransformer( untemplate.Result( mbMetadata, writer.toString ) )
end apply
end Untemplate_task_result_html
def task_result_html(run : AnyTaskRun) : untemplate.Result[Nothing] = Untemplate_task_result_html( run )
© 2015 - 2025 Weber Informatics LLC | Privacy Policy