summaryrefslogtreecommitdiff
path: root/texify.go
diff options
context:
space:
mode:
authorNikolaus Gotsche <n@softwarefools.com>2018-10-19 12:30:46 +0200
committerNikolaus Gotsche <n@softwarefools.com>2018-10-19 12:30:46 +0200
commit404386194b9492b29b03d4e1e65558c545a70b51 (patch)
tree159b8f61939d7163ba4d63c2cd89ecda4579b1b7 /texify.go
parentae396b0399a9ee4ec8aee4879f0eb36bc7aeb7e8 (diff)
Trys in Auto-Documentation
Diffstat (limited to 'texify.go')
-rw-r--r--texify.go395
1 files changed, 197 insertions, 198 deletions
diff --git a/texify.go b/texify.go
index 4e9015e..358047a 100644
--- a/texify.go
+++ b/texify.go
@@ -1,217 +1,216 @@
package main
import (
- "fmt"
- "strings"
- "os/exec"
- "os"
- "text/template"
+ "fmt"
+ "os"
+ "os/exec"
+ "strings"
+ "text/template"
)
-type FeeItem struct{
- Task string
- Timeframe string
- Hours float64
- Price float64
+type FeeItem struct {
+ Task string
+ Timeframe string
+ Hours float64
+ Price float64
}
-type Filenames struct{
- Data string
- Invoice string
- Main string
+type Filenames struct {
+ Data string
+ Invoice string
+ Main string
}
type Data struct {
- InvDate string
- WorkDate string
- InvNo string
- ProjName string
-
- CustComp string
- CustName string
- CustStr string
- CustZip string
- CustCity string
- CustCountry string
-
- TaxID string
- MyName string
- MyStr string
- MyZip string
- MyCity string
- MyCountry string
- MyTel string
- MyMob string
- MyMail string
- MyUrl string
-
- BankNum string
- BankLZ string
- BankName string
- Iban string
- Bic string
+ InvDate string
+ WorkDate string
+ InvNo string
+ ProjName string
+
+ CustComp string
+ CustName string
+ CustStr string
+ CustZip string
+ CustCity string
+ CustCountry string
+
+ TaxID string
+ MyName string
+ MyStr string
+ MyZip string
+ MyCity string
+ MyCountry string
+ MyTel string
+ MyMob string
+ MyMail string
+ MyUrl string
+
+ BankNum string
+ BankLZ string
+ BankName string
+ Iban string
+ Bic string
}
-func billTemplate(billdata bill, cust customer) (Filenames) {
- billid := billdata.id
- custr,cuzip,cucity,cucou := "","","",""
- addr := string2StringArray(cust.address,";")
- for i,a := range addr {
- switch i {
- case 0:
- custr=a
- case 1:
- cuzip=a
- case 2:
- cucity=a
- case 3:
- cucou=a
- default:
- break
- }
- }
- dat := Data{billdata.date.UTC().Format("2006-01-02"),
- billdata.timerange,
- billdata.identity,
- billdata.projectname,
-
- cust.company,
- cust.name,
- custr,
- cuzip,
- cucity,
- cucou,
-
- config.Taxid,
- config.Name,
- config.Street,
- config.Zip,
- config.City,
- config.Country,
- config.Telefon,
- config.Mobile,
- config.Mail,
- config.Url,
-
- config.Bankacc,
- config.Banklz,
- config.Bankname,
- config.Iban,
- config.Bic,
- }
-
- inv := billdata.items
-
- filenamedata := fmt.Sprintf("%v_data",billid)
- filenameinv := fmt.Sprintf("%v_invoice",billid)
- filenamemain := fmt.Sprintf("%v_main.tex",billid)
- fnames := Filenames{filenamedata,filenameinv,filenamemain}
-
- //Parse Templates
- tmpl, err := template.New("invoice").Delims("[[","]]").ParseGlob("templates/*.tex")
- checkErr(err)
- filenamedata = fmt.Sprintf("outtex/%v_data.tex",billid)
- filenameinv = fmt.Sprintf("outtex/%v_invoice.tex",billid)
- filenamemain = fmt.Sprintf("outtex/%v_main.tex",billid)
-
- //Open File
- datf, err := os.Create(filenamedata)
- checkErr(err)
- invf, err := os.Create(filenameinv)
- checkErr(err)
- maif, err := os.Create(filenamemain)
- checkErr(err)
- defer datf.Close()
- defer invf.Close()
- defer maif.Close()
-
- //Execute Template
- //err = tmpl.ExecuteTemplate(os.Stdout, "invoice.tex", td)
- err = tmpl.ExecuteTemplate(datf, "_data.tex", dat)
- checkErr(err)
- err = tmpl.ExecuteTemplate(invf, "_invoice.tex", inv)
- checkErr(err)
- err = tmpl.ExecuteTemplate(maif, "_main.tex", fnames)
- checkErr(err)
-
- return fnames
+func billTemplate(billdata bill, cust customer) Filenames {
+ billid := billdata.id
+ custr, cuzip, cucity, cucou := "", "", "", ""
+ addr := string2StringArray(cust.address, ";")
+ for i, a := range addr {
+ switch i {
+ case 0:
+ custr = a
+ case 1:
+ cuzip = a
+ case 2:
+ cucity = a
+ case 3:
+ cucou = a
+ default:
+ break
+ }
+ }
+ dat := Data{billdata.date.UTC().Format("2006-01-02"),
+ billdata.timerange,
+ billdata.identity,
+ billdata.projectname,
+
+ cust.company,
+ cust.name,
+ custr,
+ cuzip,
+ cucity,
+ cucou,
+
+ config.Taxid,
+ config.Name,
+ config.Street,
+ config.Zip,
+ config.City,
+ config.Country,
+ config.Telefon,
+ config.Mobile,
+ config.Mail,
+ config.Url,
+
+ config.Bankacc,
+ config.Banklz,
+ config.Bankname,
+ config.Iban,
+ config.Bic,
+ }
+
+ inv := billdata.items
+
+ filenamedata := fmt.Sprintf("%v_data", billid)
+ filenameinv := fmt.Sprintf("%v_invoice", billid)
+ filenamemain := fmt.Sprintf("%v_main.tex", billid)
+ fnames := Filenames{filenamedata, filenameinv, filenamemain}
+
+ //Parse Templates
+ tmpl, err := template.New("invoice").Delims("[[", "]]").ParseGlob("templates/*.tex")
+ checkErr(err)
+ filenamedata = fmt.Sprintf("outtex/%v_data.tex", billid)
+ filenameinv = fmt.Sprintf("outtex/%v_invoice.tex", billid)
+ filenamemain = fmt.Sprintf("outtex/%v_main.tex", billid)
+
+ //Open File
+ datf, err := os.Create(filenamedata)
+ checkErr(err)
+ invf, err := os.Create(filenameinv)
+ checkErr(err)
+ maif, err := os.Create(filenamemain)
+ checkErr(err)
+ defer datf.Close()
+ defer invf.Close()
+ defer maif.Close()
+
+ //Execute Template
+ //err = tmpl.ExecuteTemplate(os.Stdout, "invoice.tex", td)
+ err = tmpl.ExecuteTemplate(datf, "_data.tex", dat)
+ checkErr(err)
+ err = tmpl.ExecuteTemplate(invf, "_invoice.tex", inv)
+ checkErr(err)
+ err = tmpl.ExecuteTemplate(maif, "_main.tex", fnames)
+ checkErr(err)
+
+ return fnames
}
-func runLatex(inputfilename,outputfilename string) (error) {
- fmt.Printf("Rendering: %s -> Output File: outpdf/Rechnung%s.pdf\n",inputfilename,cleanString(outputfilename))
- pref := strings.TrimSuffix(inputfilename,"_main.tex")
- //cmdArgs := []string{"-synctex=1", "-interaction=nonstopmode", filename}
-
- binary, err := exec.LookPath("pdflatex")
- checkErr(err)
-
- //env := os.Environ()
- mainpdf := strings.Replace(inputfilename,".tex",".pdf",1)
- cmd := fmt.Sprintf("cd outtex; %v -interaction=nonstopmode -output-directory='../outpdf' %s; cd ../outpdf; cp %s 'Rechnung%s.pdf'; rm %s_*",binary,inputfilename,mainpdf,cleanString(outputfilename),pref)
- //fmt.Println(cmd)
- //docmd := exec.Command(binary,cmdArgs[0], cmdArgs[1],cmdArgs[2])
- docmd := exec.Command("bash","-c",cmd)
- //err = docmd.Run()
- err = docmd.Start()
- //out,err := docmd.Output()
- //checkErr(err)
- err = docmd.Wait()
- //fmt.Println(string(out))
- //fmt.Printf("Finished with Error:%v\n",err)
- return err
+func runLatex(inputfilename, outputfilename string) error {
+ fmt.Printf("Rendering: %s -> Output File: outpdf/Rechnung%s.pdf\n", inputfilename, cleanString(outputfilename))
+ pref := strings.TrimSuffix(inputfilename, "_main.tex")
+ //cmdArgs := []string{"-synctex=1", "-interaction=nonstopmode", filename}
+
+ binary, err := exec.LookPath("pdflatex")
+ checkErr(err)
+
+ //env := os.Environ()
+ mainpdf := strings.Replace(inputfilename, ".tex", ".pdf", 1)
+ cmd := fmt.Sprintf("cd outtex; %v -interaction=nonstopmode -output-directory='../outpdf' %s; cd ../outpdf; cp %s 'Rechnung%s.pdf'; rm %s_*", binary, inputfilename, mainpdf, cleanString(outputfilename), pref)
+ //fmt.Println(cmd)
+ //docmd := exec.Command(binary,cmdArgs[0], cmdArgs[1],cmdArgs[2])
+ docmd := exec.Command("bash", "-c", cmd)
+ //err = docmd.Run()
+ err = docmd.Start()
+ //out,err := docmd.Output()
+ //checkErr(err)
+ err = docmd.Wait()
+ //fmt.Println(string(out))
+ //fmt.Printf("Finished with Error:%v\n",err)
+ return err
}
-
func tmpltest() {
- //Sampledata
- dat := Data{"17.6.18",
- "3.4.-7.6.18",
- "HN 07/18",
- "Testkopfstrasse 132",
- "Somecompany",
- "Jemand Wiadschosei",
- "Fakestreet 123",
- "6996",
- "Busenhausen",
- "Tittania",
- "6575-6544",
- "Meinam Sauluschtig",
- "Saubastrasse 86",
- "1111",
- "Nicetown",
- "Niceland",
- "+43 (1) 655 555 23",
- "+43 (0) 650 555 32",
- "Meinam@sauluscht.ig",
- "www.saulust.com",
- "7272626272",
- "20220",
- "Might Bank Inc.",
- "IB47 2382 4338 2822 1222",
- "BICBICBIC"}
- var inv []FeeItem
-
- inv = append(inv,FeeItem{"Modellierung Dachkonstruktion", "1.4.-27.4.18",13,325})
- inv = append(inv,FeeItem{"Dokument Vorbereitung", "9.4.-5.5.18",15,375})
- inv = append(inv,FeeItem{"Begehungen und Besprechungen", "1.4.-19.4.18",12,300})
- inv = append(inv,FeeItem{"Wichtig aussehen", "5.5.-5.5.18",2,50})
-
- //Parse Templates
- tmpl, err := template.New("invoice").Delims("[[","]]").ParseGlob("templates/*.tex")
- checkErr(err)
- //Open File
- datf, err := os.Create("outtex/1_data.tex")
- checkErr(err)
- invf, err := os.Create("outtex/1_invoice.tex")
- checkErr(err)
- defer datf.Close()
- defer invf.Close()
-
- //Execute Template
- //err = tmpl.ExecuteTemplate(os.Stdout, "invoice.tex", td)
- err = tmpl.ExecuteTemplate(datf, "_data.tex", dat)
- checkErr(err)
- err = tmpl.ExecuteTemplate(invf, "_invoice.tex", inv)
- checkErr(err)
+ //Sampledata
+ dat := Data{"17.6.18",
+ "3.4.-7.6.18",
+ "HN 07/18",
+ "Testkopfstrasse 132",
+ "Somecompany",
+ "Jemand Wiadschosei",
+ "Fakestreet 123",
+ "6996",
+ "Busenhausen",
+ "Tittania",
+ "6575-6544",
+ "Meinam Sauluschtig",
+ "Saubastrasse 86",
+ "1111",
+ "Nicetown",
+ "Niceland",
+ "+43 (1) 655 555 23",
+ "+43 (0) 650 555 32",
+ "Meinam@sauluscht.ig",
+ "www.saulust.com",
+ "7272626272",
+ "20220",
+ "Might Bank Inc.",
+ "IB47 2382 4338 2822 1222",
+ "BICBICBIC"}
+ var inv []FeeItem
+
+ inv = append(inv, FeeItem{"Modellierung Dachkonstruktion", "1.4.-27.4.18", 13, 325})
+ inv = append(inv, FeeItem{"Dokument Vorbereitung", "9.4.-5.5.18", 15, 375})
+ inv = append(inv, FeeItem{"Begehungen und Besprechungen", "1.4.-19.4.18", 12, 300})
+ inv = append(inv, FeeItem{"Wichtig aussehen", "5.5.-5.5.18", 2, 50})
+
+ //Parse Templates
+ tmpl, err := template.New("invoice").Delims("[[", "]]").ParseGlob("templates/*.tex")
+ checkErr(err)
+ //Open File
+ datf, err := os.Create("outtex/1_data.tex")
+ checkErr(err)
+ invf, err := os.Create("outtex/1_invoice.tex")
+ checkErr(err)
+ defer datf.Close()
+ defer invf.Close()
+
+ //Execute Template
+ //err = tmpl.ExecuteTemplate(os.Stdout, "invoice.tex", td)
+ err = tmpl.ExecuteTemplate(datf, "_data.tex", dat)
+ checkErr(err)
+ err = tmpl.ExecuteTemplate(invf, "_invoice.tex", inv)
+ checkErr(err)
}