diff options
Diffstat (limited to 'interact.go')
| -rw-r--r-- | interact.go | 90 |
1 files changed, 60 insertions, 30 deletions
diff --git a/interact.go b/interact.go index 0b1ec67..392af16 100644 --- a/interact.go +++ b/interact.go @@ -380,7 +380,7 @@ func interact(fulldb bool) { }) shell.AddCmd(startcmd) } - + // STOP Command group { stopcmd := &ishell.Cmd{ Name: "stop", @@ -417,7 +417,7 @@ func interact(fulldb bool) { }) shell.AddCmd(stopcmd) } - + // SHOW commands { showcmd := &ishell.Cmd{ Name: "show", @@ -547,58 +547,88 @@ func interact(fulldb bool) { //getInterAutoInput("Really?",autostuff) }, }) - testcmd.AddCmd(&ishell.Cmd{ + shell.AddCmd(testcmd) + } + // DATA commands + { + datacmd := &ishell.Cmd{ + Name: "data", + Help: "import/export", + LongHelp: ` Usage: data <command>`, + } + datacmd.AddCmd(&ishell.Cmd{ Name: "export", - Help: "Test export", - LongHelp: ` Usage: export - Test Export`, + Help: "export data from db", + LongHelp: ` Usage: data export + Export data from customers, projects and all closed tasks + as csv files and tar them together`, Func: func(c *ishell.Context) { - //multichoice("Geh scheissn") - //nm,st := GetTaskSums(currproject.Id) - //i := Multichoice("Sicha?",st) - //fmt.Println(nm[i]) prid := GetProjectIds() cuid := GetCustomerIds() taid := GetTaskIds() prs := GetSelectedProjects(prid) cus := GetSelectedCustomers(cuid) tas := GetSelectedTasks(taid) - c.Println("Tasks:",len(tas)) - c.Println("Projects:",len(prs)) - c.Println("Customers:",len(cus)) + c.Println(frame(boldGreen("Export DB Data"),true)) + c.Println(nli+"Customers:",len(cus)) + c.Println(nli+" Projects:",len(prs)) + c.Println(nli+" Tasks:",len(tas)) //c.Println("Customers:",cus) - if isInterSure("Export ?"){ + if isInterSure(sli+"Export this data?"){ + filen := getNewInterInput("Filename: ","export.tar",nli) ExportCustomers(cus) ExportProjects(prs) ExportTasks(tas) - TarExports("exports.tar") + TarExports(filen) PurgeTemps() + c.Println(nli+"Data exported to",filen) + c.Println(frame(posR(),false)) + }else{ + c.Println(frame(negR(),false)) } }, }) - testcmd.AddCmd(&ishell.Cmd{ + datacmd.AddCmd(&ishell.Cmd{ Name: "import", - Help: "Test import", - LongHelp: ` Usage: import - Test Import functions`, + Help: "import data into db", + LongHelp: ` Usage: data import + takes a tarball of csv data and imports it into the DB`, Func: func(c *ishell.Context) { //autostuff = append(autostuff,"scheissdreck") - if isInterSure("Import ?"){ - UnTarExports("exports.tar") - icus := ImportCustomers() - itas := ImportTasks() - iprs := ImportProjects() - PurgeTemps() - c.Println("Imported Customers:",len(icus)) - c.Println("Imported Projects:",len(iprs)) - c.Println("Imported Tasks:",len(itas)) - SaveImportsToDB(icus,iprs,itas) + c.Println(frame(boldGreen("Import Data into DB"),true)) + filen := getNewInterInput("Filename: ","export.tar",nli) + err := UnTarExports(filen) + if err != nil { + c.Println(boldRed(err)) + c.Println(frame(negR(),false)) + return + }else{ + c.Println(nli,boldGreen("File Loaded")) + c.Println(frame(posR(),false)) + } + icus := ImportCustomers() + itas := ImportTasks() + iprs := ImportProjects() + PurgeTemps() + //c.Println(sli,"Loaded Data") + //c.Println(nli,"Customers:",len(icus)) + //c.Println(nli," Projects:",len(iprs)) + //c.Println(nli," Tasks:",len(itas)) + //if isInterSure(sli+"Import this into DB?"){ + SaveImportsToDB(icus,iprs,itas) + //c.Println(boldGreen("Import Successful")) + //c.Println(frame(posR(),false)) + + //}else{ + // c.Println(boldRed("Nothing Imported")) + // c.Println(frame(negR(),false)) + //} }, //c.Println("Projects:",iprs) }) - shell.AddCmd(testcmd) + shell.AddCmd(datacmd) } // Config Commands |
