|
|
|
@ -48,10 +48,20 @@ func printWhenDone() {
@@ -48,10 +48,20 @@ func printWhenDone() {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func delete_empty (s []string) []string { |
|
|
|
|
var r []string |
|
|
|
|
for _, str := range s { |
|
|
|
|
if str != "" { |
|
|
|
|
r = append(r, str) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return r |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func makePdf() { |
|
|
|
|
o := output |
|
|
|
|
output = "" |
|
|
|
|
jobname := "nil" |
|
|
|
|
outfile := "nil" |
|
|
|
|
m := pdf.NewMaroto(consts.Landscape, consts.Letter) |
|
|
|
|
scanner := bufio.NewScanner(strings.NewReader(o)) |
|
|
|
|
format := props.Text{ |
|
|
|
@ -63,8 +73,34 @@ func makePdf() {
@@ -63,8 +73,34 @@ func makePdf() {
|
|
|
|
|
for scanner.Scan() { |
|
|
|
|
line := scanner.Text() |
|
|
|
|
if strings.HasPrefix(line, "****A") && strings.Contains(line, "START") { |
|
|
|
|
|
|
|
|
|
parts := strings.Split(line, " ") |
|
|
|
|
jobname = fmt.Sprintf("%+v-JOB_%+v", parts[4], strings.ReplaceAll(parts[11], " ", "_")) |
|
|
|
|
parts = delete_empty(parts) |
|
|
|
|
var jobname, timestamp string |
|
|
|
|
for i, part := range parts { |
|
|
|
|
if len(part) == 0 { |
|
|
|
|
continue |
|
|
|
|
} |
|
|
|
|
if i == 2 { |
|
|
|
|
if parts[2] == "JOB" { |
|
|
|
|
jobname = parts[4] |
|
|
|
|
} else { |
|
|
|
|
jobname = fmt.Sprintf("%+v%+v", parts[4], parts[2]) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if len(part) > 12 { |
|
|
|
|
ts, err := time.Parse("03.04.05 PM 02 Jan 06", strings.Trim(part, " ")) |
|
|
|
|
if err != nil { |
|
|
|
|
continue |
|
|
|
|
} |
|
|
|
|
timestamp = ts.Format("2006-01-02_15-04-05") |
|
|
|
|
break |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
outfile = fmt.Sprintf("%+v-JOB_%+v", timestamp, jobname) |
|
|
|
|
} |
|
|
|
|
page := m.GetCurrentPage() |
|
|
|
|
if strings.HasPrefix(line, "\f") && !firstRun { |
|
|
|
@ -86,7 +122,7 @@ func makePdf() {
@@ -86,7 +122,7 @@ func makePdf() {
|
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
err := m.OutputFileAndClose(fmt.Sprintf("%+v.pdf", jobname)) |
|
|
|
|
err := m.OutputFileAndClose(fmt.Sprintf("%+v.pdf", outfile)) |
|
|
|
|
if err != nil { |
|
|
|
|
fmt.Printf("Error closing pdf\n") |
|
|
|
|
return |
|
|
|
|