summaryrefslogtreecommitdiff
path: root/src/helsinki.at/rhimportd/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/helsinki.at/rhimportd/main.go')
-rw-r--r--src/helsinki.at/rhimportd/main.go201
1 files changed, 103 insertions, 98 deletions
diff --git a/src/helsinki.at/rhimportd/main.go b/src/helsinki.at/rhimportd/main.go
index 3ce61da..87fa3ab 100644
--- a/src/helsinki.at/rhimportd/main.go
+++ b/src/helsinki.at/rhimportd/main.go
@@ -26,14 +26,14 @@ package main
import (
"flag"
- "fmt"
+ // "fmt"
"helsinki.at/rhimport"
"log"
- "net/http"
+ // "net/http"
"os"
"os/signal"
"sync"
- "time"
+ // "time"
// "io/ioutil"
)
@@ -43,98 +43,98 @@ var (
//rhdl = log.New(ioutil.Discard, "[rhimportd-dbg]\t", log.LstdFlags)
)
-func session_test_progress1(step int, step_name string, progress float64, userdata interface{}) bool {
- out := userdata.(chan<- string)
- select {
- case out <- fmt.Sprintf("CB1 %d, %s: %3.2f%%", step, step_name, progress*100):
- default:
- }
- if step > 1 {
- return false
- }
- return true
-}
-
-func session_test_progress2(step int, step_name string, progress float64, userdata interface{}) bool {
- out := userdata.(chan<- string)
- select {
- case out <- fmt.Sprintf("CB2 %d, %s: %3.2f%%", step, step_name, progress*100):
- default:
- }
- return true
-}
-
-func session_test_done(res rhimport.ImportResult, userdata interface{}) bool {
- done := userdata.(chan<- rhimport.ImportResult)
- done <- res
- return true
-}
-
-func session_test(conf *rhimport.Config, rddb *rhimport.RdDbChan) {
- sessions, err := rhimport.NewSessionStore(conf)
- if err != nil {
- rhl.Println("Error initializing Session Store:", err)
- return
- }
- defer sessions.Cleanup()
-
- store := sessions.GetInterface()
-
- ctx := rhimport.NewImportContext(conf, rddb, "heslinki")
- ctx.Trusted = true
- ctx.ShowId = 10002
- ctx.ClearShowCarts = true
- ctx.SourceUri = "http://www.tonycuffe.com/mp3/tail%20toddle.mp3"
-
- id, _, code, errstring := store.New(ctx)
- if code != http.StatusOK {
- rhl.Printf("MAIN: Error SessionStore.New(): %s", errstring)
- return
- }
-
- var session *rhimport.SessionChan
- if session, code, errstring = store.Get(ctx.UserName, id); code != http.StatusOK {
- rhl.Printf("MAIN: Error SessionStore.Get(): %s", errstring)
- return
- }
-
- dch := make(chan rhimport.ImportResult, 1)
- if err = session.AddDoneHandler((chan<- rhimport.ImportResult)(dch), session_test_done); err != nil {
- rhl.Printf("MAIN: Error Session.AddDoneHandler(): %s", err)
- return
- }
-
- pch := make(chan string, 10)
- if err = session.AddProgressHandler((chan<- string)(pch), session_test_progress1); err != nil {
- rhl.Printf("MAIN: Error Session.AddProgressHandler(): %s", err)
- }
- go func() {
- time.Sleep(3 * time.Second)
- if err = session.AddProgressHandler((chan<- string)(pch), session_test_progress2); err != nil {
- rhl.Printf("MAIN: Error Session.AddProgressHandler(): %s", err)
- }
- }()
-
- rhl.Printf("MAIN: calling run for %s/%s", ctx.UserName, id)
- session.Run(30 * time.Second)
-
- for {
- select {
- case p := <-pch:
- fmt.Println(p)
- case r := <-dch:
- fmt.Printf("Import finished: %+v\n", r)
- break
- }
- }
-
- rhl.Printf("MAIN: calling remove for %s/%s", ctx.UserName, id)
- if code, errstring = store.Remove(ctx.UserName, id); code != http.StatusOK {
- rhl.Printf("MAIN: Error SessionStore.Remove(): %s", errstring)
- }
-
- rhl.Printf("MAIN: remove done")
-}
+// func session_test_progress1(step int, step_name string, progress float64, userdata interface{}) bool {
+// out := userdata.(chan<- string)
+// select {
+// case out <- fmt.Sprintf("CB1 %d, %s: %3.2f%%", step, step_name, progress*100):
+// default:
+// }
+// if step > 1 {
+// return false
+// }
+// return true
+// }
+
+// func session_test_progress2(step int, step_name string, progress float64, userdata interface{}) bool {
+// out := userdata.(chan<- string)
+// select {
+// case out <- fmt.Sprintf("CB2 %d, %s: %3.2f%%", step, step_name, progress*100):
+// default:
+// }
+// return true
+// }
+
+// func session_test_done(res rhimport.ImportResult, userdata interface{}) bool {
+// done := userdata.(chan<- rhimport.ImportResult)
+// done <- res
+// return true
+// }
+
+// func session_test(conf *rhimport.Config, rddb *rhimport.RdDbChan) {
+// sessions, err := rhimport.NewSessionStore(conf)
+// if err != nil {
+// rhl.Println("Error initializing Session Store:", err)
+// return
+// }
+// defer sessions.Cleanup()
+
+// store := sessions.GetInterface()
+
+// ctx := rhimport.NewImportContext(conf, rddb, "heslinki")
+// ctx.Trusted = true
+// ctx.ShowId = 10002
+// ctx.ClearShowCarts = true
+// ctx.SourceUri = "http://www.tonycuffe.com/mp3/tail%20toddle.mp3"
+
+// id, _, code, errstring := store.New(ctx)
+// if code != http.StatusOK {
+// rhl.Printf("MAIN: Error SessionStore.New(): %s", errstring)
+// return
+// }
+
+// var session *rhimport.SessionChan
+// if session, code, errstring = store.Get(ctx.UserName, id); code != http.StatusOK {
+// rhl.Printf("MAIN: Error SessionStore.Get(): %s", errstring)
+// return
+// }
+
+// dch := make(chan rhimport.ImportResult, 1)
+// if err = session.AddDoneHandler((chan<- rhimport.ImportResult)(dch), session_test_done); err != nil {
+// rhl.Printf("MAIN: Error Session.AddDoneHandler(): %s", err)
+// return
+// }
+
+// pch := make(chan string, 10)
+// if err = session.AddProgressHandler((chan<- string)(pch), session_test_progress1); err != nil {
+// rhl.Printf("MAIN: Error Session.AddProgressHandler(): %s", err)
+// }
+// go func() {
+// time.Sleep(3 * time.Second)
+// if err = session.AddProgressHandler((chan<- string)(pch), session_test_progress2); err != nil {
+// rhl.Printf("MAIN: Error Session.AddProgressHandler(): %s", err)
+// }
+// }()
+
+// rhl.Printf("MAIN: calling run for %s/%s", ctx.UserName, id)
+// session.Run(30 * time.Second)
+
+// for {
+// select {
+// case p := <-pch:
+// fmt.Println(p)
+// case r := <-dch:
+// fmt.Printf("Import finished: %+v\n", r)
+// break
+// }
+// }
+
+// rhl.Printf("MAIN: calling remove for %s/%s", ctx.UserName, id)
+// if code, errstring = store.Remove(ctx.UserName, id); code != http.StatusOK {
+// rhl.Printf("MAIN: Error SessionStore.Remove(): %s", errstring)
+// }
+
+// rhl.Printf("MAIN: remove done")
+// }
func main() {
web_addr_s := flag.String("web-addr", ":4080", "addr:port to listen on")
@@ -164,7 +164,12 @@ func main() {
}
defer rddb.Cleanup()
- // go session_test(conf, rddb.GetInterface())
+ sessions, err := rhimport.NewSessionStore(conf)
+ if err != nil {
+ rhl.Println("Error initializing Session Store:", err)
+ return
+ }
+ defer sessions.Cleanup()
var wg sync.WaitGroup
@@ -172,7 +177,7 @@ func main() {
go func() {
defer wg.Done()
rhl.Println("starting web-ctrl")
- StartControlWeb(*web_addr_s, conf, rddb.GetInterface())
+ StartControlWeb(*web_addr_s, conf, rddb.GetInterface(), sessions.GetInterface())
rhl.Println("web-ctrl finished")
}()
@@ -180,7 +185,7 @@ func main() {
go func() {
defer wg.Done()
rhl.Println("starting telnet-ctrl")
- StartControlTelnet(*telnet_addr_s, conf, rddb.GetInterface())
+ StartControlTelnet(*telnet_addr_s, conf, rddb.GetInterface(), sessions.GetInterface())
rhl.Println("telnet-ctrl finished")
}()