summaryrefslogtreecommitdiff
path: root/makeFilenames.go
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")
}