func main() { flag.StringVar(&flagDataDir, "datadir", ".lablog", "the path to the datadir to use as the source of files.") flag.StringVar(&flagOutDir, "outdir", "output", "the path to the output directroy in which the converted files will be saved.") flag.Parse() log.Debug("DataDir: ", flagDataDir) log.Debug("OutDir: ", flagOutDir) dbread := dbfiles.New() dbread.Structure = dbfiles.NewFlat() dbread.BaseDir = flagDataDir readKeys, err := dbread.Keys() if err != nil { log.Fatal(errgo.Notef(err, "can not get keys from datadir")) } store, err := store.NewFolderStore(flagOutDir) if err != nil { log.Fatal(errgo.Notef(err, "can not create new store")) } for _, key := range readKeys { log.Info("Converting key '", strings.Join(key, "."), "'") project, err := data.ParseProjectName(strings.Join(key, data.ProjectNameSepperator)) if err != nil { log.Warning(errgo.Notef(err, "can not convert key to project name")) continue } log.Debug("Project: ", project) values, err := dbread.Get(key...) if err != nil { log.Warning(errgo.Notef(err, "can not get values for key '"+strings.Join(key, ".")+"'")) continue } log.Debug("Values: ", values) err = convertValues(store, project, values) if err != nil { log.Warning(errgo.Notef(err, "can no convert values for key '"+strings.Join(key, ".")+"'")) continue } log.Info("Converted key '", strings.Join(key, "."), "'") } }
func (store FolderStore) db() *dbfiles.DBFiles { db := dbfiles.New() db.BaseDir = store.datadir return db }