def test_set_location(): if not can_edit_exif(): raise SkipTest('avmetareadwrite executable not found') temporary_folder, folder = helper.create_working_folder() origin = '%s/video.mov' % folder shutil.copyfile(helper.get_file('video.mov'), origin) video = Video(origin) origin_metadata = video.get_metadata() # Verify that original video has different location info that what we # will be setting and checking assert not helper.isclose(origin_metadata['latitude'], 11.1111111111), origin_metadata['latitude'] assert not helper.isclose(origin_metadata['longitude'], 99.9999999999), origin_metadata['longitude'] status = video.set_location(11.1111111111, 99.9999999999) assert status == True, status video_new = Video(origin) metadata = video_new.get_metadata() shutil.rmtree(folder) assert helper.isclose(metadata['latitude'], 11.1111111111), metadata['latitude'] assert helper.isclose(metadata['longitude'], 99.9999999999), metadata['longitude']
def _test_photo_type_set(type, date): temporary_folder, folder = helper.create_working_folder() photo_name = 'photo.{}'.format(type) photo_file = helper.get_file(photo_name) origin = '{}/{}'.format(folder, photo_name) if not photo_file: photo_file = helper.download_file(photo_name, folder) if not photo_file or not os.path.isfile(photo_file): raise SkipTest('{} file not downlaoded'.format(type)) shutil.copyfile(photo_file, origin) photo = Photo(origin) origin_metadata = photo.get_metadata() status = photo.set_location(11.1111111111, 99.9999999999) assert status == True, status photo_new = Photo(origin) metadata = photo_new.get_metadata() shutil.rmtree(folder) assert metadata['date_taken'] == helper.time_convert(date), '{} date {}'.format(type, metadata['date_taken']) assert helper.isclose(metadata['latitude'], 11.1111111111), '{} lat {}'.format(type, metadata['latitude']) assert helper.isclose(metadata['longitude'], 99.9999999999), '{} lon {}'.format(type, metadata['latitude'])
def test_set_location(): temporary_folder, folder = helper.create_working_folder() origin = '%s/photo.jpg' % folder shutil.copyfile(helper.get_file('plain.jpg'), origin) photo = Photo(origin) origin_metadata = photo.get_metadata() # Verify that original photo has different location info that what we # will be setting and checking assert not helper.isclose(origin_metadata['latitude'], 11.1111111111), origin_metadata['latitude'] assert not helper.isclose(origin_metadata['longitude'], 99.9999999999), origin_metadata['longitude'] status = photo.set_location(11.1111111111, 99.9999999999) assert status == True, status photo_new = Photo(origin) metadata = photo_new.get_metadata() shutil.rmtree(folder) assert helper.isclose(metadata['latitude'], 11.1111111111), metadata['latitude'] assert helper.isclose(metadata['longitude'], 99.9999999999), metadata['longitude']
def test_set_metadata_on_arw(): temporary_folder, folder = helper.create_working_folder() photo_file = helper.get_file('photo.arw') origin = '%s/photo.arw' % folder if not photo_file: photo_file = helper.download_file('photo.arw', folder) if not photo_file or not os.path.isfile(photo_file): raise SkipTest('arw file not downlaoded') shutil.copyfile(photo_file, origin) photo = Photo(origin) origin_metadata = photo.get_metadata() status = photo.set_location(11.1111111111, 99.9999999999) assert status == True, status photo_new = Photo(origin) metadata = photo_new.get_metadata() shutil.rmtree(folder) assert metadata['date_taken'] == helper.time_convert((2007, 4, 8, 17, 41, 18, 6, 98, 0)), metadata['date_taken'] assert helper.isclose(metadata['latitude'], 11.1111111111), metadata['latitude'] assert helper.isclose(metadata['longitude'], 99.9999999999), metadata['longitude']
def test_set_metadata_on_rw2(): raise SkipTest('gh-94 Writing to RW2 images is not supported') temporary_folder, folder = helper.create_working_folder() photo_file = helper.get_file('photo.rw2') origin = '%s/photo.rw2' % folder if not photo_file: photo_file = helper.download_file('photo.rw2', folder) if not photo_file or not os.path.isfile(photo_file): raise SkipTest('rw2 file not downlaoded') shutil.copyfile(photo_file, origin) photo = Photo(origin) origin_metadata = photo.get_metadata() status = photo.set_location(11.1111111111, 99.9999999999) assert status == True, status photo_new = Photo(origin) metadata = photo_new.get_metadata() shutil.rmtree(folder) assert metadata['date_taken'] == helper.time_convert((2014, 11, 19, 23, 7, 44, 2, 323, 0)), metadata['date_taken'] assert helper.isclose(metadata['latitude'], 11.1111111111), metadata['latitude'] assert helper.isclose(metadata['longitude'], 99.9999999999), metadata['longitude']
def _test_photo_type_set(type, date): temporary_folder, folder = helper.create_working_folder() photo_name = 'photo.{}'.format(type) photo_file = helper.get_file(photo_name) origin = '{}/{}'.format(folder, photo_name) if not photo_file: photo_file = helper.download_file(photo_name, folder) if not photo_file or not os.path.isfile(photo_file): raise SkipTest('{} file not downlaoded'.format(type)) shutil.copyfile(photo_file, origin) photo = Photo(origin) origin_metadata = photo.get_metadata() status = photo.set_location(11.1111111111, 99.9999999999) assert status == True, status photo_new = Photo(origin) metadata = photo_new.get_metadata() shutil.rmtree(folder) assert metadata['date_taken'] == helper.time_convert( date), '{} date {}'.format(type, metadata['date_taken']) assert helper.isclose(metadata['latitude'], 11.1111111111), '{} lat {}'.format( type, metadata['latitude']) assert helper.isclose(metadata['longitude'], 99.9999999999), '{} lon {}'.format( type, metadata['latitude'])
def test_update_location_on_video(): temporary_folder, folder = helper.create_working_folder() temporary_folder_destination, folder_destination = helper.create_working_folder( ) origin = '%s/video.mov' % folder shutil.copyfile(helper.get_file('video.mov'), origin) video = Video(origin) metadata = video.get_metadata() helper.reset_dbs() status = elodie.update_location(video, origin, 'Sunnyvale, CA') helper.restore_dbs() video_processed = Video(origin) metadata_processed = video_processed.get_metadata() shutil.rmtree(folder) shutil.rmtree(folder_destination) assert status == True, status assert metadata['latitude'] != metadata_processed['latitude'] assert helper.isclose(metadata_processed['latitude'], 37.36883), metadata_processed['latitude'] assert helper.isclose(metadata_processed['longitude'], -122.03635), metadata_processed['longitude']
def test_get_coordinates_with_zero_coordinate(): photo = Photo(helper.get_file('with-location-zero-coordinate.jpg')) latitude = photo.get_coordinate('latitude') longitude = photo.get_coordinate('longitude') assert helper.isclose(latitude, 51.55325), latitude assert helper.isclose(longitude, -0.00417777777778), longitude
def test_set_location_minus(): temporary_folder, folder = helper.create_working_folder() origin = '%s/photo.jpg' % folder shutil.copyfile(helper.get_file('plain.jpg'), origin) photo = Photo(origin) origin_metadata = photo.get_metadata() # Verify that original photo has different location info that what we # will be setting and checking assert not helper.isclose(origin_metadata['latitude'], 11.1111111111), origin_metadata['latitude'] assert not helper.isclose(origin_metadata['longitude'], 99.9999999999), origin_metadata['longitude'] status = photo.set_location(-11.1111111111, -99.9999999999) assert status == True, status photo_new = Photo(origin) metadata = photo_new.get_metadata() shutil.rmtree(folder) assert helper.isclose(metadata['latitude'], -11.1111111111), metadata['latitude'] assert helper.isclose(metadata['longitude'], -99.9999999999), metadata['longitude']
def test_set_location_without_header(): temporary_folder, folder = helper.create_working_folder() origin = '%s/text.txt' % folder shutil.copyfile(helper.get_file('valid-without-header.txt'), origin) text = Text(origin) origin_metadata = text.get_metadata() with open(origin, 'r') as f: contents = f.read() # Verify that original photo has different location info that what we # will be setting and checking assert not helper.isclose(origin_metadata['latitude'], 11.1111111111), origin_metadata['latitude'] assert not helper.isclose(origin_metadata['longitude'], 99.9999999999), origin_metadata['longitude'] status = text.set_location(11.1111111111, 99.9999999999) assert status == True, status text_new = Text(origin) metadata = text_new.get_metadata() with open(origin, 'r') as f: f.readline() contents_new = f.read() assert contents == contents_new, contents_new shutil.rmtree(folder) assert helper.isclose(metadata['latitude'], 11.1111111111), metadata['latitude']
def test_set_location(): temporary_folder, folder = helper.create_working_folder() origin = '%s/audio.m4a' % folder shutil.copyfile(helper.get_file('audio.m4a'), origin) audio = Audio(origin) origin_metadata = audio.get_metadata() # Verify that original audio has different location info that what we # will be setting and checking assert not helper.isclose(origin_metadata['latitude'], 11.1111111111), origin_metadata['latitude'] assert not helper.isclose(origin_metadata['longitude'], 99.9999999999), origin_metadata['longitude'] status = audio.set_location(11.1111111111, 99.9999999999) assert status == True, status audio_new = Audio(origin) metadata = audio_new.get_metadata() shutil.rmtree(folder) assert helper.isclose(metadata['latitude'], 11.1111111111), metadata['latitude'] assert helper.isclose(metadata['longitude'], 99.9999999999), metadata['longitude']
def test_set_location_minus(): temporary_folder, folder = helper.create_working_folder() origin = '%s/audio.m4a' % folder shutil.copyfile(helper.get_file('audio.m4a'), origin) audio = Audio(origin) origin_metadata = audio.get_metadata() # Verify that original audio has different location info that what we # will be setting and checking assert not helper.isclose(origin_metadata['latitude'], 11.111111), origin_metadata['latitude'] assert not helper.isclose(origin_metadata['longitude'], 99.999999), origin_metadata['longitude'] status = audio.set_location(-11.111111, -99.999999) assert status == True, status audio_new = Audio(origin) metadata = audio_new.get_metadata() shutil.rmtree(folder) assert helper.isclose(metadata['latitude'], -11.111111), metadata['latitude'] assert helper.isclose(metadata['longitude'], -99.999999), metadata['longitude']
def test_update_location_on_video(): temporary_folder, folder = helper.create_working_folder() temporary_folder_destination, folder_destination = helper.create_working_folder() origin = "%s/video.mov" % folder shutil.copyfile(helper.get_file("video.mov"), origin) video = Video(origin) metadata = video.get_metadata() reset_hash_db() status = elodie.update_location(video, origin, "Sunnyvale, CA") restore_hash_db() video_processed = Video(origin) metadata_processed = video_processed.get_metadata() shutil.rmtree(folder) shutil.rmtree(folder_destination) assert status == True, status assert metadata["latitude"] != metadata_processed["latitude"] assert helper.isclose(metadata_processed["latitude"], 37.36883), metadata_processed["latitude"] assert helper.isclose(metadata_processed["longitude"], -122.03635), metadata_processed["longitude"]
def test_get_coordinate_latitude_minus(): photo = Photo(helper.get_file('with-location-inv.jpg')) coordinate = photo.get_coordinate('latitude') assert helper.isclose(coordinate,-37.3667027222), coordinate
def test_get_coordinate_longitude_plus(): photo = Photo(helper.get_file('with-location-inv.jpg')) coordinate = photo.get_coordinate('longitude') assert helper.isclose(coordinate,122.033383611), coordinate
def test_get_coordinate_default(): photo = Photo(helper.get_file('with-location.jpg')) coordinate = photo.get_coordinate() assert helper.isclose(coordinate,37.3667027222), coordinate
def test_get_coordinate_latitude(): audio = Audio(helper.get_file('audio.m4a')) coordinate = audio.get_coordinate('latitude') assert helper.isclose(coordinate, 29.758938), coordinate
def test_get_coordinate_longitude(): audio = Audio(helper.get_file('audio.m4a')) coordinate = audio.get_coordinate('longitude') assert helper.isclose(coordinate, -95.3677), coordinate