blob: 6ade09342f1231b4a55cbaa326274ebe0c18a426 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  | 
package config
// config files are always human readable (foo.text)
// cache files are always raw data (foo.pb)
import (
	"os"
	"path/filepath"
)
// ~/.config/appname/protoname.text
func makeConfigFilename(appname string, protoname string) string {
	var err error
	configDir, err := os.UserConfigDir()
	if err != nil {
		// todo: get something better than /tmp/ if anyone cares
		return filepath.Join("/tmp", appname, protoname+".text")
	}
	return filepath.Join(configDir, appname, protoname+".text")
}
// ~/.cache/appname/protoname.pb
func makeCacheFilename(appname string, protoname string) string {
	var err error
	cacheDir, err := os.UserCacheDir()
	if err != nil {
		// todo: get something better than /tmp/ if anyone cares
		return filepath.Join("/tmp", appname, protoname+".pb")
	}
	return filepath.Join(cacheDir, appname, protoname+".pb")
}
  |