make location of last.state.txt configuratble
parent
62cdbcc3e3
commit
e4d1156ff8
|
@ -11,6 +11,7 @@ import (
|
||||||
|
|
||||||
type Config struct {
|
type Config struct {
|
||||||
CacheDir string `json:"cachedir"`
|
CacheDir string `json:"cachedir"`
|
||||||
|
DiffDir string `json:"diffdir"`
|
||||||
Connection string `json:"connection"`
|
Connection string `json:"connection"`
|
||||||
MappingFile string `json:"mapping"`
|
MappingFile string `json:"mapping"`
|
||||||
LimitTo string `json:"limitto"`
|
LimitTo string `json:"limitto"`
|
||||||
|
@ -37,6 +38,7 @@ var DiffFlags = flag.NewFlagSet("diff", flag.ExitOnError)
|
||||||
type _BaseOptions struct {
|
type _BaseOptions struct {
|
||||||
Connection string
|
Connection string
|
||||||
CacheDir string
|
CacheDir string
|
||||||
|
DiffDir string
|
||||||
MappingFile string
|
MappingFile string
|
||||||
Srid int
|
Srid int
|
||||||
LimitTo string
|
LimitTo string
|
||||||
|
@ -101,6 +103,14 @@ func (o *_BaseOptions) updateFromConfig() error {
|
||||||
if o.CacheDir == defaultCacheDir {
|
if o.CacheDir == defaultCacheDir {
|
||||||
o.CacheDir = conf.CacheDir
|
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
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,6 +143,7 @@ var ImportOptions = _ImportOptions{}
|
||||||
func addBaseFlags(flags *flag.FlagSet) {
|
func addBaseFlags(flags *flag.FlagSet) {
|
||||||
flags.StringVar(&BaseOptions.Connection, "connection", "", "connection parameters")
|
flags.StringVar(&BaseOptions.Connection, "connection", "", "connection parameters")
|
||||||
flags.StringVar(&BaseOptions.CacheDir, "cachedir", defaultCacheDir, "cache directory")
|
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.StringVar(&BaseOptions.MappingFile, "mapping", "", "mapping file")
|
||||||
flags.IntVar(&BaseOptions.Srid, "srid", defaultSrid, "srs id")
|
flags.IntVar(&BaseOptions.Srid, "srid", defaultSrid, "srs id")
|
||||||
flags.StringVar(&BaseOptions.LimitTo, "limitto", "", "limit to geometries")
|
flags.StringVar(&BaseOptions.LimitTo, "limitto", "", "limit to geometries")
|
||||||
|
|
|
@ -29,7 +29,7 @@ func Update(oscFile string, geometryLimiter *limit.Limiter, expireor expire.Expi
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
lastState, err := diffstate.ParseLastState(config.BaseOptions.CacheDir)
|
lastState, err := diffstate.ParseLastState(config.BaseOptions.DiffDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Warn(err)
|
log.Warn(err)
|
||||||
}
|
}
|
||||||
|
@ -300,7 +300,7 @@ For:
|
||||||
if lastState != nil {
|
if lastState != nil {
|
||||||
state.Url = lastState.Url
|
state.Url = lastState.Url
|
||||||
}
|
}
|
||||||
err = diffstate.WriteLastState(config.BaseOptions.CacheDir, state)
|
err = diffstate.WriteLastState(config.BaseOptions.DiffDir, state)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Warn(err) // warn only
|
log.Warn(err) // warn only
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ Package import_ provides the import sub command initial imports.
|
||||||
package import_
|
package import_
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"os"
|
||||||
"path"
|
"path"
|
||||||
|
|
||||||
"imposm3/cache"
|
"imposm3/cache"
|
||||||
|
@ -119,7 +120,11 @@ func Import() {
|
||||||
log.StopStep(step)
|
log.StopStep(step)
|
||||||
diffstate := state.FromPbf(pbfFile)
|
diffstate := state.FromPbf(pbfFile)
|
||||||
if diffstate != nil {
|
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)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue