summaryrefslogtreecommitdiff
path: root/src/rhimportd/ctrlWatchDir.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/rhimportd/ctrlWatchDir.go')
-rw-r--r--src/rhimportd/ctrlWatchDir.go17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/rhimportd/ctrlWatchDir.go b/src/rhimportd/ctrlWatchDir.go
index 6f84c15..037f8ea 100644
--- a/src/rhimportd/ctrlWatchDir.go
+++ b/src/rhimportd/ctrlWatchDir.go
@@ -28,6 +28,7 @@ import (
"encoding/json"
"fmt"
"helsinki.at/rhimport"
+ "helsinki.at/rhrd-go/rddb"
"net/http"
"os"
"path/filepath"
@@ -97,7 +98,7 @@ func watchDirResponse(filename string, result *rhimport.Result) {
watchDirWriteResponse(filename, &watchDirResponseData{result.ResponseCode, result.ErrorString, result.Cart, result.Cut})
}
-func watchDirParseRequest(conf *rhimport.Config, rddb *rhimport.RdDbChan, req *os.File) (ctx *rhimport.Context, err error) {
+func watchDirParseRequest(conf *rhimport.Config, db *rddb.DBChan, req *os.File) (ctx *rhimport.Context, err error) {
decoder := json.NewDecoder(req)
reqdata := newWatchDirRequestData(conf)
@@ -106,7 +107,7 @@ func watchDirParseRequest(conf *rhimport.Config, rddb *rhimport.RdDbChan, req *o
return
}
- ctx = rhimport.NewContext(conf, rddb)
+ ctx = rhimport.NewContext(conf, db)
ctx.UserName = reqdata.UserName
ctx.Trusted = true
ctx.ShowId = reqdata.ShowId
@@ -123,7 +124,7 @@ func watchDirParseRequest(conf *rhimport.Config, rddb *rhimport.RdDbChan, req *o
return
}
-func watchDirHandler(conf *rhimport.Config, rddb *rhimport.RdDbChan, ctx *rhimport.Context, filename string) {
+func watchDirHandler(conf *rhimport.Config, db *rddb.DBChan, ctx *rhimport.Context, filename string) {
rhdl.Printf("WatchDirHandler: request for '%s'", filename)
var err error
@@ -156,7 +157,7 @@ func watchDirHandler(conf *rhimport.Config, rddb *rhimport.RdDbChan, ctx *rhimpo
return
}
-func watchDirRun(dir *os.File, conf *rhimport.Config, rddb *rhimport.RdDbChan) {
+func watchDirRun(dir *os.File, conf *rhimport.Config, db *rddb.DBChan) {
rhl.Printf("watch-dir-ctrl: watching for files in %s", dir.Name())
for {
var err error
@@ -181,11 +182,11 @@ func watchDirRun(dir *os.File, conf *rhimport.Config, rddb *rhimport.RdDbChan) {
rhl.Printf("watch-dir-ctrl: error reading new file: %s", err)
continue
}
- if ctx, err := watchDirParseRequest(conf, rddb, file); err == nil {
+ if ctx, err := watchDirParseRequest(conf, db, file); err == nil {
file.Close()
dstname := strings.TrimSuffix(srcname, ".new") + ".running"
os.Rename(srcname, dstname)
- go watchDirHandler(conf, rddb, ctx, dstname)
+ go watchDirHandler(conf, db, ctx, dstname)
} else { // ignoring files with json errors -> maybe the file has not been written completely
file.Close()
rhdl.Printf("watch-dir-ctrl: new file %s parser error: %s, ignoring for now", srcname, err)
@@ -197,7 +198,7 @@ func watchDirRun(dir *os.File, conf *rhimport.Config, rddb *rhimport.RdDbChan) {
}
}
-func StartWatchDir(dirname string, conf *rhimport.Config, rddb *rhimport.RdDbChan) {
+func StartWatchDir(dirname string, conf *rhimport.Config, db *rddb.DBChan) {
for {
time.Sleep(5 * time.Second)
dir, err := os.Open(dirname)
@@ -214,6 +215,6 @@ func StartWatchDir(dirname string, conf *rhimport.Config, rddb *rhimport.RdDbCha
continue
}
}
- watchDirRun(dir, conf, rddb)
+ watchDirRun(dir, conf, db)
}
}