package main

import (
	"crypto/sha1"
	"encoding/hex"
	"fmt"
	"io"
	"os"
	"path/filepath"
)

func CalcMetadata(file string, writer io.Writer) error {
	fileReader, err := os.Open(file)
	if err != nil {
		return err
	}
	defer fileReader.Close()

	hasher := sha1.New()
	nBytes, err := io.Copy(hasher, fileReader)
	if err != nil {
		return err
	}
	sha1sum := hasher.Sum(nil)
	filename := filepath.Base(file)
	fmt.Fprintf(writer, "File: %s\n", filename)
	fmt.Fprintf(writer, "Size: %d\n", nBytes)
	fmt.Fprintf(writer, "SHA1: %s\n", hex.EncodeToString(sha1sum))
	fmt.Fprintln(writer)
	return nil
}