|
@@ -13,6 +13,7 @@ import (
|
|
"github.com/remogatto/cloud"
|
|
"github.com/remogatto/cloud"
|
|
|
|
|
|
karmen_client "gogs.carducci-dante.gov.it/karmen/client"
|
|
karmen_client "gogs.carducci-dante.gov.it/karmen/client"
|
|
|
|
+ "gogs.carducci-dante.gov.it/karmen/core/config"
|
|
"gogs.carducci-dante.gov.it/karmen/core/orm"
|
|
"gogs.carducci-dante.gov.it/karmen/core/orm"
|
|
"gogs.carducci-dante.gov.it/karmen/util/fileutil"
|
|
"gogs.carducci-dante.gov.it/karmen/util/fileutil"
|
|
"gogs.carducci-dante.gov.it/karmen/util/libreoffice"
|
|
"gogs.carducci-dante.gov.it/karmen/util/libreoffice"
|
|
@@ -21,10 +22,11 @@ import (
|
|
)
|
|
)
|
|
|
|
|
|
type ListGenerator struct {
|
|
type ListGenerator struct {
|
|
|
|
+ Config *config.ConfigT
|
|
}
|
|
}
|
|
|
|
|
|
-func NewListGenerator() *ListGenerator {
|
|
|
|
- return &ListGenerator{}
|
|
|
|
|
|
+func NewListGenerator(config *config.ConfigT) *ListGenerator {
|
|
|
|
+ return &ListGenerator{config}
|
|
}
|
|
}
|
|
|
|
|
|
var funcMap template.FuncMap = template.FuncMap{
|
|
var funcMap template.FuncMap = template.FuncMap{
|
|
@@ -34,9 +36,9 @@ var funcMap template.FuncMap = template.FuncMap{
|
|
"nbsp": nbsp,
|
|
"nbsp": nbsp,
|
|
}
|
|
}
|
|
|
|
|
|
-func generate(teachers []*orm.Teacher, funcMap template.FuncMap) {
|
|
|
|
- filename := "output/elenco_docenti"
|
|
|
|
- tpl, err := tpl_util.LoadTextTemplate("./documents/generators/list/list.tpl.md", funcMap)
|
|
|
|
|
|
+func (generator *ListGenerator) generate(outputPath string, teachers []*orm.Teacher, funcMap template.FuncMap) {
|
|
|
|
+ filename := filepath.Join(outputPath, "elenco_docenti")
|
|
|
|
+ tpl, err := tpl_util.LoadTextTemplate("./generator/generators/list/list.tpl.md", funcMap)
|
|
if err != nil {
|
|
if err != nil {
|
|
panic(err)
|
|
panic(err)
|
|
}
|
|
}
|
|
@@ -56,11 +58,11 @@ func generate(teachers []*orm.Teacher, funcMap template.FuncMap) {
|
|
|
|
|
|
log.Println("Generate", odtFilename)
|
|
log.Println("Generate", odtFilename)
|
|
|
|
|
|
- if err := pandoc.Convert(filename+".md", odtFilename, "--data-dir", "./documents/generators/list/"); err != nil {
|
|
|
|
|
|
+ if err := pandoc.Convert(filename+".md", odtFilename, "--data-dir", "./generator/generators/list/"); err != nil {
|
|
panic(err)
|
|
panic(err)
|
|
}
|
|
}
|
|
|
|
|
|
- if err := libreoffice.Convert(filename+".odt", "pdf", "--outdir", "output"); err != nil {
|
|
|
|
|
|
+ if err := libreoffice.Convert(filename+".odt", "pdf", "--outdir", outputPath); err != nil {
|
|
panic(err)
|
|
panic(err)
|
|
}
|
|
}
|
|
|
|
|
|
@@ -154,25 +156,25 @@ func (generator *ListGenerator) Run(jobId uint) {
|
|
panic(err)
|
|
panic(err)
|
|
}
|
|
}
|
|
|
|
|
|
- outputDir := "output"
|
|
|
|
|
|
+ outputPath := filepath.Join(config.Config.Documents.OutputPath, fmt.Sprintf("%d/%d", job.DocumentID, job.ID))
|
|
|
|
|
|
- if err := os.MkdirAll(outputDir, 0777); err != nil {
|
|
|
|
|
|
+ if err := os.MkdirAll(outputPath, 0777); err != nil {
|
|
panic(err)
|
|
panic(err)
|
|
}
|
|
}
|
|
|
|
|
|
- generate(teachers, funcMap)
|
|
|
|
-
|
|
|
|
- time.Sleep(10 * time.Second)
|
|
|
|
|
|
+ generator.generate(outputPath, teachers, funcMap)
|
|
|
|
|
|
job.End = time.Now()
|
|
job.End = time.Now()
|
|
|
|
|
|
|
|
+ job.Files = append(job.Files, &orm.File{Path: "elenco_docenti.pdf"})
|
|
|
|
+
|
|
err = client.UpdateJob(job)
|
|
err = client.UpdateJob(job)
|
|
if err != nil {
|
|
if err != nil {
|
|
panic(err)
|
|
panic(err)
|
|
}
|
|
}
|
|
|
|
|
|
log.Println("Uploading files to the cloud...")
|
|
log.Println("Uploading files to the cloud...")
|
|
- src, err := ioutil.ReadFile(filepath.Join("output", "elenco_docenti.pdf"))
|
|
|
|
|
|
+ src, err := ioutil.ReadFile(filepath.Join(outputPath, "elenco_docenti.pdf"))
|
|
if err != nil {
|
|
if err != nil {
|
|
panic(err)
|
|
panic(err)
|
|
}
|
|
}
|