Skip to content

Instantly share code, notes, and snippets.

@josiahhaswell
Created July 27, 2016 19:11
Show Gist options
  • Save josiahhaswell/14528987f25200565c0aeb49d3481132 to your computer and use it in GitHub Desktop.
Save josiahhaswell/14528987f25200565c0aeb49d3481132 to your computer and use it in GitHub Desktop.
func (o *ContentAddOperation) add(fs files.File) (*AddedContent, error) {
var contentType ContentType
if fs.IsDirectory() {
contentType = Directory
for {
f, err := fs.NextFile()
if err == io.EOF {
break
} else if err != nil {
return nil, err
}
if f != nil {
if err = o.adder.AddFile(f); err != nil {
return nil, err
}
}
}
} else {
contentType = File
if err := o.adder.AddFile(fs); err != nil {
return nil, err
}
}
node, err := o.adder.Finalize()
if err != nil {
return nil, err
}
err = o.adder.PinRoot()
if err != nil {
return nil, err
}
key, _ := node.Key()
return &AddedContent{
DagEntry: node,
ContentName: fs.FileName(),
ContentType: contentType,
Hash: key.B58String(),
}, nil
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment