forked from TrueCloudLab/frostfs-node
[#1259] cli: Remove locode subcommand
Removed `frostfs-cli util locode` subcommand. Alternative command could be found in `git.frostfs.info/TrueCloudLab/frostfs-locode-db`. Signed-off-by: George Bartolomey <george@bh4.ru>
This commit is contained in:
parent
94f07b4778
commit
1032075a21
4 changed files with 0 additions and 172 deletions
|
@ -1,18 +0,0 @@
|
||||||
package util
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/spf13/cobra"
|
|
||||||
)
|
|
||||||
|
|
||||||
// locode section.
|
|
||||||
var locodeCmd = &cobra.Command{
|
|
||||||
Use: "locode",
|
|
||||||
Short: "Working with FrostFS UN/LOCODE database",
|
|
||||||
}
|
|
||||||
|
|
||||||
func initLocodeCmd() {
|
|
||||||
locodeCmd.AddCommand(locodeGenerateCmd, locodeInfoCmd)
|
|
||||||
|
|
||||||
initUtilLocodeInfoCmd()
|
|
||||||
initUtilLocodeGenerateCmd()
|
|
||||||
}
|
|
|
@ -1,96 +0,0 @@
|
||||||
package util
|
|
||||||
|
|
||||||
import (
|
|
||||||
commonCmd "git.frostfs.info/TrueCloudLab/frostfs-node/cmd/internal/common"
|
|
||||||
locodedb "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/util/locode/db"
|
|
||||||
airportsdb "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/util/locode/db/airports"
|
|
||||||
locodebolt "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/util/locode/db/boltdb"
|
|
||||||
continentsdb "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/util/locode/db/continents/geojson"
|
|
||||||
csvlocode "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/util/locode/table/csv"
|
|
||||||
"github.com/spf13/cobra"
|
|
||||||
)
|
|
||||||
|
|
||||||
type namesDB struct {
|
|
||||||
*airportsdb.DB
|
|
||||||
*csvlocode.Table
|
|
||||||
}
|
|
||||||
|
|
||||||
const (
|
|
||||||
locodeGenerateInputFlag = "in"
|
|
||||||
locodeGenerateSubDivFlag = "subdiv"
|
|
||||||
locodeGenerateAirportsFlag = "airports"
|
|
||||||
locodeGenerateCountriesFlag = "countries"
|
|
||||||
locodeGenerateContinentsFlag = "continents"
|
|
||||||
locodeGenerateOutputFlag = "out"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
locodeGenerateInPaths []string
|
|
||||||
locodeGenerateSubDivPath string
|
|
||||||
locodeGenerateAirportsPath string
|
|
||||||
locodeGenerateCountriesPath string
|
|
||||||
locodeGenerateContinentsPath string
|
|
||||||
locodeGenerateOutPath string
|
|
||||||
|
|
||||||
locodeGenerateCmd = &cobra.Command{
|
|
||||||
Use: "generate",
|
|
||||||
Short: "Generate UN/LOCODE database for FrostFS",
|
|
||||||
Run: func(cmd *cobra.Command, _ []string) {
|
|
||||||
locodeDB := csvlocode.New(
|
|
||||||
csvlocode.Prm{
|
|
||||||
Path: locodeGenerateInPaths[0],
|
|
||||||
SubDivPath: locodeGenerateSubDivPath,
|
|
||||||
},
|
|
||||||
csvlocode.WithExtraPaths(locodeGenerateInPaths[1:]...),
|
|
||||||
)
|
|
||||||
|
|
||||||
airportDB := airportsdb.New(airportsdb.Prm{
|
|
||||||
AirportsPath: locodeGenerateAirportsPath,
|
|
||||||
CountriesPath: locodeGenerateCountriesPath,
|
|
||||||
})
|
|
||||||
|
|
||||||
continentsDB := continentsdb.New(continentsdb.Prm{
|
|
||||||
Path: locodeGenerateContinentsPath,
|
|
||||||
})
|
|
||||||
|
|
||||||
targetDB := locodebolt.New(locodebolt.Prm{
|
|
||||||
Path: locodeGenerateOutPath,
|
|
||||||
})
|
|
||||||
|
|
||||||
err := targetDB.Open()
|
|
||||||
commonCmd.ExitOnErr(cmd, "", err)
|
|
||||||
|
|
||||||
defer targetDB.Close()
|
|
||||||
|
|
||||||
names := &namesDB{
|
|
||||||
DB: airportDB,
|
|
||||||
Table: locodeDB,
|
|
||||||
}
|
|
||||||
|
|
||||||
err = locodedb.FillDatabase(locodeDB, airportDB, continentsDB, names, targetDB)
|
|
||||||
commonCmd.ExitOnErr(cmd, "", err)
|
|
||||||
},
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
func initUtilLocodeGenerateCmd() {
|
|
||||||
flags := locodeGenerateCmd.Flags()
|
|
||||||
|
|
||||||
flags.StringSliceVar(&locodeGenerateInPaths, locodeGenerateInputFlag, nil, "List of paths to UN/LOCODE tables (csv)")
|
|
||||||
_ = locodeGenerateCmd.MarkFlagRequired(locodeGenerateInputFlag)
|
|
||||||
|
|
||||||
flags.StringVar(&locodeGenerateSubDivPath, locodeGenerateSubDivFlag, "", "Path to UN/LOCODE subdivision database (csv)")
|
|
||||||
_ = locodeGenerateCmd.MarkFlagRequired(locodeGenerateSubDivFlag)
|
|
||||||
|
|
||||||
flags.StringVar(&locodeGenerateAirportsPath, locodeGenerateAirportsFlag, "", "Path to OpenFlights airport database (csv)")
|
|
||||||
_ = locodeGenerateCmd.MarkFlagRequired(locodeGenerateAirportsFlag)
|
|
||||||
|
|
||||||
flags.StringVar(&locodeGenerateCountriesPath, locodeGenerateCountriesFlag, "", "Path to OpenFlights country database (csv)")
|
|
||||||
_ = locodeGenerateCmd.MarkFlagRequired(locodeGenerateCountriesFlag)
|
|
||||||
|
|
||||||
flags.StringVar(&locodeGenerateContinentsPath, locodeGenerateContinentsFlag, "", "Path to continent polygons (GeoJSON)")
|
|
||||||
_ = locodeGenerateCmd.MarkFlagRequired(locodeGenerateContinentsFlag)
|
|
||||||
|
|
||||||
flags.StringVar(&locodeGenerateOutPath, locodeGenerateOutputFlag, "", "Target path for generated database")
|
|
||||||
_ = locodeGenerateCmd.MarkFlagRequired(locodeGenerateOutputFlag)
|
|
||||||
}
|
|
|
@ -1,56 +0,0 @@
|
||||||
package util
|
|
||||||
|
|
||||||
import (
|
|
||||||
commonCmd "git.frostfs.info/TrueCloudLab/frostfs-node/cmd/internal/common"
|
|
||||||
locodedb "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/util/locode/db"
|
|
||||||
locodebolt "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/util/locode/db/boltdb"
|
|
||||||
"github.com/spf13/cobra"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
locodeInfoDBFlag = "db"
|
|
||||||
locodeInfoCodeFlag = "locode"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
locodeInfoDBPath string
|
|
||||||
locodeInfoCode string
|
|
||||||
|
|
||||||
locodeInfoCmd = &cobra.Command{
|
|
||||||
Use: "info",
|
|
||||||
Short: "Print information about UN/LOCODE from FrostFS database",
|
|
||||||
Run: func(cmd *cobra.Command, _ []string) {
|
|
||||||
targetDB := locodebolt.New(locodebolt.Prm{
|
|
||||||
Path: locodeInfoDBPath,
|
|
||||||
}, locodebolt.ReadOnly())
|
|
||||||
|
|
||||||
err := targetDB.Open()
|
|
||||||
commonCmd.ExitOnErr(cmd, "", err)
|
|
||||||
|
|
||||||
defer targetDB.Close()
|
|
||||||
|
|
||||||
record, err := locodedb.LocodeRecord(targetDB, locodeInfoCode)
|
|
||||||
commonCmd.ExitOnErr(cmd, "", err)
|
|
||||||
|
|
||||||
cmd.Printf("Country: %s\n", record.CountryName())
|
|
||||||
cmd.Printf("Location: %s\n", record.LocationName())
|
|
||||||
cmd.Printf("Continent: %s\n", record.Continent())
|
|
||||||
if subDivCode := record.SubDivCode(); subDivCode != "" {
|
|
||||||
cmd.Printf("Subdivision: [%s] %s\n", subDivCode, record.SubDivName())
|
|
||||||
}
|
|
||||||
|
|
||||||
geoPoint := record.GeoPoint()
|
|
||||||
cmd.Printf("Coordinates: %0.2f, %0.2f\n", geoPoint.Latitude(), geoPoint.Longitude())
|
|
||||||
},
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
func initUtilLocodeInfoCmd() {
|
|
||||||
flags := locodeInfoCmd.Flags()
|
|
||||||
|
|
||||||
flags.StringVar(&locodeInfoDBPath, locodeInfoDBFlag, "", "Path to FrostFS UN/LOCODE database")
|
|
||||||
_ = locodeInfoCmd.MarkFlagRequired(locodeInfoDBFlag)
|
|
||||||
|
|
||||||
flags.StringVar(&locodeInfoCode, locodeInfoCodeFlag, "", "UN/LOCODE")
|
|
||||||
_ = locodeInfoCmd.MarkFlagRequired(locodeInfoCodeFlag)
|
|
||||||
}
|
|
|
@ -23,11 +23,9 @@ func init() {
|
||||||
signCmd,
|
signCmd,
|
||||||
convertCmd,
|
convertCmd,
|
||||||
keyerCmd,
|
keyerCmd,
|
||||||
locodeCmd,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
initSignCmd()
|
initSignCmd()
|
||||||
initConvertCmd()
|
initConvertCmd()
|
||||||
initKeyerCmd()
|
initKeyerCmd()
|
||||||
initLocodeCmd()
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue