Mercurial > gemma
comparison pkg/imports/sr.go @ 1292:5aeda02c51b9
Sounding result import: Don't fail if an import ZIP does not contain an meta.json but has a full set of overrides.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 22 Nov 2018 13:37:29 +0100 |
parents | d842d9d10872 |
children | 5443f5c9154c 53057ab27ff2 |
comparison
equal
deleted
inserted
replaced
1291:e9fb72fa6bae | 1292:5aeda02c51b9 |
---|---|
176 } | 176 } |
177 defer z.Close() | 177 defer z.Close() |
178 | 178 |
179 feedback.Info("Looking for 'meta.json'") | 179 feedback.Info("Looking for 'meta.json'") |
180 mf := common.FindInZIP(z, "meta.json") | 180 mf := common.FindInZIP(z, "meta.json") |
181 if mf == nil { | 181 if mf == nil && !sr.completeOverride() { |
182 return errors.New("Cannot find 'meta.json'") | 182 return errors.New("Cannot find 'meta.json'") |
183 } | 183 } |
184 | 184 |
185 m, err := sr.loadMeta(mf) | 185 m, err := sr.loadMeta(mf) |
186 if err != nil { | 186 if err != nil { |
296 | 296 |
297 func (sr *SoundingResult) CleanUp() error { | 297 func (sr *SoundingResult) CleanUp() error { |
298 return os.RemoveAll(sr.Dir) | 298 return os.RemoveAll(sr.Dir) |
299 } | 299 } |
300 | 300 |
301 func (sr *SoundingResult) completeOverride() bool { | |
302 return sr.EPSG != nil && sr.Bottleneck != nil && sr.Date != nil && sr.DepthReference != nil | |
303 } | |
304 | |
301 func (sr *SoundingResult) loadMeta(f *zip.File) (*models.SoundingResultMeta, error) { | 305 func (sr *SoundingResult) loadMeta(f *zip.File) (*models.SoundingResultMeta, error) { |
306 if f == nil { | |
307 return &models.SoundingResultMeta{ | |
308 Date: *sr.Date, | |
309 Bottleneck: *sr.Bottleneck, | |
310 EPSG: *sr.EPSG, | |
311 DepthReference: *sr.DepthReference, | |
312 }, nil | |
313 } | |
302 r, err := f.Open() | 314 r, err := f.Open() |
303 if err != nil { | 315 if err != nil { |
304 return nil, err | 316 return nil, err |
305 } | 317 } |
306 defer r.Close() | 318 defer r.Close() |