| 123456789101112131415161718192021222324252627282930313233343536373839404142 | 
							- package utils
 
- import (
 
- 	"os"
 
- 	"github.com/sirupsen/logrus"
 
- 	"gopkg.in/ini.v1"
 
- )
 
- // 缓存 timeZone 信息
 
- var timeZoneCache string
 
- // FileExists checks if a file exists and is not a directory before we
 
- // try using it to prevent further errors.
 
- func FileExists(filename string) bool {
 
- 	info, err := os.Stat(filename)
 
- 	if os.IsNotExist(err) {
 
- 		return false
 
- 	}
 
- 	return !info.IsDir()
 
- }
 
- // pbx 不能正确读取时区, 读取自定义文件  /etc/asterisk/ntp.conf
 
- func GetLocationName() string {
 
- 	if timeZoneCache != "" {
 
- 		return timeZoneCache
 
- 	}
 
- 	filePath := "/etc/asterisk/ntp.conf"
 
- 	_, err := os.Stat(filePath)
 
- 	if err != nil {
 
- 		logrus.Error(err)
 
- 		return ""
 
- 	}
 
- 	iniFile, err := ini.Load(filePath)
 
- 	if err != nil {
 
- 		logrus.Error(err)
 
- 		return ""
 
- 	}
 
- 	timeZoneCache = iniFile.Section("ntp").Key("TZNAME").Value()
 
- 	logrus.Infof("use location %s", timeZoneCache)
 
- 	return timeZoneCache
 
- }
 
 
  |