(kind string, decoder func(*json.Decoder) error)
| 456 | } |
| 457 | |
| 458 | func (c *Client) readLocksFromCacheFile(kind string, decoder func(*json.Decoder) error) error { |
| 459 | cacheFile, err := c.prepareCacheDirectory(kind) |
| 460 | if err != nil { |
| 461 | return err |
| 462 | } |
| 463 | |
| 464 | _, err = os.Stat(cacheFile) |
| 465 | if err != nil { |
| 466 | if os.IsNotExist(err) { |
| 467 | return errors.New(tr.Tr.Get("no cached locks present")) |
| 468 | } |
| 469 | |
| 470 | return err |
| 471 | } |
| 472 | |
| 473 | file, err := os.Open(cacheFile) |
| 474 | if err != nil { |
| 475 | return err |
| 476 | } |
| 477 | |
| 478 | defer file.Close() |
| 479 | return decoder(json.NewDecoder(file)) |
| 480 | } |
| 481 | |
| 482 | func (c *Client) EncodeLocks(locks []Lock, writer io.Writer) error { |
| 483 | return json.NewEncoder(writer).Encode(locks) |
no test coverage detected