|
@@ -31,6 +31,26 @@ type ListGenerator struct {
|
|
|
|
|
|
ncClient *cloud.Client
|
|
ncClient *cloud.Client
|
|
kaClient *karmen_client.Client
|
|
kaClient *karmen_client.Client
|
|
|
|
+ logger *JobLogger
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+type JobLogger struct {
|
|
|
|
+ job *orm.Job
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func NewJobLogger(job *orm.Job) *JobLogger {
|
|
|
|
+ return &JobLogger{job}
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (l *JobLogger) Write(p []byte) (n int, err error) {
|
|
|
|
+ os.Stdout.Write(p)
|
|
|
|
+ origLen := len(p)
|
|
|
|
+ if len(p) > 0 && p[len(p)-1] == '\n' {
|
|
|
|
+ p = p[:len(p)-1] // Cut terminating newline
|
|
|
|
+ }
|
|
|
|
+ l.job.Logs = append(l.job.Logs, &orm.Log{Content: string(p)})
|
|
|
|
+
|
|
|
|
+ return origLen, nil
|
|
}
|
|
}
|
|
|
|
|
|
var funcMap template.FuncMap = template.FuncMap{
|
|
var funcMap template.FuncMap = template.FuncMap{
|
|
@@ -43,10 +63,14 @@ var funcMap template.FuncMap = template.FuncMap{
|
|
func (generator *ListGenerator) generate(outputPath string, cloudPath string, teachers []*orm.Teacher, funcMap template.FuncMap) {
|
|
func (generator *ListGenerator) generate(outputPath string, cloudPath string, teachers []*orm.Teacher, funcMap template.FuncMap) {
|
|
filename := filepath.Join(outputPath, "elenco_docenti")
|
|
filename := filepath.Join(outputPath, "elenco_docenti")
|
|
|
|
|
|
- tplContent, err := generator.ncClient.Download(filepath.Join(cloudPath, "list.tpl.md"))
|
|
|
|
|
|
+ tplFilename := filepath.Join(cloudPath, "list.tpl.md")
|
|
|
|
+ log.Printf("Downloading %s from the cloud...", tplFilename)
|
|
|
|
+
|
|
|
|
+ tplContent, err := generator.ncClient.Download(tplFilename)
|
|
if err != nil {
|
|
if err != nil {
|
|
log.Println(err)
|
|
log.Println(err)
|
|
}
|
|
}
|
|
|
|
+ log.Println("Download completed.")
|
|
|
|
|
|
refContent, err := generator.ncClient.Download(filepath.Join(cloudPath, "reference.odt"))
|
|
refContent, err := generator.ncClient.Download(filepath.Join(cloudPath, "reference.odt"))
|
|
if err != nil {
|
|
if err != nil {
|
|
@@ -180,6 +204,9 @@ func (generator *ListGenerator) Run() {
|
|
log.Println(err)
|
|
log.Println(err)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ generator.logger = NewJobLogger(job)
|
|
|
|
+ log.SetOutput(generator.logger)
|
|
|
|
+
|
|
job.Start = time.Now()
|
|
job.Start = time.Now()
|
|
err = generator.kaClient.UpdateJob(job)
|
|
err = generator.kaClient.UpdateJob(job)
|
|
if err != nil {
|
|
if err != nil {
|