pub struct ExifExtractor;Expand description
EXIF extractor service
Implementations§
Source§impl ExifExtractor
impl ExifExtractor
Sourcepub fn extract<P: AsRef<Path>>(path: P) -> ImageMetadata
pub fn extract<P: AsRef<Path>>(path: P) -> ImageMetadata
Extract metadata from an image file.
Date priority (most-trusted first):
- EXIF DateTimeOriginal — when the shutter fired
- EXIF DateTimeDigitized — when the JPEG/file was digitized
- Filename pattern (IMG_/PXL_/Screenshot_/etc.)
- EXIF DateTime — image last-modified, often the copy time on phone exports rather than the capture time
- File mtime — last resort for entirely undated files
had_exif_date_field is set ONLY by capture tags (Original or
Digitized). The modification DateTime tag does not block the
filename fallback, because it’s frequently wrong for our purpose.
Auto Trait Implementations§
impl Freeze for ExifExtractor
impl RefUnwindSafe for ExifExtractor
impl Send for ExifExtractor
impl Sync for ExifExtractor
impl Unpin for ExifExtractor
impl UnsafeUnpin for ExifExtractor
impl UnwindSafe for ExifExtractor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more