diff --git a/commands/command_clean.go b/commands/command_clean.go index e342a397..12824eae 100644 --- a/commands/command_clean.go +++ b/commands/command_clean.go @@ -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() { diff --git a/filters/clean.go b/filters/clean.go index 9fc4a50c..9114747b 100644 --- a/filters/clean.go +++ b/filters/clean.go @@ -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 { diff --git a/metafile/metafile.go b/metafile/metafile.go index 97e69fb3..aff5ae17 100644 --- a/metafile/metafile.go +++ b/metafile/metafile.go @@ -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 } diff --git a/metafile/metafile_test.go b/metafile/metafile_test.go index 1f7b3897..b2fc0c2c 100644 --- a/metafile/metafile_test.go +++ b/metafile/metafile_test.go @@ -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) }