make location of last.state.txt configuratble

master
Oliver Tonnhofer 2014-04-01 13:16:27 +02:00
parent 62cdbcc3e3
commit e4d1156ff8
3 changed files with 19 additions and 3 deletions

View File

@ -11,6 +11,7 @@ import (
type Config struct {
CacheDir string `json:"cachedir"`
DiffDir string `json:"diffdir"`
Connection string `json:"connection"`
MappingFile string `json:"mapping"`
LimitTo string `json:"limitto"`
@ -37,6 +38,7 @@ var DiffFlags = flag.NewFlagSet("diff", flag.ExitOnError)
type _BaseOptions struct {
Connection string
CacheDir string
DiffDir string
MappingFile string
Srid int
LimitTo string
@ -101,6 +103,14 @@ func (o *_BaseOptions) updateFromConfig() error {
if o.CacheDir == defaultCacheDir {
o.CacheDir = conf.CacheDir
}
if o.DiffDir == "" {
if conf.DiffDir == "" {
// use CacheDir for backwards compatibility
o.DiffDir = o.CacheDir
} else {
o.DiffDir = conf.DiffDir
}
}
return nil
}
@ -133,6 +143,7 @@ var ImportOptions = _ImportOptions{}
func addBaseFlags(flags *flag.FlagSet) {
flags.StringVar(&BaseOptions.Connection, "connection", "", "connection parameters")
flags.StringVar(&BaseOptions.CacheDir, "cachedir", defaultCacheDir, "cache directory")
flags.StringVar(&BaseOptions.DiffDir, "diffdir", "", "diff directory for last.state.txt")
flags.StringVar(&BaseOptions.MappingFile, "mapping", "", "mapping file")
flags.IntVar(&BaseOptions.Srid, "srid", defaultSrid, "srs id")
flags.StringVar(&BaseOptions.LimitTo, "limitto", "", "limit to geometries")

View File

@ -29,7 +29,7 @@ func Update(oscFile string, geometryLimiter *limit.Limiter, expireor expire.Expi
if err != nil {
return err
}
lastState, err := diffstate.ParseLastState(config.BaseOptions.CacheDir)
lastState, err := diffstate.ParseLastState(config.BaseOptions.DiffDir)
if err != nil {
log.Warn(err)
}
@ -300,7 +300,7 @@ For:
if lastState != nil {
state.Url = lastState.Url
}
err = diffstate.WriteLastState(config.BaseOptions.CacheDir, state)
err = diffstate.WriteLastState(config.BaseOptions.DiffDir, state)
if err != nil {
log.Warn(err) // warn only
}

View File

@ -4,6 +4,7 @@ Package import_ provides the import sub command initial imports.
package import_
import (
"os"
"path"
"imposm3/cache"
@ -119,7 +120,11 @@ func Import() {
log.StopStep(step)
diffstate := state.FromPbf(pbfFile)
if diffstate != nil {
diffstate.WriteToFile(path.Join(config.BaseOptions.CacheDir, "last.state.txt"))
os.MkdirAll(config.BaseOptions.DiffDir, 0755)
err := diffstate.WriteToFile(path.Join(config.BaseOptions.DiffDir, "last.state.txt"))
if err != nil {
log.Print("error writing last.state.txt: ", err)
}
}
}