osxphotos/tests/test_exif_info.py
2022-01-02 09:06:04 -08:00

98 lines
2.4 KiB
Python

""" Test ExifInfo """
import pytest
from osxphotos.exifinfo import ExifInfo
PHOTOS_DB_5 = "tests/Test-Cloud-10.15.1.photoslibrary"
PHOTOS_DB_4 = "tests/Test-10.14.6.photoslibrary"
EXIF_DICT = {
"D11D25FF-5F31-47D2-ABA9-58418878DC15": ExifInfo(
flash_fired=False,
iso=50,
metering_mode=3,
sample_rate=None,
track_format=None,
white_balance=0,
aperture=2.4,
bit_rate=None,
duration=None,
exposure_bias=0.0,
focal_length=4.12,
fps=None,
latitude=None,
longitude=None,
shutter_speed=0.03333333333333333,
camera_make="Apple",
camera_model="iPhone 5",
codec=None,
lens_model="iPhone 5 back camera 4.12mm f/2.4",
),
"CCBE0EB9-AE9F-4479-BFFD-107042C75227": ExifInfo(
flash_fired=False,
iso=50,
metering_mode=5,
sample_rate=None,
track_format=None,
white_balance=0,
aperture=2.4,
bit_rate=None,
duration=None,
exposure_bias=0.0,
focal_length=4.12,
fps=None,
latitude=None,
longitude=None,
shutter_speed=0.016666666666666666,
camera_make="Apple",
camera_model="iPhone 5",
codec=None,
lens_model="iPhone 5 back camera 4.12mm f/2.4",
),
"5159B117-58DD-4DA0-B130-623662D9172F": ExifInfo(
flash_fired=False,
iso=None,
metering_mode=None,
sample_rate=None,
track_format=None,
white_balance=None,
aperture=None,
bit_rate=None,
duration=0.8333333333333334,
exposure_bias=None,
focal_length=None,
fps=30.0,
latitude=None,
longitude=None,
shutter_speed=None,
camera_make="Apple",
camera_model="iPhone 5",
codec="avc1",
lens_model=None,
),
}
@pytest.fixture
def photosdb():
import osxphotos
return osxphotos.PhotosDB(dbfile=PHOTOS_DB_5)
def test_exif_info_v5(photosdb):
"""test exif_info"""
for uuid in EXIF_DICT:
photo = photosdb.photos(uuid=[uuid], movies=True)[0]
assert photo.exif_info == EXIF_DICT[uuid]
def test_exif_info_v4():
"""test version 4, exif_info should be None"""
import osxphotos
photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB_4)
for photo in photosdb.photos():
assert photo.exif_info is None