func SafeWriteToDisk(inpath string, r io.Reader, fs afero.Fs) (err error) { dir, _ := filepath.Split(inpath) ospath := filepath.FromSlash(dir) if ospath != "" { err = fs.MkdirAll(ospath, 0777) // rwx, rw, r if err != nil { return } } exists, err := Exists(inpath, fs) if err != nil { return } if exists { return fmt.Errorf("%v already exists", inpath) } file, err := fs.Create(inpath) if err != nil { return } defer file.Close() _, err = io.Copy(file, r) return }
// resWriteCache writes bytes to an ID into the file cache func resWriteCache(id string, c []byte, fs afero.Fs) error { fID := getCacheFileID(id) f, err := fs.Create(fID) if err != nil { return err } n, err := f.Write(c) if n == 0 { return errors.New("No bytes written to file: " + fID) } return err }
func newFile(testName string, fs afero.Fs, t *testing.T) (f afero.File) { fs.MkdirAll(testDir, 0777) f, err := fs.Create(path.Join(testDir, testName)) if err != nil { t.Fatalf("%v: create %s: %s", fs.Name(), testName, err) } _, err = f.WriteString("") if err != nil { t.Fatalf("%v: writestring %s: %s", fs.Name(), testName, err) } return f }
// resWriteCache writes bytes to an ID into the file cache func resWriteCache(id string, c []byte, fs afero.Fs) error { fID := getCacheFileID(id) f, err := fs.Create(fID) if err != nil { return errors.New("Error: " + err.Error() + ". Failed to create file: " + fID) } defer f.Close() n, err := f.Write(c) if n == 0 { return errors.New("No bytes written to file: " + fID) } if err != nil { return errors.New("Error: " + err.Error() + ". Failed to write to file: " + fID) } return nil }
func WriteToDisk(inpath string, r io.Reader, fs afero.Fs) (err error) { dir, _ := filepath.Split(inpath) ospath := filepath.FromSlash(dir) if ospath != "" { err = fs.MkdirAll(ospath, 0777) // rwx, rw, r if err != nil { if err != os.ErrExist { panic(err) } } } file, err := fs.Create(inpath) if err != nil { return } defer file.Close() _, err = io.Copy(file, r) return }