| 
									
										
										
										
											2014-07-01 20:08:18 +02:00
										 |  |  | package ethutil | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							| 
									
										
										
										
											2014-07-26 11:24:44 +02:00
										 |  |  | 	"io/ioutil" | 
					
						
							|  |  |  | 	"os" | 
					
						
							| 
									
										
										
										
											2014-07-01 20:08:18 +02:00
										 |  |  | 	"os/user" | 
					
						
							|  |  |  | 	"strings" | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func ExpandHomePath(p string) (path string) { | 
					
						
							|  |  |  | 	path = p | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	// Check in case of paths like "/something/~/something/" | 
					
						
							|  |  |  | 	if path[:2] == "~/" { | 
					
						
							|  |  |  | 		usr, _ := user.Current() | 
					
						
							|  |  |  | 		dir := usr.HomeDir | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		path = strings.Replace(p, "~", dir, 1) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	return | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2014-07-26 11:24:44 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | func FileExist(filePath string) bool { | 
					
						
							|  |  |  | 	_, err := os.Stat(filePath) | 
					
						
							|  |  |  | 	if err != nil && os.IsNotExist(err) { | 
					
						
							|  |  |  | 		return false | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	return true | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func ReadAllFile(filePath string) (string, error) { | 
					
						
							|  |  |  | 	file, err := os.Open(filePath) | 
					
						
							|  |  |  | 	if err != nil { | 
					
						
							|  |  |  | 		return "", err | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	data, err := ioutil.ReadAll(file) | 
					
						
							|  |  |  | 	if err != nil { | 
					
						
							|  |  |  | 		return "", err | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	return string(data), nil | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func WriteFile(filePath string, content []byte) error { | 
					
						
							| 
									
										
										
										
											2014-09-17 15:57:07 +02:00
										 |  |  | 	fh, err := os.OpenFile(filePath, os.O_TRUNC|os.O_RDWR|os.O_CREATE, os.ModePerm) | 
					
						
							| 
									
										
										
										
											2014-07-26 11:24:44 +02:00
										 |  |  | 	if err != nil { | 
					
						
							|  |  |  | 		return err | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	defer fh.Close() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	_, err = fh.Write(content) | 
					
						
							|  |  |  | 	if err != nil { | 
					
						
							|  |  |  | 		return err | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	return nil | 
					
						
							|  |  |  | } |