diff options
-rw-r--r-- | src/helsinki.at/rhimport/session.go | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/helsinki.at/rhimport/session.go b/src/helsinki.at/rhimport/session.go index 37a4b54..219c233 100644 --- a/src/helsinki.at/rhimport/session.go +++ b/src/helsinki.at/rhimport/session.go @@ -138,7 +138,11 @@ func (self *SessionStore) NewSession(ctx ImportContext) (string, error) { } func (self *SessionStore) run(user, id string) (resp sessionRunResponse) { - rhdl.Printf("SessionStore: running session '%s/%s'", user, id) + if _, exists := self.store[user][id]; exists { + rhdl.Printf("SessionStore: running session '%s/%s'", user, id) + } else { + resp.err = fmt.Errorf("SessionStore: session '%s/%s' not found", user, id) + } return } @@ -154,7 +158,11 @@ func (self *SessionStore) Run(user, id string) error { } func (self *SessionStore) addProgressHandler(user, id string, userdata interface{}, handler chan ProgressData) (resp sessionAddProgressHandlerResponse) { - rhdl.Printf("SessionStore: adding progress handler to '%s/%s'", user, id) + if _, exists := self.store[user][id]; exists { + rhdl.Printf("SessionStore: adding progress handler to '%s/%s'", user, id) + } else { + resp.err = fmt.Errorf("SessionStore: session '%s/%s' not found", user, id) + } return } @@ -172,7 +180,11 @@ func (self *SessionStore) AddProgressHandler(user, id string, userdata interface } func (self *SessionStore) addDoneHandler(user, id string, userdata interface{}, handler chan ImportResult) (resp sessionAddDoneHandlerResponse) { - rhdl.Printf("SessionStore: adding done handler to '%s/%s'", user, id) + if _, exists := self.store[user][id]; exists { + rhdl.Printf("SessionStore: adding done handler to '%s/%s'", user, id) + } else { + resp.err = fmt.Errorf("SessionStore: session '%s/%s' not found", user, id) + } return } |