Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marhop/exiftool-haskell
Haskell bindings to ExifTool
https://github.com/marhop/exiftool-haskell
exiftool haskell
Last synced: about 4 hours ago
JSON representation
Haskell bindings to ExifTool
- Host: GitHub
- URL: https://github.com/marhop/exiftool-haskell
- Owner: marhop
- License: mit
- Created: 2020-09-08T18:36:34.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-01T19:48:48.000Z (7 months ago)
- Last Synced: 2024-10-13T15:12:51.606Z (26 days ago)
- Topics: exiftool, haskell
- Language: Haskell
- Homepage:
- Size: 54.7 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# exiftool-haskell
[![Hackage](https://img.shields.io/hackage/v/exiftool)](https://hackage.haskell.org/package/exiftool)
[![CI](https://github.com/marhop/exiftool-haskell/actions/workflows/ci.yml/badge.svg)](https://github.com/marhop/exiftool-haskell/actions/workflows/ci.yml)Haskell bindings to the [ExifTool](https://exiftool.org) command-line
application that enable reading, writing and deleting metadata in various file
formats.Full documentation is on [Hackage](https://hackage.haskell.org/package/exiftool/docs/ExifTool.html).
A short code example:```haskell
{-# LANGUAGE OverloadedStrings #-}import Data.Text (Text)
import ExifTooldata 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"
```