Mercurial > gemma
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, |