Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
dms3
go-dms3
Commits
381bfaa6
Commit
381bfaa6
authored
10 years ago
by
Juan Batiz-Benet
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gofmt
parent
d71bf674
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
63 additions
and
64 deletions
+63
-64
config/config.go
config/config.go
+35
-36
config/config_test.go
config/config_test.go
+8
-8
config/serialize.go
config/serialize.go
+20
-20
No files found.
config/config.go
View file @
381bfaa6
package
config
import
(
"string
s"
"os"
"os/user
"
"o
s"
"os
/user
"
"strings
"
)
type
Identity
struct
{
PeerId
string
PeerId
string
}
type
Datastore
struct
{
Type
string
Path
string
Type
string
Path
string
}
type
Config
struct
{
Identity
Identity
Datastore
Datastore
Identity
Identity
Datastore
Datastore
}
var
defaultConfigFilePath
=
"~/.go-ipfs/config"
var
defaultConfigFile
=
`{
"identity": {},
...
...
@@ -32,31 +31,31 @@ var defaultConfigFile = `{
`
func
LoadConfig
(
filename
string
)
(
*
Config
,
error
)
{
if
len
(
filename
)
==
0
{
filename
=
defaultConfigFilePath
}
// expand ~/
if
strings
.
HasPrefix
(
filename
,
"~/"
)
{
usr
,
err
:=
user
.
Current
()
if
err
!=
nil
{
return
nil
,
err
}
dir
:=
usr
.
HomeDir
+
"/"
filename
=
strings
.
Replace
(
filename
,
"~/"
,
dir
,
1
)
}
// if nothing is there, write first conifg file.
if
_
,
err
:=
os
.
Stat
(
filename
);
os
.
IsNotExist
(
err
)
{
WriteFile
(
filename
,
[]
byte
(
defaultConfigFile
))
}
var
cfg
Config
err
:=
ReadConfigFile
(
filename
,
&
cfg
)
if
err
!=
nil
{
return
nil
,
err
}
return
&
cfg
,
err
if
len
(
filename
)
==
0
{
filename
=
defaultConfigFilePath
}
// expand ~/
if
strings
.
HasPrefix
(
filename
,
"~/"
)
{
usr
,
err
:=
user
.
Current
()
if
err
!=
nil
{
return
nil
,
err
}
dir
:=
usr
.
HomeDir
+
"/"
filename
=
strings
.
Replace
(
filename
,
"~/"
,
dir
,
1
)
}
// if nothing is there, write first conifg file.
if
_
,
err
:=
os
.
Stat
(
filename
);
os
.
IsNotExist
(
err
)
{
WriteFile
(
filename
,
[]
byte
(
defaultConfigFile
))
}
var
cfg
Config
err
:=
ReadConfigFile
(
filename
,
&
cfg
)
if
err
!=
nil
{
return
nil
,
err
}
return
&
cfg
,
err
}
This diff is collapsed.
Click to expand it.
config/config_test.go
View file @
381bfaa6
package
config
import
(
"fmt"
"testing"
"fmt"
"testing"
)
func
TestConfig
(
t
*
testing
.
T
)
{
cfg
,
err
:=
LoadConfig
(
""
)
if
err
!=
nil
{
t
.
Error
(
err
)
return
}
cfg
,
err
:=
LoadConfig
(
""
)
if
err
!=
nil
{
t
.
Error
(
err
)
return
}
fmt
.
Printf
(
cfg
.
Datastore
.
Path
)
fmt
.
Printf
(
cfg
.
Datastore
.
Path
)
}
This diff is collapsed.
Click to expand it.
config/serialize.go
View file @
381bfaa6
package
config
import
(
"os
"
"path
"
"io/ioutil
"
"encoding/json
"
"encoding/json
"
"io/ioutil
"
"os
"
"path
"
)
func
ReadFile
(
filename
string
)
([]
byte
,
error
)
{
return
ioutil
.
ReadFile
(
filename
)
return
ioutil
.
ReadFile
(
filename
)
}
func
WriteFile
(
filename
string
,
buf
[]
byte
)
error
{
err
:=
os
.
MkdirAll
(
path
.
Dir
(
filename
),
0777
)
if
err
!=
nil
{
return
err
}
err
:=
os
.
MkdirAll
(
path
.
Dir
(
filename
),
0777
)
if
err
!=
nil
{
return
err
}
return
ioutil
.
WriteFile
(
filename
,
buf
,
0666
)
return
ioutil
.
WriteFile
(
filename
,
buf
,
0666
)
}
func
ReadConfigFile
(
filename
string
,
cfg
*
Config
)
error
{
buf
,
err
:=
ReadFile
(
filename
)
if
err
!=
nil
{
return
err
}
buf
,
err
:=
ReadFile
(
filename
)
if
err
!=
nil
{
return
err
}
return
json
.
Unmarshal
(
buf
,
cfg
)
return
json
.
Unmarshal
(
buf
,
cfg
)
}
func
WriteConfigFile
(
filename
string
,
cfg
*
Config
)
error
{
buf
,
err
:=
json
.
MarshalIndent
(
cfg
,
""
,
" "
)
if
err
!=
nil
{
return
err
}
buf
,
err
:=
json
.
MarshalIndent
(
cfg
,
""
,
" "
)
if
err
!=
nil
{
return
err
}
return
WriteFile
(
filename
,
buf
)
return
WriteFile
(
filename
,
buf
)
}
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment