mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-09-07 09:05:55 +00:00
added convience functions for file copy
This commit is contained in:
parent
a765dd8bc5
commit
a85a469252
1 changed files with 45 additions and 0 deletions
|
|
@ -1,10 +1,12 @@
|
|||
package remote
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"bytes"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
|
||||
"code.google.com/p/go.crypto/ssh"
|
||||
)
|
||||
|
|
@ -128,6 +130,49 @@ func (self *SSH) CopyFrom(dest_name string, out io.Writer) error {
|
|||
|
||||
}
|
||||
|
||||
func (self *SSH) SimpleFileCopyFrom(server_name, local_name string) error {
|
||||
fo, err := os.Create(local_name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
// close fo on exit and check for its returned error
|
||||
defer fo.Close()
|
||||
/*
|
||||
defer func() {
|
||||
if err := fo.Close(); err != nil {
|
||||
return err
|
||||
}
|
||||
}()
|
||||
*/
|
||||
// make a write buffer
|
||||
w := bufio.NewWriter(fo)
|
||||
self.CopyFrom(server_name, w)
|
||||
if err = w.Flush(); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *SSH) SimpleFileCopyTo(local_name, server_name string) error {
|
||||
fi, err := os.Open(local_name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
// close fi on exit and check for its returned error
|
||||
defer fi.Close()
|
||||
/*
|
||||
defer func() {
|
||||
if err := fi.Close(); err != nil {
|
||||
return err
|
||||
}
|
||||
}()
|
||||
*/
|
||||
// make a read buffer
|
||||
r := bufio.NewReader(fi)
|
||||
return self.CopyTo(r, server_name)
|
||||
|
||||
}
|
||||
|
||||
func New(host, user, pem_path string) (*SSH, error) {
|
||||
ret := new(SSH)
|
||||
k := new(keychain)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue