diff options
Diffstat (limited to 'post')
-rw-r--r-- | post/post.go | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/post/post.go b/post/post.go index c43b9e3..8f96c8d 100644 --- a/post/post.go +++ b/post/post.go @@ -143,12 +143,27 @@ func (p *Post) AbsoluteFilePath() string { Try to extract metadata from EXIF */ func (p *Post) parseExif() { - // TODO: full exif parsing / metadata propogation - // TODO: error checking - f, _ := os.Open(p.AbsoluteFilePath()) - x, _ := exif.Decode(f) - tm, _ := x.DateTime() + f, err := os.Open(p.AbsoluteFilePath()) + if err != nil { + vlog.Printf("%v", err) + return + } + + x, err := exif.Decode(f) + if err != nil { + vlog.Printf("%v", err) + return + } + + tm, err := x.DateTime() + if err != nil { + vlog.Printf("%v", err) + return + } p.Time = tm + + // TODO: full exif parsing | metadata propogation but exif is ugh + p.Meta["Exif"] = x.String() } /* @@ -203,6 +218,10 @@ func NormalizeTag(tag string) string { splitText splits up p.Unparsed into p.Text and p.Meta[attr][value] */ func (p *Post) splitTextMeta() { + if p.Unparsed == "" { + p.Text = "" + return + } SEPARATOR := ":" lines := strings.Split(p.Unparsed, "\n") for _, line := range lines { |