summaryrefslogtreecommitdiff
path: root/rhimport/session.go
diff options
context:
space:
mode:
Diffstat (limited to 'rhimport/session.go')
-rw-r--r--rhimport/session.go9
1 files changed, 7 insertions, 2 deletions
diff --git a/rhimport/session.go b/rhimport/session.go
index 993575a..7699efc 100644
--- a/rhimport/session.go
+++ b/rhimport/session.go
@@ -96,6 +96,7 @@ type session struct {
progressCBs []*sessionProgressCB
doneCBs []*sessionDoneCB
cancelUploader chan bool
+ removeWorkDir bool
}
func sessionProgressCallback(step int, stepName string, current, total float64, title string, cart, cut uint, userdata interface{}) bool {
@@ -207,6 +208,7 @@ func (s *session) attachUploader() (resp attachUploaderResponse) {
return
}
+// TODO: see handler for doneIntChan...
// func cleanupFiles(ctx *Context, res *Result) {
// if ctx.DeleteSourceFile {
// ctx.dbglog.Printf("importer: removing file: %s", ctx.SourceFile)
@@ -292,6 +294,7 @@ func (s *session) dispatchRequests() {
if s.state != _SESSION_TIMEOUT {
s.timer.Stop()
s.state = _SESSION_DONE
+ // TODO handle SourceFilePolicy == keep!!!
s.callDoneHandler(&r)
if s.removeFunc != nil {
s.removeFunc()
@@ -405,7 +408,9 @@ func (s *session) cleanup() {
// close(s.addProgressChan)
// close(s.addDoneChan)
// close(s.attachUploader)
- s.ctx.RemoveTempWorkDir()
+ if s.removeWorkDir {
+ s.ctx.RemoveTempWorkDir()
+ }
s.ctx.dbglog.Printf("Session: cleanup is now done")
}
@@ -417,7 +422,7 @@ func newSession(ctx *Context, removeFunc func()) (s *session, err error) {
if err = s.ctx.CreateTempWorkDir(); err != nil {
return
}
-
+ s.removeWorkDir = true
s.quit = make(chan bool, 1)
s.done = make(chan bool)
s.timer = time.NewTimer(10 * time.Second)