Packages

A library for reading Exif data in JPEG files.

Current section

Files

Jump to
glexif src glexif.erl
Raw

src/glexif.erl

-module(glexif).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/glexif.gleam").
-export([get_exif_data_for_file/1]).
-file("src/glexif.gleam", 5).
-spec get_exif_data_for_file(binary()) -> glexif@exif_tag:exif_tag_record().
get_exif_data_for_file(File_path) ->
Rs@1 = case file_streams@file_stream:open_read(File_path) of
{ok, Rs} -> Rs;
_assert_fail ->
erlang:error(#{gleam_error => let_assert,
message => <<"Pattern match failed, no pattern matched the value."/utf8>>,
file => <<?FILEPATH/utf8>>,
module => <<"glexif"/utf8>>,
function => <<"get_exif_data_for_file"/utf8>>,
line => 6,
value => _assert_fail,
start => 154,
'end' => 206,
pattern_start => 165,
pattern_end => 171})
end,
_ = glexif@internal@raw:read_until_marker(Rs@1),
Size = glexif@internal@raw:read_exif_size(Rs@1),
_ = file_streams@file_stream:close(Rs@1),
case glexif@internal@raw:read_exif_segment(Rs@1, Size) of
{ok, Segment} ->
glexif@internal@raw:parse_exif_data_as_record(Segment);
_ ->
erlang:error(#{gleam_error => panic,
message => <<"`panic` expression evaluated."/utf8>>,
file => <<?FILEPATH/utf8>>,
module => <<"glexif"/utf8>>,
function => <<"get_exif_data_for_file"/utf8>>,
line => 19})
end.