Skip to content

Latest commit

 

History

History
31 lines (24 loc) · 992 Bytes

README.md

File metadata and controls

31 lines (24 loc) · 992 Bytes

exiftool-haskell

Hackage CI

Haskell bindings to the ExifTool command-line application that enable reading, writing and deleting metadata in various file formats.

Full documentation is on Hackage. A short code example:

{-# LANGUAGE OverloadedStrings #-}

import Data.Text (Text)
import ExifTool

data Foo = Foo
  { description :: Text,
    resolution :: Int
  }
  deriving (Show)

main :: IO ()
main = withExifTool $ \et -> do
  m <- readMeta et [] "a.jpg"
  print $ Foo <$> get (Tag "Description") m <*> get (Tag "XResolution") m
  let m' = del (Tag "Description") . set (Tag "XResolution") (42 :: Int) $ m
  writeMeta et m' "a.jpg"