comparison pkg/imports/ugm.go @ 2249:35db2e11c966

Uploaded gauge measurement: Implemented in terms of normal gauge measurement import.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 13 Feb 2019 16:52:16 +0100
parents 2cba13653a58
children a3e7e727209a
comparison
equal deleted inserted replaced
2248:cce158db02b0 2249:35db2e11c966
22 22
23 "gemma.intevation.de/gemma/pkg/soap" 23 "gemma.intevation.de/gemma/pkg/soap"
24 "gemma.intevation.de/gemma/pkg/soap/nts" 24 "gemma.intevation.de/gemma/pkg/soap/nts"
25 ) 25 )
26 26
27 type UploadGaugeMeasurement struct { 27 type UploadedGaugeMeasurement struct {
28 Dir string `json:"dir"` 28 Dir string `json:"dir"`
29 } 29 }
30 30
31 const UGMJobKind JobKind = "ugm" 31 const UGMJobKind JobKind = "ugm"
32 32
34 34
35 func init() { RegisterJobCreator(UGMJobKind, ugmJobCreator{}) } 35 func init() { RegisterJobCreator(UGMJobKind, ugmJobCreator{}) }
36 36
37 func (ugmJobCreator) Description() string { return "uploaded gauge measurements" } 37 func (ugmJobCreator) Description() string { return "uploaded gauge measurements" }
38 38
39 func (ugmJobCreator) Create() Job { return new(UploadGaugeMeasurement) } 39 func (ugmJobCreator) Create() Job { return new(UploadedGaugeMeasurement) }
40 40
41 func (ugmJobCreator) Depends() []string { return gmJobCreator{}.Depends() } 41 func (ugmJobCreator) Depends() []string { return gmJobCreator{}.Depends() }
42 42
43 func (ugmJobCreator) AutoAccept() bool { return true } 43 func (ugmJobCreator) AutoAccept() bool { return true }
44 44
45 func (ugmJobCreator) StageDone(context.Context, *sql.Tx, int64) error { return nil } 45 func (ugmJobCreator) StageDone(context.Context, *sql.Tx, int64) error { return nil }
46 46
47 func (ugm *UploadGaugeMeasurement) CleanUp() error { return os.RemoveAll(ugm.Dir) } 47 func (ugm *UploadedGaugeMeasurement) CleanUp() error { return os.RemoveAll(ugm.Dir) }
48 48
49 // Do executes the actual bottleneck import. 49 // Do executes the actual uploaded gauge measurement import.
50 func (ugm *UploadGaugeMeasurement) Do( 50 func (ugm *UploadedGaugeMeasurement) Do(
51 ctx context.Context, 51 ctx context.Context,
52 importID int64, 52 importID int64,
53 conn *sql.Conn, 53 conn *sql.Conn,
54 feedback Feedback, 54 feedback Feedback,
55 ) (interface{}, error) { 55 ) (interface{}, error) {
64 &dst, 64 &dst,
65 ); err != nil { 65 ); err != nil {
66 return nil, err 66 return nil, err
67 } 67 }
68 68
69 result := dst.Result_message 69 if len(dst.Result_message) == 0 {
70 if len(result) == 0 {
71 return nil, errors.New("No gauge measurements found") 70 return nil, errors.New("No gauge measurements found")
72 } 71 }
73 72 return dst.Result_message, nil
74 return result, nil
75 } 73 }
76 74
77 return storeGaugeMeasurements( 75 return storeGaugeMeasurements(
78 ctx, 76 ctx,
79 importID, 77 importID,