diff options
| author | Paul Buetow <paul@buetow.org> | 2024-07-28 18:46:41 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2024-07-28 18:46:41 +0300 |
| commit | 7fc95c18f169f0bfe0a5bc8a239ec5853619ec59 (patch) | |
| tree | 930f45563c8254205e2cac60b2eff234649362ed /internal/types | |
| parent | 8572fca487d124518e46f4fad1919cf98c5ae56a (diff) | |
initial posting real data over
Diffstat (limited to 'internal/types')
| -rw-r--r-- | internal/types/entry.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/internal/types/entry.go b/internal/types/entry.go index ca2a742..695c786 100644 --- a/internal/types/entry.go +++ b/internal/types/entry.go @@ -4,6 +4,7 @@ import ( "crypto/sha256" "encoding/json" "fmt" + "os" "strings" "sync" ) @@ -63,6 +64,21 @@ func NewEntryFromCopy(other Entry) (Entry, error) { return e.Update(other) } +func NewEntryFromFile(filePath string) (Entry, error) { + var e Entry + data, err := os.ReadFile(filePath) + if err != nil { + return e, err + } + e.Body = string(data) + if e.ID == "" { + e.ID = fmt.Sprintf("%x", sha256.Sum256([]byte(e.Body))) + } + e.initialize() + e.Checksum() + return e, nil +} + func (e *Entry) initialize() { e.mu = &sync.Mutex{} e.checksumDirty = true |
