Andrea Fazzi пре 5 година
родитељ
комит
40d5710eed
2 измењених фајлова са 31 додато и 17 уклоњено
  1. 2 0
      compose/karmen/docker-compose.yml
  2. 29 17
      generator/generators/list/list.go

+ 2 - 0
compose/karmen/docker-compose.yml

@@ -53,6 +53,8 @@ services:
       - NEXTCLOUD_ADMIN_USER=admin
       - NEXTCLOUD_ADMIN_PASSWORD=password
       - NEXTCLOUD_TRUSTED_DOMAINS=nextcloud_server
+    volumes:
+      - ./data:/var/www/html/data
     ports:
       - 8080:80
 

+ 29 - 17
generator/generators/list/list.go

@@ -27,6 +27,9 @@ type ListGenerator struct {
 	Config *config.ConfigT
 
 	JobID uint
+
+	ncClient *cloud.Client
+	kaClient *karmen_client.Client
 }
 
 var funcMap template.FuncMap = template.FuncMap{
@@ -36,18 +39,25 @@ var funcMap template.FuncMap = template.FuncMap{
 	"nbsp":         nbsp,
 }
 
-func (generator *ListGenerator) prepareRemoteFolder() {
-	files, err := filepath.Glob("!*.go")
+func (generator *ListGenerator) generate(outputPath string, teachers []*orm.Teacher, funcMap template.FuncMap) {
+	filename := filepath.Join(outputPath, "elenco_docenti")
+
+	tplContent, err := generator.ncClient.Download("Karmen/list/list.tpl.md")
 	if err != nil {
-		log.Println(err)
+		panic(err)
 	}
-	log.Println(files)
-}
 
-func (generator *ListGenerator) generate(outputPath string, teachers []*orm.Teacher, funcMap template.FuncMap) {
-	filename := filepath.Join(outputPath, "elenco_docenti")
-	// tplContent, err := ncClient.Download("")
-	tpl, err := tpl_util.LoadTextTemplate("./generator/generators/list/list.tpl.md", funcMap)
+	refContent, err := generator.ncClient.Download("Karmen/list/reference.odt")
+	if err != nil {
+		panic(err)
+	}
+
+	err = ioutil.WriteFile(filepath.Join(outputPath, "reference.odt"), refContent, 0777)
+	if err != nil {
+		panic(err)
+	}
+
+	tpl, err := tpl_util.LoadTextTemplateFromString(string(tplContent), funcMap)
 	if err != nil {
 		panic(err)
 	}
@@ -67,7 +77,7 @@ func (generator *ListGenerator) generate(outputPath string, teachers []*orm.Teac
 
 	log.Println("Generate", odtFilename)
 
-	if err := pandoc.Convert(filename+".md", odtFilename, "--data-dir", "./generator/generators/list/"); err != nil {
+	if err := pandoc.Convert(filename+".md", odtFilename, "--data-dir", outputPath); err != nil {
 		panic(err)
 	}
 
@@ -140,7 +150,9 @@ func (generator *ListGenerator) SetJobId(id uint) {
 }
 
 func (generator *ListGenerator) Run() {
-	ncClient, err := cloud.Dial(
+	var err error
+
+	generator.ncClient, err = cloud.Dial(
 		generator.Config.Cloud.Url,
 		generator.Config.Cloud.Username,
 		generator.Config.Cloud.Password,
@@ -150,7 +162,7 @@ func (generator *ListGenerator) Run() {
 	}
 
 	log.Printf("Connecting to karmen...")
-	client, err := karmen_client.Dial(
+	generator.kaClient, err = karmen_client.Dial(
 		generator.Config.Url,
 		generator.Config.Admin.Username,
 		generator.Config.Admin.Password,
@@ -162,19 +174,19 @@ func (generator *ListGenerator) Run() {
 	var job *orm.Job
 
 	if generator.JobID > 0 {
-		job, err := client.GetJob(generator.JobID)
+		job, err = generator.kaClient.GetJob(generator.JobID)
 		if err != nil {
 			panic(err)
 		}
 
 		job.Start = time.Now()
-		err = client.UpdateJob(job)
+		err = generator.kaClient.UpdateJob(job)
 		if err != nil {
 			panic(err)
 		}
 	}
 
-	teachers, err := client.GetTeachers()
+	teachers, err := generator.kaClient.GetTeachers()
 	if err != nil {
 		panic(err)
 	}
@@ -198,7 +210,7 @@ func (generator *ListGenerator) Run() {
 
 		job.Files = append(job.Files, &orm.File{Path: "elenco_docenti.pdf"})
 
-		err = client.UpdateJob(job)
+		err = generator.kaClient.UpdateJob(job)
 		if err != nil {
 			panic(err)
 		}
@@ -209,7 +221,7 @@ func (generator *ListGenerator) Run() {
 	if err != nil {
 		panic(err)
 	}
-	err = ncClient.Upload(src, "Documents/elenco_docenti.pdf")
+	err = generator.ncClient.Upload(src, "Documents/elenco_docenti.pdf")
 	if err != nil {
 		panic(err)
 	}