36 lines
		
	
	
		
			841 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			841 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package utils
 | |
| 
 | |
| import (
 | |
| 	"os"
 | |
| 	"path/filepath"
 | |
| 	"strings"
 | |
| )
 | |
| 
 | |
| // FixPath converts \ and \\ to /
 | |
| func FixPath(path string) string {
 | |
| 	a := filepath.Clean(path)
 | |
| 	b := strings.Replace(a, `\`, "/", -1)
 | |
| 	c := strings.Replace(b, `\\`, "/", -1)
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // FixName converts [/ to _](1), [  to -](2) and [, to __](3)
 | |
| func FixName(path string) string {
 | |
| 	a := FixPath(path)
 | |
| 	b := strings.Replace(a, "/", "_", -1)    // / to _
 | |
| 	c := strings.Replace(b, " ", "-", -1)    // {space} to -
 | |
| 	return strings.Replace(c, ",", "__", -1) // , to __
 | |
| }
 | |
| 
 | |
| // GetCurrentDir gets the directory where the application was run
 | |
| func GetCurrentDir() (string, error) {
 | |
| 	d, err := filepath.Abs(filepath.Dir(os.Args[0]))
 | |
| 	return d, err
 | |
| }
 | |
| 
 | |
| // Exists returns true when a folder/file exists
 | |
| func Exists(path string) bool {
 | |
| 	_, err := os.Stat(path)
 | |
| 	return !os.IsNotExist(err)
 | |
| }
 |