Page Menu
Home
Musing Studio
Search
Configure Global Search
Log In
Files
F12143128
config.go
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
1018 B
Subscribers
None
config.go
View Options
package
config
import
(
"os"
"path/filepath"
ini
"gopkg.in/ini.v1"
)
const
(
UserConfigFile
=
"config.ini"
)
type
(
APIConfig
struct
{
}
PostsConfig
struct
{
Directory
string
`ini:"directory"`
}
UserConfig
struct
{
API
APIConfig
`ini:"api"`
Posts
PostsConfig
`ini:"posts"`
}
)
func
LoadConfig
(
dataDir
string
)
(
*
UserConfig
,
error
)
{
// TODO: load config to var shared across app
cfg
,
err
:=
ini
.
LooseLoad
(
filepath
.
Join
(
dataDir
,
UserConfigFile
))
if
err
!=
nil
{
return
nil
,
err
}
// Parse INI file
uc
:=
&
UserConfig
{}
err
=
cfg
.
MapTo
(
uc
)
if
err
!=
nil
{
return
nil
,
err
}
return
uc
,
nil
}
func
SaveConfig
(
dataDir
string
,
uc
*
UserConfig
)
error
{
cfg
:=
ini
.
Empty
()
err
:=
ini
.
ReflectFrom
(
cfg
,
uc
)
if
err
!=
nil
{
return
err
}
return
cfg
.
SaveTo
(
filepath
.
Join
(
dataDir
,
UserConfigFile
))
}
var
editors
=
[]
string
{
"WRITEAS_EDITOR"
,
"EDITOR"
}
func
GetConfiguredEditor
()
string
{
for
_
,
v
:=
range
editors
{
if
e
:=
os
.
Getenv
(
v
);
e
!=
""
{
return
e
}
}
return
""
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Oct 10, 5:22 AM (1 d, 9 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3437606
Attached To
rWCLI writeas-cli
Event Timeline
Log In to Comment