metafile.Encode takes a *metafile.Pointer

This commit is contained in:
Rick Olson 2014-07-24 14:34:19 -06:00
parent a31b736227
commit f72a2ebb14
4 changed files with 16 additions and 10 deletions

@ -33,7 +33,7 @@ func cleanCommand(cmd *cobra.Command, args []string) {
defer cleaned.Close()
tmpfile := cleaned.File.Name()
mediafile, err := gitmedia.LocalMediaPath(cleaned.Sha)
mediafile, err := gitmedia.LocalMediaPath(cleaned.Oid)
if err != nil {
Panic(err, "Unable to get local media path.")
}
@ -48,13 +48,13 @@ func cleanCommand(cmd *cobra.Command, args []string) {
Panic(err, "Unable to move %s to %s\n", tmpfile, mediafile)
}
if err = gitmedia.QueueUpload(cleaned.Sha, filename); err != nil {
Panic(err, "Unable to add %s to queue", cleaned.Sha)
if err = gitmedia.QueueUpload(cleaned.Oid, filename); err != nil {
Panic(err, "Unable to add %s to queue", cleaned.Oid)
}
Debug("Writing %s", mediafile)
}
metafile.Encode(os.Stdout, cleaned.Sha)
metafile.Encode(os.Stdout, cleaned.Pointer)
}
func init() {

@ -4,15 +4,15 @@ import (
"crypto/sha256"
"encoding/hex"
"github.com/github/git-media/gitmedia"
"github.com/github/git-media/metafile"
"io"
"os"
)
type CleanedAsset struct {
Size int64
File *os.File
Sha string
mediafilepath string
*metafile.Pointer
}
func Clean(reader io.Reader) (*CleanedAsset, error) {
@ -25,7 +25,8 @@ func Clean(reader io.Reader) (*CleanedAsset, error) {
writer := io.MultiWriter(oidHash, tmp)
written, err := io.Copy(writer, reader)
return &CleanedAsset{written, tmp, hex.EncodeToString(oidHash.Sum(nil)), ""}, err
pointer := metafile.NewPointer(hex.EncodeToString(oidHash.Sum(nil)), written)
return &CleanedAsset{tmp, "", pointer}, err
}
func (a *CleanedAsset) Close() error {

@ -18,13 +18,17 @@ type Pointer struct {
Size int64
}
func Encode(writer io.Writer, sha string) (int, error) {
func NewPointer(oid string, size int64) *Pointer {
return &Pointer{alpha, oid, size}
}
func Encode(writer io.Writer, pointer *Pointer) (int, error) {
written, err := writer.Write(MediaWarning)
if err != nil {
return written, err
}
written2, err := writer.Write([]byte(sha + "\n"))
written2, err := writer.Write([]byte(pointer.Oid + "\n"))
return written + written2, err
}

@ -7,7 +7,8 @@ import (
func TestEncode(t *testing.T) {
var buf bytes.Buffer
n, err := Encode(&buf, "abc")
pointer := NewPointer("abc", 0)
n, err := Encode(&buf, pointer)
if err != nil {
t.Errorf("Error encoding: %s", err)
}