1
Fork 0

Cleanup logs and external exif parser

This commit is contained in:
viktorstrate 2021-04-11 22:55:44 +02:00
parent 2d17fb144a
commit 084d9bfef7
No known key found for this signature in database
GPG Key ID: 3F855605109C1E8A
2 changed files with 7 additions and 24 deletions

View File

@ -2,8 +2,6 @@ package exif
import ( import (
"log" "log"
"regexp"
"strconv"
"time" "time"
"github.com/barasher/go-exiftool" "github.com/barasher/go-exiftool"
@ -26,35 +24,31 @@ func (p *externalExifParser) ParseExif(media *models.Media) (returnExif *models.
for _, fileInfo := range fileInfos { for _, fileInfo := range fileInfos {
if fileInfo.Err != nil { if fileInfo.Err != nil {
log.Printf("Fileinfo error\n") log.Printf("Fileinfo error: %v\n", fileInfo.Err)
continue continue
} }
// Get camera model // Get camera model
model, err := fileInfo.GetString("Model") model, err := fileInfo.GetString("Model")
if err == nil { if err == nil {
log.Printf("Camera model: %v", model)
newExif.Camera = &model newExif.Camera = &model
} }
// Get Camera make // Get Camera make
make, err := fileInfo.GetString("Make") make, err := fileInfo.GetString("Make")
if err == nil { if err == nil {
log.Printf("Camera make: %v", make)
newExif.Maker = &make newExif.Maker = &make
} }
// Get lens // Get lens
lens, err := fileInfo.GetString("LensModel") lens, err := fileInfo.GetString("LensModel")
if err == nil { if err == nil {
log.Printf("Lens: %v", lens)
newExif.Lens = &lens newExif.Lens = &lens
} }
//Get time of photo //Get time of photo
date, err := fileInfo.GetString("DateTimeOriginal") date, err := fileInfo.GetString("DateTimeOriginal")
if err == nil { if err == nil {
log.Printf("Date shot: %s", date)
layout := "2006:01:02 15:04:05" layout := "2006:01:02 15:04:05"
dateTime, err := time.Parse(layout, date) dateTime, err := time.Parse(layout, date)
if err == nil { if err == nil {
@ -65,68 +59,54 @@ func (p *externalExifParser) ParseExif(media *models.Media) (returnExif *models.
// Get exposure time // Get exposure time
exposureTime, err := fileInfo.GetFloat("ExposureTime") exposureTime, err := fileInfo.GetFloat("ExposureTime")
if err == nil { if err == nil {
log.Printf("Exposure time: %f", exposureTime)
newExif.Exposure = &exposureTime newExif.Exposure = &exposureTime
} }
// Get aperture // Get aperture
aperture, err := fileInfo.GetFloat("Aperture") aperture, err := fileInfo.GetFloat("Aperture")
if err == nil { if err == nil {
log.Printf("Aperture: %f", aperture)
newExif.Aperture = &aperture newExif.Aperture = &aperture
} }
// Get ISO // Get ISO
iso, err := fileInfo.GetInt("ISO") iso, err := fileInfo.GetInt("ISO")
if err == nil { if err == nil {
log.Printf("ISO: %d", iso)
newExif.Iso = &iso newExif.Iso = &iso
} }
// Get focal length // Get focal length
focalLen, err := fileInfo.GetString("FocalLength") focalLen, err := fileInfo.GetFloat("FocalLength")
if err == nil { if err == nil {
log.Printf("Focal length: %s", focalLen) newExif.FocalLength = &focalLen
reg, _ := regexp.Compile("[0-9.]+")
focalLenStr := reg.FindString(focalLen)
focalLenFloat, err := strconv.ParseFloat(focalLenStr, 64)
if err == nil {
newExif.FocalLength = &focalLenFloat
}
} }
// Get flash info // Get flash info
flash, err := fileInfo.GetInt("Flash") flash, err := fileInfo.GetInt("Flash")
if err == nil { if err == nil {
log.Printf("Flash: %d", flash)
newExif.Flash = &flash newExif.Flash = &flash
} }
// Get orientation // Get orientation
orientation, err := fileInfo.GetInt("Orientation") orientation, err := fileInfo.GetInt("Orientation")
if err == nil { if err == nil {
log.Printf("Orientation: %d", orientation)
newExif.Orientation = &orientation newExif.Orientation = &orientation
} }
// Get exposure program // Get exposure program
expProgram, err := fileInfo.GetInt("ExposureProgram") expProgram, err := fileInfo.GetInt("ExposureProgram")
if err == nil { if err == nil {
log.Printf("Exposure Program: %d", expProgram)
newExif.ExposureProgram = &expProgram newExif.ExposureProgram = &expProgram
} }
// GPS coordinates - longitude // GPS coordinates - longitude
longitudeRaw, err := fileInfo.GetFloat("GPSLongitude") longitudeRaw, err := fileInfo.GetFloat("GPSLongitude")
if err == nil { if err == nil {
log.Printf("GPS longitude: %f", longitudeRaw)
newExif.GPSLongitude = &longitudeRaw newExif.GPSLongitude = &longitudeRaw
} }
// GPS coordinates - latitude // GPS coordinates - latitude
latitudeRaw, err := fileInfo.GetFloat("GPSLatitude") latitudeRaw, err := fileInfo.GetFloat("GPSLatitude")
if err == nil { if err == nil {
log.Printf("GPS latitude: %f", latitudeRaw)
newExif.GPSLatitude = &latitudeRaw newExif.GPSLatitude = &latitudeRaw
} }
} }

View File

@ -13,7 +13,7 @@ import (
"github.com/photoview/photoview/api/graphql/notification" "github.com/photoview/photoview/api/graphql/notification"
"github.com/photoview/photoview/api/utils" "github.com/photoview/photoview/api/utils"
"github.com/pkg/errors" "github.com/pkg/errors"
"github.com/sabhiram/go-gitignore" ignore "github.com/sabhiram/go-gitignore"
"gorm.io/gorm" "gorm.io/gorm"
) )
@ -23,6 +23,9 @@ func getPhotoviewIgnore(ignorePath string) ([]string, error) {
// Open .photoviewignore file, if exists // Open .photoviewignore file, if exists
photoviewIgnoreFile, err := os.Open(path.Join(ignorePath, ".photoviewignore")) photoviewIgnoreFile, err := os.Open(path.Join(ignorePath, ".photoviewignore"))
if err != nil { if err != nil {
if err == os.ErrNotExist {
return photoviewIgnore, nil
}
return photoviewIgnore, err return photoviewIgnore, err
} }