| 
					
				 | 
			
			
				@@ -13,6 +13,7 @@ import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"github.com/remogatto/cloud" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	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/util/fileutil" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"gogs.carducci-dante.gov.it/karmen/util/libreoffice" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -21,10 +22,11 @@ import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 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{ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -34,9 +36,9 @@ var funcMap template.FuncMap = template.FuncMap{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"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 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		panic(err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -56,11 +58,11 @@ func generate(teachers []*orm.Teacher, funcMap template.FuncMap) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	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) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if err := libreoffice.Convert(filename+".odt", "pdf", "--outdir", "output"); err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err := libreoffice.Convert(filename+".odt", "pdf", "--outdir", outputPath); err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		panic(err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -154,25 +156,25 @@ func (generator *ListGenerator) Run(jobId uint) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		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) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	generate(teachers, funcMap) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	time.Sleep(10 * time.Second) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	generator.generate(outputPath, teachers, funcMap) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	job.End = time.Now() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	job.Files = append(job.Files, &orm.File{Path: "elenco_docenti.pdf"}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	err = client.UpdateJob(job) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		panic(err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	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 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		panic(err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 |