Reimplement -datadir flag. Implements #79

The config file is actually loaded from the folder that datadir points at
This commit is contained in:
Maran 2014-06-11 12:33:11 +02:00
parent 57e3b1b093
commit e36badd744
4 changed files with 12 additions and 4 deletions

View File

@ -20,6 +20,8 @@ var ImportKey string
var ExportKey bool var ExportKey bool
var AssetPath string var AssetPath string
var Datadir string
func Init() { func Init() {
flag.StringVar(&Identifier, "id", "", "Custom client identifier") flag.StringVar(&Identifier, "id", "", "Custom client identifier")
flag.StringVar(&OutboundPort, "port", "30303", "listening port") flag.StringVar(&OutboundPort, "port", "30303", "listening port")
@ -35,5 +37,7 @@ func Init() {
flag.BoolVar(&ExportKey, "export", false, "export private key") flag.BoolVar(&ExportKey, "export", false, "export private key")
flag.StringVar(&ImportKey, "import", "", "imports the given private key (hex)") flag.StringVar(&ImportKey, "import", "", "imports the given private key (hex)")
flag.StringVar(&Datadir, "datadir", ".ethereal", "specifies the datadir to use. Takes precedence over config file.")
flag.Parse() flag.Parse()
} }

View File

@ -43,14 +43,14 @@ func main() {
ethchain.InitFees() ethchain.InitFees()
g, err := globalconf.NewWithOptions(&globalconf.Options{ g, err := globalconf.NewWithOptions(&globalconf.Options{
Filename: path.Join(ethutil.ApplicationFolder(".ethereal"), "conf.ini"), Filename: path.Join(ethutil.ApplicationFolder(Datadir), "conf.ini"),
}) })
if err != nil { if err != nil {
fmt.Println(err) fmt.Println(err)
} else { } else {
g.ParseAll() g.ParseAll()
} }
ethutil.ReadConfig(".ethereal", ethutil.LogFile|ethutil.LogStd, g, Identifier) ethutil.ReadConfig(Datadir, ethutil.LogFile|ethutil.LogStd, g, Identifier)
// Instantiated a eth stack // Instantiated a eth stack
ethereum, err := eth.New(eth.CapDefault, UseUPnP) ethereum, err := eth.New(eth.CapDefault, UseUPnP)

View File

@ -24,6 +24,8 @@ var NonInteractive bool
var StartJsConsole bool var StartJsConsole bool
var InputFile string var InputFile string
var Datadir string
func Init() { func Init() {
flag.Usage = func() { flag.Usage = func() {
fmt.Fprintf(os.Stderr, "%s [options] [filename]:\n", os.Args[0]) fmt.Fprintf(os.Stderr, "%s [options] [filename]:\n", os.Args[0])
@ -46,6 +48,8 @@ func Init() {
flag.StringVar(&LogFile, "logfile", "", "log file (defaults to standard output)") flag.StringVar(&LogFile, "logfile", "", "log file (defaults to standard output)")
flag.StringVar(&ImportKey, "import", "", "imports the given private key (hex)") flag.StringVar(&ImportKey, "import", "", "imports the given private key (hex)")
flag.StringVar(&Datadir, "datadir", ".ethereum", "specifies the datadir to use. Takes precedence over config file.")
flag.Parse() flag.Parse()
InputFile = flag.Arg(0) InputFile = flag.Arg(0)

View File

@ -62,14 +62,14 @@ func main() {
} }
g, err := globalconf.NewWithOptions(&globalconf.Options{ g, err := globalconf.NewWithOptions(&globalconf.Options{
Filename: path.Join(ethutil.ApplicationFolder(".ethereum"), "conf.ini"), Filename: path.Join(ethutil.ApplicationFolder(Datadir), "conf.ini"),
}) })
if err != nil { if err != nil {
fmt.Println(err) fmt.Println(err)
} else { } else {
g.ParseAll() g.ParseAll()
} }
ethutil.ReadConfig(".ethereum", lt, g, Identifier) ethutil.ReadConfig(Datadir, lt, g, Identifier)
logger := ethutil.Config.Log logger := ethutil.Config.Log