summaryrefslogtreecommitdiff
path: root/interact.go
diff options
context:
space:
mode:
authorNikolaus Gotsche <n@softwarefools.com>2018-11-11 18:40:57 +0100
committerNikolaus Gotsche <n@softwarefools.com>2018-11-11 18:40:57 +0100
commit70eb8ab6fe7ff82482cc44d346104be5c9edba8b (patch)
treeb673b446173927077cb19edc9a8dc76000ea59b3 /interact.go
parente3b6e0b00dbce15bf19a6f7d1bf39ea033651a0b (diff)
Import Export with clean commands0.3.6
Diffstat (limited to 'interact.go')
-rw-r--r--interact.go90
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