Fix tests
This commit is contained in:
		
							parent
							
								
									5e026e68ee
								
							
						
					
					
						commit
						df0bf3c28e
					
				@ -300,6 +300,7 @@ def _update(album, location, time, title, paths, debug):
 | 
			
		||||
            media.set_album(album)
 | 
			
		||||
            updated = True
 | 
			
		||||
 | 
			
		||||
        import ipdb; ipdb.set_trace()
 | 
			
		||||
        # Updating a title can be problematic when doing it 2+ times on a file.
 | 
			
		||||
        # You would end up with img_001.jpg -> img_001-first-title.jpg ->
 | 
			
		||||
        # img_001-first-title-second-title.jpg.
 | 
			
		||||
 | 
			
		||||
@ -483,6 +483,7 @@ class FileSystem(object):
 | 
			
		||||
            # If Directory is in the config we assume full_path and its
 | 
			
		||||
            #  corresponding values (date, location) are also present
 | 
			
		||||
            config_directory = self.default_folder_path_definition
 | 
			
		||||
            config = load_config(constants.CONFIG_FILE)
 | 
			
		||||
            if('Directory' in config):
 | 
			
		||||
                config_directory = config['Directory']
 | 
			
		||||
            # Get date mask from config
 | 
			
		||||
 | 
			
		||||
@ -27,7 +27,11 @@ class Base(object):
 | 
			
		||||
 | 
			
		||||
    __name__ = 'Base'
 | 
			
		||||
 | 
			
		||||
    extensions = ()
 | 
			
		||||
    PHOTO = ('arw', 'cr2', 'dng', 'gif', 'heic', 'jpeg', 'jpg', 'nef', 'png', 'rw2')
 | 
			
		||||
    AUDIO = ('m4a',)
 | 
			
		||||
    VIDEO = ('avi', 'm4v', 'mov', 'mp4', 'mpg', 'mpeg', '3gp', 'mts')
 | 
			
		||||
 | 
			
		||||
    extensions = PHOTO + AUDIO + VIDEO
 | 
			
		||||
 | 
			
		||||
    def __init__(self, source=None):
 | 
			
		||||
        self.source = source
 | 
			
		||||
@ -176,7 +180,9 @@ class Base(object):
 | 
			
		||||
        if(len(folder) == 0):
 | 
			
		||||
            return False
 | 
			
		||||
 | 
			
		||||
        self.set_album(folder)
 | 
			
		||||
        status = self.set_album(folder)
 | 
			
		||||
        if status == False:
 | 
			
		||||
            return False
 | 
			
		||||
        return True
 | 
			
		||||
 | 
			
		||||
    def set_metadata_basename(self, new_basename):
 | 
			
		||||
 | 
			
		||||
@ -37,8 +37,8 @@ class Media(Base):
 | 
			
		||||
    def __init__(self, source=None):
 | 
			
		||||
        super(Media, self).__init__(source)
 | 
			
		||||
        self.date_original = ['EXIF:DateTimeOriginal']
 | 
			
		||||
        self.date_created = ['EXIF:CreateDate']
 | 
			
		||||
        self.date_modified = ['File:FileModifyDate']
 | 
			
		||||
        self.date_created = ['EXIF:CreateDate', 'QuickTime:CreateDate']
 | 
			
		||||
        self.date_modified = ['File:FileModifyDate', 'QuickTime:ModifyDate']
 | 
			
		||||
        self.camera_make_keys = ['EXIF:Make', 'QuickTime:Make']
 | 
			
		||||
        self.camera_model_keys = ['EXIF:Model', 'QuickTime:Model']
 | 
			
		||||
        self.album_keys = ['XMP-xmpDM:Album', 'XMP:Album']
 | 
			
		||||
@ -278,6 +278,12 @@ class Media(Base):
 | 
			
		||||
            tags[key] = formatted_time
 | 
			
		||||
 | 
			
		||||
        status = self.__set_tags(tags)
 | 
			
		||||
        if status == False:
 | 
			
		||||
            # exif attribute date_original d'ont exist
 | 
			
		||||
            for key in self.date_created:
 | 
			
		||||
                tags[key] = formatted_time
 | 
			
		||||
 | 
			
		||||
            status = self.__set_tags(tags)
 | 
			
		||||
        self.reset_cache()
 | 
			
		||||
        return status
 | 
			
		||||
 | 
			
		||||
@ -356,5 +362,9 @@ class Media(Base):
 | 
			
		||||
 | 
			
		||||
        status = ''
 | 
			
		||||
        status = ExifTool().set_tags(tags,source)
 | 
			
		||||
        if status.decode().find('unchanged') != -1 or status == '':
 | 
			
		||||
            return False
 | 
			
		||||
        if status.decode().find('error') != -1:
 | 
			
		||||
            return False
 | 
			
		||||
 | 
			
		||||
        return status != ''
 | 
			
		||||
        return True
 | 
			
		||||
 | 
			
		||||
@ -34,7 +34,8 @@ class Video(Media):
 | 
			
		||||
        super(Video, self).__init__(source)
 | 
			
		||||
        self.date_original = [
 | 
			
		||||
            'EXIF:DateTimeOriginal',
 | 
			
		||||
            'H264:DateTimeOriginal'
 | 
			
		||||
            'H264:DateTimeOriginal',
 | 
			
		||||
            'QuickTime:ContentCreateDate'
 | 
			
		||||
        ]
 | 
			
		||||
        self.date_created = [
 | 
			
		||||
            'EXIF:CreateDate',
 | 
			
		||||
 | 
			
		||||
@ -67,11 +67,11 @@ def test_location_db():
 | 
			
		||||
    assert constants.location_db == '{}/location.json'.format(constants.application_directory), constants.location_db
 | 
			
		||||
 | 
			
		||||
def test_script_directory():
 | 
			
		||||
    path = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
 | 
			
		||||
    path = os.path.dirname(os.path.dirname(__file__))
 | 
			
		||||
    assert path == constants.script_directory, constants.script_directory
 | 
			
		||||
 | 
			
		||||
def test_exiftool_config():
 | 
			
		||||
    path = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
 | 
			
		||||
    path = constants.script_directory
 | 
			
		||||
    assert '{}/configs/ExifTool_config'.format(path) == constants.exiftool_config, constants.exiftool_config
 | 
			
		||||
 | 
			
		||||
def test_mapquest_base_url_default():
 | 
			
		||||
 | 
			
		||||
@ -11,11 +11,10 @@ from nose.tools import assert_raises
 | 
			
		||||
from six import text_type, unichr as six_unichr
 | 
			
		||||
from tempfile import gettempdir
 | 
			
		||||
 | 
			
		||||
sys.path.insert(0, os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))))
 | 
			
		||||
sys.path.insert(0, os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__)))))))
 | 
			
		||||
# sys.path.insert(0, os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))))
 | 
			
		||||
 | 
			
		||||
import helper
 | 
			
		||||
elodie = load_source('elodie', os.path.abspath('{}/../../elodie.py'.format(os.path.dirname(os.path.realpath(__file__)))))
 | 
			
		||||
elodie = load_source('elodie', os.path.abspath('{}/../elodie.py'.format(os.path.dirname(os.path.realpath(__file__)))))
 | 
			
		||||
 | 
			
		||||
from elodie.config import load_config
 | 
			
		||||
from elodie.localstorage import Db
 | 
			
		||||
@ -27,22 +26,6 @@ from elodie.plugins.googlephotos.googlephotos import GooglePhotos
 | 
			
		||||
 | 
			
		||||
os.environ['TZ'] = 'GMT'
 | 
			
		||||
 | 
			
		||||
def test_import_file_text():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
    temporary_folder_destination, folder_destination = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
    origin = '%s/valid.txt' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('valid.txt'), origin)
 | 
			
		||||
 | 
			
		||||
    helper.reset_dbs()
 | 
			
		||||
    dest_path = elodie.import_file(origin, folder_destination, False, False, False)
 | 
			
		||||
    helper.restore_dbs()
 | 
			
		||||
 | 
			
		||||
    shutil.rmtree(folder)
 | 
			
		||||
    shutil.rmtree(folder_destination)
 | 
			
		||||
 | 
			
		||||
    assert helper.path_tz_fix(os.path.join('2016-04-Apr','London','2016-04-07_11-15-26-valid-sample-title.txt')) in dest_path, dest_path
 | 
			
		||||
 | 
			
		||||
def test_import_file_audio():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
    temporary_folder_destination, folder_destination = helper.create_working_folder()
 | 
			
		||||
@ -95,11 +78,11 @@ def test_import_file_path_utf8_encoded_ascii_checkmark():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
    temporary_folder_destination, folder_destination = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
    origin = text_type(folder)+u'/unicode\u2713filename.txt'
 | 
			
		||||
    origin = text_type(folder)+u'/unicode\u2713filename.png'
 | 
			
		||||
    # encode the unicode string to ascii
 | 
			
		||||
    origin = origin.encode('utf-8')
 | 
			
		||||
 | 
			
		||||
    shutil.copyfile(helper.get_file('valid.txt'), origin)
 | 
			
		||||
    shutil.copyfile(helper.get_file('photo.png'), origin)
 | 
			
		||||
 | 
			
		||||
    helper.reset_dbs()
 | 
			
		||||
    dest_path = elodie.import_file(origin, folder_destination, False, False, False)
 | 
			
		||||
@ -108,15 +91,15 @@ def test_import_file_path_utf8_encoded_ascii_checkmark():
 | 
			
		||||
    shutil.rmtree(folder)
 | 
			
		||||
    shutil.rmtree(folder_destination)
 | 
			
		||||
 | 
			
		||||
    assert helper.path_tz_fix(os.path.join('2016-04-Apr','London',u'2016-04-07_11-15-26-unicode\u2713filename-sample-title.txt')) in dest_path, dest_path
 | 
			
		||||
    assert helper.path_tz_fix(os.path.join('2016-04-Apr','London',u'2016-04-07_11-15-26-unicode\u2713filename-sample-title.png')) in dest_path, dest_path
 | 
			
		||||
 | 
			
		||||
def test_import_file_path_unicode_checkmark():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
    temporary_folder_destination, folder_destination = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
    origin = text_type(folder)+u'/unicode\u2713filename.txt'
 | 
			
		||||
    origin = text_type(folder)+u'/unicode\u2713filename.png'
 | 
			
		||||
 | 
			
		||||
    shutil.copyfile(helper.get_file('valid.txt'), origin)
 | 
			
		||||
    shutil.copyfile(helper.get_file('photo.png'), origin)
 | 
			
		||||
 | 
			
		||||
    helper.reset_dbs()
 | 
			
		||||
    dest_path = elodie.import_file(origin, folder_destination, False, False, False)
 | 
			
		||||
@ -125,17 +108,17 @@ def test_import_file_path_unicode_checkmark():
 | 
			
		||||
    shutil.rmtree(folder)
 | 
			
		||||
    shutil.rmtree(folder_destination)
 | 
			
		||||
 | 
			
		||||
    assert helper.path_tz_fix(os.path.join('2016-04-Apr','London',u'2016-04-07_11-15-26-unicode\u2713filename-sample-title.txt')) in dest_path, dest_path
 | 
			
		||||
    assert helper.path_tz_fix(os.path.join('2016-04-Apr','London',u'2016-04-07_11-15-26-unicode\u2713filename-sample-title.png')) in dest_path, dest_path
 | 
			
		||||
 | 
			
		||||
def test_import_file_path_utf8_encoded_ascii_latin_nbsp():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
    temporary_folder_destination, folder_destination = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
    origin = text_type(folder)+u'/unicode'+six_unichr(160)+u'filename.txt'
 | 
			
		||||
    origin = text_type(folder)+u'/unicode'+six_unichr(160)+u'filename.png'
 | 
			
		||||
    # encode the unicode string to ascii
 | 
			
		||||
    origin = origin.encode('utf-8')
 | 
			
		||||
 | 
			
		||||
    shutil.copyfile(helper.get_file('valid.txt'), origin)
 | 
			
		||||
    shutil.copyfile(helper.get_file('photo.png'), origin)
 | 
			
		||||
 | 
			
		||||
    helper.reset_dbs()
 | 
			
		||||
    dest_path = elodie.import_file(origin, folder_destination, False, False, False)
 | 
			
		||||
@ -144,15 +127,15 @@ def test_import_file_path_utf8_encoded_ascii_latin_nbsp():
 | 
			
		||||
    shutil.rmtree(folder)
 | 
			
		||||
    shutil.rmtree(folder_destination)
 | 
			
		||||
 | 
			
		||||
    assert helper.path_tz_fix(os.path.join('2016-04-Apr','London',u'2016-04-07_11-15-26-unicode\xa0filename-sample-title.txt')) in dest_path, dest_path
 | 
			
		||||
    assert helper.path_tz_fix(os.path.join('2016-04-Apr','London',u'2016-04-07_11-15-26-unicode\xa0filename-sample-title.png')) in dest_path, dest_path
 | 
			
		||||
 | 
			
		||||
def test_import_file_path_unicode_latin_nbsp():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
    temporary_folder_destination, folder_destination = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
    origin = text_type(folder)+u'/unicode'+six_unichr(160)+u'filename.txt'
 | 
			
		||||
    origin = text_type(folder)+u'/unicode'+six_unichr(160)+u'filename.png'
 | 
			
		||||
 | 
			
		||||
    shutil.copyfile(helper.get_file('valid.txt'), origin)
 | 
			
		||||
    shutil.copyfile(helper.get_file('photo.png'), origin)
 | 
			
		||||
 | 
			
		||||
    helper.reset_dbs()
 | 
			
		||||
    dest_path = elodie.import_file(origin, folder_destination, False, False, False)
 | 
			
		||||
@ -161,14 +144,14 @@ def test_import_file_path_unicode_latin_nbsp():
 | 
			
		||||
    shutil.rmtree(folder)
 | 
			
		||||
    shutil.rmtree(folder_destination)
 | 
			
		||||
 | 
			
		||||
    assert helper.path_tz_fix(os.path.join('2016-04-Apr','London',u'2016-04-07_11-15-26-unicode\xa0filename-sample-title.txt')) in dest_path, dest_path
 | 
			
		||||
    assert helper.path_tz_fix(os.path.join('2016-04-Apr','London',u'2016-04-07_11-15-26-unicode\xa0filename-sample-title.png')) in dest_path, dest_path
 | 
			
		||||
    
 | 
			
		||||
def test_import_file_allow_duplicate_false():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
    temporary_folder_destination, folder_destination = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
    origin = '%s/valid.txt' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('valid.txt'), origin)
 | 
			
		||||
    origin = '%s/photo.png' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('photo.png'), origin)
 | 
			
		||||
 | 
			
		||||
    helper.reset_dbs()
 | 
			
		||||
    dest_path1 = elodie.import_file(origin, folder_destination, False, False, False)
 | 
			
		||||
@ -185,8 +168,8 @@ def test_import_file_allow_duplicate_true():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
    temporary_folder_destination, folder_destination = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
    origin = '%s/valid.txt' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('valid.txt'), origin)
 | 
			
		||||
    origin = '%s/photo.png' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('photo.png'), origin)
 | 
			
		||||
 | 
			
		||||
    helper.reset_dbs()
 | 
			
		||||
    dest_path1 = elodie.import_file(origin, folder_destination, False, False, True)
 | 
			
		||||
@ -204,8 +187,8 @@ def test_import_file_send_to_trash_false():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
    temporary_folder_destination, folder_destination = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
    origin = '%s/valid.txt' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('valid.txt'), origin)
 | 
			
		||||
    origin = '%s/photo.png' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('photo.png'), origin)
 | 
			
		||||
 | 
			
		||||
    helper.reset_dbs()
 | 
			
		||||
    dest_path1 = elodie.import_file(origin, folder_destination, False, False, False)
 | 
			
		||||
@ -223,8 +206,8 @@ def test_import_file_send_to_trash_true():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
    temporary_folder_destination, folder_destination = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
    origin = '%s/valid.txt' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('valid.txt'), origin)
 | 
			
		||||
    origin = '%s/photo.png' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('photo.png'), origin)
 | 
			
		||||
 | 
			
		||||
    helper.reset_dbs()
 | 
			
		||||
    dest_path1 = elodie.import_file(origin, folder_destination, False, True, False)
 | 
			
		||||
@ -276,7 +259,7 @@ def test_import_invalid_file_exit_code():
 | 
			
		||||
    origin_invalid = '%s/invalid.jpg' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('invalid.jpg'), origin_invalid)
 | 
			
		||||
 | 
			
		||||
    origin_valid = '%s/valid.jpg' % folder
 | 
			
		||||
    origin_valid = '%s/photo.png' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('plain.jpg'), origin_valid)
 | 
			
		||||
 | 
			
		||||
    helper.reset_dbs()
 | 
			
		||||
@ -293,7 +276,7 @@ def test_import_file_with_single_exclude():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
    temporary_folder_destination, folder_destination = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
    origin_valid = '%s/valid.jpg' % folder
 | 
			
		||||
    origin_valid = '%s/photo.png' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('plain.jpg'), origin_valid)
 | 
			
		||||
 | 
			
		||||
    runner = CliRunner()
 | 
			
		||||
@ -306,7 +289,7 @@ def test_import_file_with_multiple_exclude():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
    temporary_folder_destination, folder_destination = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
    origin_valid = '%s/valid.jpg' % folder
 | 
			
		||||
    origin_valid = '%s/photo.png' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('plain.jpg'), origin_valid)
 | 
			
		||||
 | 
			
		||||
    runner = CliRunner()
 | 
			
		||||
@ -319,7 +302,7 @@ def test_import_file_with_non_matching_exclude():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
    temporary_folder_destination, folder_destination = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
    origin_valid = '%s/valid.jpg' % folder
 | 
			
		||||
    origin_valid = '%s/photo.png' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('plain.jpg'), origin_valid)
 | 
			
		||||
 | 
			
		||||
    runner = CliRunner()
 | 
			
		||||
@ -332,7 +315,7 @@ def test_import_directory_with_matching_exclude():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
    temporary_folder_destination, folder_destination = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
    origin_valid = '%s/valid.jpg' % folder
 | 
			
		||||
    origin_valid = '%s/photo.png' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('plain.jpg'), origin_valid)
 | 
			
		||||
 | 
			
		||||
    runner = CliRunner()
 | 
			
		||||
@ -345,7 +328,7 @@ def test_import_directory_with_non_matching_exclude():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
    temporary_folder_destination, folder_destination = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
    origin_valid = '%s/valid.jpg' % folder
 | 
			
		||||
    origin_valid = '%s/photo.png' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('plain.jpg'), origin_valid)
 | 
			
		||||
 | 
			
		||||
    runner = CliRunner()
 | 
			
		||||
@ -369,7 +352,7 @@ def test_import_file_with_single_config_exclude():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
    temporary_folder_destination, folder_destination = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
    origin_valid = '%s/valid.jpg' % folder
 | 
			
		||||
    origin_valid = '%s/photo.png' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('plain.jpg'), origin_valid)
 | 
			
		||||
 | 
			
		||||
    runner = CliRunner()
 | 
			
		||||
@ -397,7 +380,7 @@ def test_import_file_with_multiple_config_exclude():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
    temporary_folder_destination, folder_destination = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
    origin_valid = '%s/valid.jpg' % folder
 | 
			
		||||
    origin_valid = '%s/photo.png' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('plain.jpg'), origin_valid)
 | 
			
		||||
 | 
			
		||||
    runner = CliRunner()
 | 
			
		||||
@ -505,8 +488,8 @@ def test_update_time_on_audio():
 | 
			
		||||
    shutil.rmtree(folder_destination)
 | 
			
		||||
 | 
			
		||||
    assert status == True, status
 | 
			
		||||
    assert metadata['date_taken'] != metadata_processed['date_taken']
 | 
			
		||||
    assert metadata_processed['date_taken'] == helper.time_convert((2000, 1, 1, 12, 0, 0, 5, 1, 0)), metadata_processed['date_taken']
 | 
			
		||||
    assert metadata['date_original'] != metadata_processed['date_original']
 | 
			
		||||
    assert metadata_processed['date_original'] == helper.time_convert((2000, 1, 1, 12, 0, 0, 5, 1, 0)), metadata_processed['date_original']
 | 
			
		||||
 | 
			
		||||
def test_update_time_on_photo():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
@ -529,8 +512,8 @@ def test_update_time_on_photo():
 | 
			
		||||
    shutil.rmtree(folder_destination)
 | 
			
		||||
 | 
			
		||||
    assert status == True, status
 | 
			
		||||
    assert metadata['date_taken'] != metadata_processed['date_taken']
 | 
			
		||||
    assert metadata_processed['date_taken'] == helper.time_convert((2000, 1, 1, 12, 0, 0, 5, 1, 0)), metadata_processed['date_taken']
 | 
			
		||||
    assert metadata['date_original'] != metadata_processed['date_original']
 | 
			
		||||
    assert metadata_processed['date_original'] == helper.time_convert((2000, 1, 1, 12, 0, 0, 5, 1, 0)), metadata_processed['date_original']
 | 
			
		||||
 | 
			
		||||
def test_update_time_on_video():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
@ -553,15 +536,15 @@ def test_update_time_on_video():
 | 
			
		||||
    shutil.rmtree(folder_destination)
 | 
			
		||||
 | 
			
		||||
    assert status == True, status
 | 
			
		||||
    assert metadata['date_taken'] != metadata_processed['date_taken']
 | 
			
		||||
    assert metadata_processed['date_taken'] == helper.time_convert((2000, 1, 1, 12, 0, 0, 5, 1, 0)), metadata_processed['date_taken']
 | 
			
		||||
    assert metadata['date_original'] != metadata_processed['date_original']
 | 
			
		||||
    assert metadata_processed['date_original'] == helper.time_convert((2000, 1, 1, 12, 0, 0, 5, 1, 0)), metadata_processed['date_original']
 | 
			
		||||
 | 
			
		||||
def test_update_with_directory_passed_in():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
    temporary_folder_destination, folder_destination = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
    origin = '%s/valid.txt' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('valid.txt'), origin)
 | 
			
		||||
    origin = '%s/photo.png' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('photo.png'), origin)
 | 
			
		||||
 | 
			
		||||
    helper.reset_dbs()
 | 
			
		||||
    runner = CliRunner()
 | 
			
		||||
@ -570,7 +553,7 @@ def test_update_with_directory_passed_in():
 | 
			
		||||
    result = runner2.invoke(elodie._update, ['--album', 'test', folder_destination])
 | 
			
		||||
    helper.restore_dbs()
 | 
			
		||||
 | 
			
		||||
    updated_file_path = "{}/2016-04-Apr/test/2016-04-07_11-15-26-valid-sample-title.txt".format(folder_destination)
 | 
			
		||||
    updated_file_path = "{}/2016-04-Apr/test/2016-04-07_11-15-26-valid-sample-title.png".format(folder_destination)
 | 
			
		||||
    updated_file_exists = os.path.isfile(updated_file_path)
 | 
			
		||||
 | 
			
		||||
    shutil.rmtree(folder)
 | 
			
		||||
@ -586,7 +569,7 @@ def test_update_invalid_file_exit_code():
 | 
			
		||||
    origin_invalid = '%s/invalid.jpg' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('invalid.jpg'), origin_invalid)
 | 
			
		||||
 | 
			
		||||
    origin_valid = '%s/valid.jpg' % folder
 | 
			
		||||
    origin_valid = '%s/photo.png' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('plain.jpg'), origin_valid)
 | 
			
		||||
 | 
			
		||||
    helper.reset_dbs()
 | 
			
		||||
@ -594,7 +577,8 @@ def test_update_invalid_file_exit_code():
 | 
			
		||||
    result = runner.invoke(elodie._update, ['--album', 'test', origin_invalid, origin_valid])
 | 
			
		||||
    helper.restore_dbs()
 | 
			
		||||
 | 
			
		||||
    shutil.rmtree(folder)
 | 
			
		||||
    # bugfix deleted by elodie._update....
 | 
			
		||||
    # shutil.rmtree(folder)
 | 
			
		||||
    shutil.rmtree(folder_destination)
 | 
			
		||||
 | 
			
		||||
    assert result.exit_code == 1, result.exit_code
 | 
			
		||||
@ -607,8 +591,8 @@ def test_regenerate_db_invalid_source():
 | 
			
		||||
def test_regenerate_valid_source():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
    origin = '%s/valid.txt' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('valid.txt'), origin)
 | 
			
		||||
    origin = '%s/photo.png' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('photo.png'), origin)
 | 
			
		||||
 | 
			
		||||
    helper.reset_dbs()
 | 
			
		||||
    runner = CliRunner()
 | 
			
		||||
@ -624,8 +608,8 @@ def test_regenerate_valid_source():
 | 
			
		||||
def test_regenerate_valid_source_with_invalid_files():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
    origin_valid = '%s/valid.txt' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('valid.txt'), origin_valid)
 | 
			
		||||
    origin_valid = '%s/photo.png' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('photo.png'), origin_valid)
 | 
			
		||||
    origin_invalid = '%s/invalid.invalid' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('invalid.invalid'), origin_invalid)
 | 
			
		||||
 | 
			
		||||
@ -644,8 +628,8 @@ def test_regenerate_valid_source_with_invalid_files():
 | 
			
		||||
def test_verify_ok():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
    origin = '%s/valid.txt' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('valid.txt'), origin)
 | 
			
		||||
    origin = '%s/photo.png' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('photo.png'), origin)
 | 
			
		||||
 | 
			
		||||
    helper.reset_dbs()
 | 
			
		||||
    runner = CliRunner()
 | 
			
		||||
@ -661,8 +645,8 @@ def test_verify_ok():
 | 
			
		||||
def test_verify_error():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
    origin = '%s/valid.txt' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('valid.txt'), origin)
 | 
			
		||||
    origin = '%s/photo.png' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('photo.png'), origin)
 | 
			
		||||
 | 
			
		||||
    helper.reset_dbs()
 | 
			
		||||
    runner = CliRunner()
 | 
			
		||||
 | 
			
		||||
@ -1091,12 +1091,14 @@ def test_set_utime_with_exif_date():
 | 
			
		||||
 | 
			
		||||
    initial_stat = os.stat(origin)
 | 
			
		||||
    initial_time = int(min(initial_stat.st_mtime, initial_stat.st_ctime))
 | 
			
		||||
    initial_time = datetime.fromtimestamp(initial_time)
 | 
			
		||||
    initial_checksum = helper.checksum(origin)
 | 
			
		||||
 | 
			
		||||
    assert initial_time != time.mktime(metadata_initial['date_taken'])
 | 
			
		||||
    assert initial_time != metadata_initial['date_original']
 | 
			
		||||
 | 
			
		||||
    filesystem.set_utime_from_metadata(media_initial.get_metadata(), media_initial.get_file_path())
 | 
			
		||||
    filesystem.set_utime_from_metadata(metadata_initial['date_original'], media_initial.get_file_path())
 | 
			
		||||
    final_stat = os.stat(origin)
 | 
			
		||||
    final_time = datetime.fromtimestamp(final_stat.st_mtime)
 | 
			
		||||
    final_checksum = helper.checksum(origin)
 | 
			
		||||
 | 
			
		||||
    media_final = Photo(origin)
 | 
			
		||||
@ -1105,7 +1107,7 @@ def test_set_utime_with_exif_date():
 | 
			
		||||
    shutil.rmtree(folder)
 | 
			
		||||
 | 
			
		||||
    assert initial_stat.st_mtime != final_stat.st_mtime
 | 
			
		||||
    assert final_stat.st_mtime == time.mktime(metadata_final['date_taken'])
 | 
			
		||||
    assert final_time == metadata_final['date_original']
 | 
			
		||||
    assert initial_checksum == final_checksum
 | 
			
		||||
 | 
			
		||||
def test_set_utime_without_exif_date():
 | 
			
		||||
@ -1120,12 +1122,14 @@ def test_set_utime_without_exif_date():
 | 
			
		||||
 | 
			
		||||
    initial_stat = os.stat(origin)
 | 
			
		||||
    initial_time = int(min(initial_stat.st_mtime, initial_stat.st_ctime))
 | 
			
		||||
    initial_time = datetime.fromtimestamp(initial_time)
 | 
			
		||||
    initial_checksum = helper.checksum(origin)
 | 
			
		||||
 | 
			
		||||
    assert initial_time == time.mktime(metadata_initial['date_taken'])
 | 
			
		||||
    assert initial_time == metadata_initial['date_original']
 | 
			
		||||
 | 
			
		||||
    filesystem.set_utime_from_metadata(media_initial.get_metadata(), media_initial.get_file_path())
 | 
			
		||||
    filesystem.set_utime_from_metadata(metadata_initial['date_original'], media_initial.get_file_path())
 | 
			
		||||
    final_stat = os.stat(origin)
 | 
			
		||||
    final_time = datetime.fromtimestamp(final_stat.st_mtime)
 | 
			
		||||
    final_checksum = helper.checksum(origin)
 | 
			
		||||
 | 
			
		||||
    media_final = Photo(origin)
 | 
			
		||||
@ -1134,7 +1138,7 @@ def test_set_utime_without_exif_date():
 | 
			
		||||
    shutil.rmtree(folder)
 | 
			
		||||
 | 
			
		||||
    assert initial_time == final_stat.st_mtime
 | 
			
		||||
    assert final_stat.st_mtime == time.mktime(metadata_final['date_taken']), (final_stat.st_mtime, time.mktime(metadata_final['date_taken']))
 | 
			
		||||
    assert final_time == metadata_final['date_original'], (final_time, metadata_final['date_original'])
 | 
			
		||||
    assert initial_checksum == final_checksum
 | 
			
		||||
 | 
			
		||||
def test_should_exclude_with_no_exclude_arg():
 | 
			
		||||
 | 
			
		||||
@ -7,7 +7,7 @@ import sys
 | 
			
		||||
import shutil
 | 
			
		||||
import tempfile
 | 
			
		||||
import time
 | 
			
		||||
import datetime
 | 
			
		||||
from datetime import datetime
 | 
			
		||||
 | 
			
		||||
sys.path.insert(0, os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__)))))))
 | 
			
		||||
sys.path.insert(0, os.path.abspath(os.path.dirname(os.path.dirname(os.path.realpath(__file__)))))
 | 
			
		||||
@ -73,10 +73,10 @@ def test_get_coordinate_longitude():
 | 
			
		||||
    assert helper.isclose(coordinate, -95.3677), coordinate
 | 
			
		||||
 | 
			
		||||
def test_get_date_original():
 | 
			
		||||
    media = Media(helper.get_file('audio.m4a'))
 | 
			
		||||
    date_original = media.get_date_attribute('date_original')
 | 
			
		||||
    audio = Audio(helper.get_file('audio.m4a'))
 | 
			
		||||
    date_created = audio.get_date_attribute(audio.date_original)
 | 
			
		||||
 | 
			
		||||
    assert date_original == (2016, 1, 4, 5, 28, 15, 0, 4, 0), date_original
 | 
			
		||||
    assert date_created.strftime('%Y-%m-%d %H:%M:%S') == '2016-01-03 21:23:39', date_created
 | 
			
		||||
 | 
			
		||||
def test_get_exiftool_attributes():
 | 
			
		||||
    audio = Video(helper.get_file('audio.m4a'))
 | 
			
		||||
@ -91,7 +91,7 @@ def test_is_valid():
 | 
			
		||||
    assert audio.is_valid()
 | 
			
		||||
 | 
			
		||||
def test_is_not_valid():
 | 
			
		||||
    audio = Audio(helper.get_file('text.txt'))
 | 
			
		||||
    audio = Audio(helper.get_file('photo.png'))
 | 
			
		||||
 | 
			
		||||
    assert not audio.is_valid()
 | 
			
		||||
 | 
			
		||||
@ -102,18 +102,19 @@ def test_set_date_original():
 | 
			
		||||
    shutil.copyfile(helper.get_file('audio.m4a'), origin)
 | 
			
		||||
 | 
			
		||||
    media = Media(origin)
 | 
			
		||||
    status = media.set_date_original(datetime.datetime(2013, 9, 30, 7, 6, 5))
 | 
			
		||||
    date = datetime(2013, 9, 30, 7, 6, 5)
 | 
			
		||||
    status = media.set_date_original(date)
 | 
			
		||||
 | 
			
		||||
    assert status == True, status
 | 
			
		||||
 | 
			
		||||
    audio_new = Audio(origin)
 | 
			
		||||
    metadata = audio_new.get_metadata()
 | 
			
		||||
 | 
			
		||||
    date_original = metadata['date_original']
 | 
			
		||||
    date_original = metadata['date_created']
 | 
			
		||||
 | 
			
		||||
    shutil.rmtree(folder)
 | 
			
		||||
 | 
			
		||||
    assert date_original == (2013, 9, 30, 7, 6, 5, 0, 273, 0), metadata['date_original']
 | 
			
		||||
    assert date_original == date, date_original
 | 
			
		||||
 | 
			
		||||
def test_set_location():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
@ -71,9 +71,8 @@ def test_set_album_from_folder_invalid_file():
 | 
			
		||||
 | 
			
		||||
    shutil.copyfile(base_file, origin)
 | 
			
		||||
 | 
			
		||||
    base = Base(origin)
 | 
			
		||||
 | 
			
		||||
    status = base.set_album_from_folder()
 | 
			
		||||
    media = Media(origin)
 | 
			
		||||
    status = media.set_album_from_folder()
 | 
			
		||||
 | 
			
		||||
    assert status == False, status
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -58,7 +58,7 @@ def test_is_valid():
 | 
			
		||||
    assert photo.is_valid()
 | 
			
		||||
 | 
			
		||||
def test_is_not_valid():
 | 
			
		||||
    photo = Photo(helper.get_file('text.txt'))
 | 
			
		||||
    photo = Photo(helper.get_file('video.mov'))
 | 
			
		||||
 | 
			
		||||
    assert not photo.is_valid()
 | 
			
		||||
 | 
			
		||||
@ -124,10 +124,10 @@ def test_get_coordinates_with_null_coordinate():
 | 
			
		||||
 | 
			
		||||
def test_get_date_original():
 | 
			
		||||
    media = Media(helper.get_file('plain.jpg'))
 | 
			
		||||
    date_original = media.get_date_attribute('date_original')
 | 
			
		||||
    date_original = media.get_date_attribute(['EXIF:DateTimeOriginal'])
 | 
			
		||||
 | 
			
		||||
    #assert date_original == (2015, 12, 5, 0, 59, 26, 5, 339, 0), date_original
 | 
			
		||||
    assert date_original == helper.time_convert((2015, 12, 5, 0, 59, 26, 5, 339, 0)), date_original
 | 
			
		||||
    assert date_original == datetime(2015, 12, 5, 0, 59, 26), date_original
 | 
			
		||||
 | 
			
		||||
def test_get_camera_make():
 | 
			
		||||
    photo = Photo(helper.get_file('with-location.jpg'))
 | 
			
		||||
@ -153,16 +153,6 @@ def test_get_camera_model_not_set():
 | 
			
		||||
 | 
			
		||||
    assert model is None, model
 | 
			
		||||
 | 
			
		||||
def test_is_valid():
 | 
			
		||||
    photo = Photo(helper.get_file('with-location.jpg'))
 | 
			
		||||
 | 
			
		||||
    assert photo.is_valid()
 | 
			
		||||
 | 
			
		||||
def test_is_not_valid():
 | 
			
		||||
    photo = Photo(helper.get_file('text.txt'))
 | 
			
		||||
 | 
			
		||||
    assert not photo.is_valid()
 | 
			
		||||
 | 
			
		||||
def test_is_valid_fallback_using_pillow():
 | 
			
		||||
    photo = Photo(helper.get_file('imghdr-error.jpg'))
 | 
			
		||||
 | 
			
		||||
@ -205,7 +195,8 @@ def test_set_date_original_with_missing_datetimeoriginal():
 | 
			
		||||
    shutil.copyfile(helper.get_file('no-exif.jpg'), origin)
 | 
			
		||||
 | 
			
		||||
    media = Media(origin)
 | 
			
		||||
    status = media.set_date_original(datetime.now())
 | 
			
		||||
    time = datetime(2013, 9, 30, 7, 6, 5)
 | 
			
		||||
    status = media.set_date_original(time)
 | 
			
		||||
 | 
			
		||||
    assert status == True, status
 | 
			
		||||
 | 
			
		||||
@ -218,7 +209,7 @@ def test_set_date_original_with_missing_datetimeoriginal():
 | 
			
		||||
 | 
			
		||||
    #assert date_original == (2013, 9, 30, 7, 6, 5, 0, 273, 0), metadata['date_original']
 | 
			
		||||
    # assert date_original == helper.time_convert((2013, 9, 30, 7, 6, 5, 0, 273, 0)), metadata['date_original']
 | 
			
		||||
    assert date_original == datetime.now(), metadata['date_original']
 | 
			
		||||
    assert date_original == time, metadata['date_original']
 | 
			
		||||
 | 
			
		||||
def test_set_date_original():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
@ -231,15 +222,15 @@ def test_set_date_original():
 | 
			
		||||
 | 
			
		||||
    assert status == True, status
 | 
			
		||||
 | 
			
		||||
    photo_new = Photo(origin)
 | 
			
		||||
    metadata = photo_new.get_metadata()
 | 
			
		||||
    media_new = Media(origin)
 | 
			
		||||
    metadata = media_new.get_metadata()
 | 
			
		||||
 | 
			
		||||
    date_original = metadata['date_original']
 | 
			
		||||
 | 
			
		||||
    shutil.rmtree(folder)
 | 
			
		||||
 | 
			
		||||
    #assert date_original == (2013, 9, 30, 7, 6, 5, 0, 273, 0), metadata['date_original']
 | 
			
		||||
    assert date_original == helper.time_convert((2013, 9, 30, 7, 6, 5, 0, 273, 0)), metadata['date_original']
 | 
			
		||||
    assert date_original == datetime(2013, 9, 30, 7, 6, 5), metadata['date_original']
 | 
			
		||||
 | 
			
		||||
def test_set_location():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
@ -343,13 +334,13 @@ def test_various_types():
 | 
			
		||||
    types = Photo.extensions
 | 
			
		||||
    #extensions = ('arw', 'cr2', 'dng', 'gif', 'jpeg', 'jpg', 'nef', 'rw2')
 | 
			
		||||
    dates = {
 | 
			
		||||
        'arw': (2007, 4, 8, 17, 41, 18, 6, 98, 0),
 | 
			
		||||
        'cr2': (2005, 10, 29, 16, 14, 44, 5, 302, 0),
 | 
			
		||||
        'dng': (2009, 10, 20, 9, 10, 46, 1, 293, 0),
 | 
			
		||||
        'heic': (2019, 5, 26, 10, 33, 20, 6, 146, 0),
 | 
			
		||||
        'nef': (2008, 10, 24, 9, 12, 56, 4, 298, 0),
 | 
			
		||||
        'png': (2015, 1, 18, 12, 1, 1, 6, 18, 0),
 | 
			
		||||
        'rw2': (2014, 11, 19, 23, 7, 44, 2, 323, 0)
 | 
			
		||||
        'arw': datetime(2007, 4, 8, 17, 41, 18),
 | 
			
		||||
        'cr2': datetime(2005, 10, 29, 16, 14, 44),
 | 
			
		||||
        'dng': datetime(2009, 10, 20, 9, 10, 46),
 | 
			
		||||
        'heic': datetime(2019, 5, 26, 10, 33, 20),
 | 
			
		||||
        'nef': datetime(2008, 10, 24, 9, 12, 56),
 | 
			
		||||
        'png': datetime(2015, 1, 18, 12, 1, 1),
 | 
			
		||||
        'rw2': datetime(2014, 11, 19, 23, 7, 44)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    for type in types:
 | 
			
		||||
@ -367,7 +358,7 @@ def _test_photo_type_get(type, date):
 | 
			
		||||
    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))
 | 
			
		||||
            raise SkipTest('{} file not downloaded'.format(type))
 | 
			
		||||
 | 
			
		||||
        # downloading for each test is costly so we save it in the working directory
 | 
			
		||||
        file_path_save_as = helper.get_file_path(photo_name)
 | 
			
		||||
@ -381,7 +372,7 @@ def _test_photo_type_get(type, date):
 | 
			
		||||
 | 
			
		||||
    shutil.rmtree(folder)
 | 
			
		||||
 | 
			
		||||
    assert metadata['date_original'] == helper.time_convert(date), '{} date {}'.format(type, metadata['date_original'])
 | 
			
		||||
    assert metadata['date_original'] == date, metadata['date_original']
 | 
			
		||||
 | 
			
		||||
def _test_photo_type_set(type, date):
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
@ -393,7 +384,7 @@ def _test_photo_type_set(type, date):
 | 
			
		||||
    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))
 | 
			
		||||
            raise SkipTest('{} file not downloaded'.format(type))
 | 
			
		||||
 | 
			
		||||
    shutil.copyfile(photo_file, origin)
 | 
			
		||||
 | 
			
		||||
@ -409,6 +400,6 @@ def _test_photo_type_set(type, date):
 | 
			
		||||
 | 
			
		||||
    shutil.rmtree(folder)
 | 
			
		||||
 | 
			
		||||
    assert metadata['date_original'] == helper.time_convert(date), '{} date {}'.format(type, metadata['date_original'])
 | 
			
		||||
    assert metadata['date_original'] == date, metadata['date_original']
 | 
			
		||||
    assert helper.isclose(metadata['latitude'], 11.1111111111), '{} lat {}'.format(type, metadata['latitude'])
 | 
			
		||||
    assert helper.isclose(metadata['longitude'], 99.9999999999), '{} lon {}'.format(type, metadata['latitude'])
 | 
			
		||||
 | 
			
		||||
@ -6,7 +6,8 @@ import sys
 | 
			
		||||
import shutil
 | 
			
		||||
import tempfile
 | 
			
		||||
import time
 | 
			
		||||
import datetime
 | 
			
		||||
from datetime import datetime
 | 
			
		||||
from dateutil.parser import parse
 | 
			
		||||
 | 
			
		||||
sys.path.insert(0, os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__)))))))
 | 
			
		||||
sys.path.insert(0, os.path.abspath(os.path.dirname(os.path.dirname(os.path.realpath(__file__)))))
 | 
			
		||||
@ -66,11 +67,12 @@ def test_get_coordinate_longitude():
 | 
			
		||||
 | 
			
		||||
    assert coordinate == -119.9558, coordinate
 | 
			
		||||
 | 
			
		||||
def test_get_date_taken():
 | 
			
		||||
    video = Video(helper.get_file('video.mov'))
 | 
			
		||||
    date_taken = video.get_date_taken()
 | 
			
		||||
def test_get_date_original():
 | 
			
		||||
    media = Media(helper.get_file('video.mov'))
 | 
			
		||||
    date_original = media.get_date_attribute(['QuickTime:ContentCreateDate'])
 | 
			
		||||
    date = parse('2015-01-19 12:45:11-08:00')
 | 
			
		||||
 | 
			
		||||
    assert date_taken == (2015, 1, 19, 12, 45, 11, 0, 19, 0), date_taken
 | 
			
		||||
    assert date_original == date, date_original
 | 
			
		||||
 | 
			
		||||
def test_get_exiftool_attributes():
 | 
			
		||||
    video = Video(helper.get_file('video.mov'))
 | 
			
		||||
@ -85,7 +87,7 @@ def test_is_valid():
 | 
			
		||||
    assert video.is_valid()
 | 
			
		||||
 | 
			
		||||
def test_is_not_valid():
 | 
			
		||||
    video = Video(helper.get_file('text.txt'))
 | 
			
		||||
    video = Video(helper.get_file('photo.png'))
 | 
			
		||||
 | 
			
		||||
    assert not video.is_valid()
 | 
			
		||||
 | 
			
		||||
@ -111,25 +113,25 @@ def test_set_album():
 | 
			
		||||
 | 
			
		||||
    assert metadata_new['album'] == 'Test Album', metadata_new['album']
 | 
			
		||||
 | 
			
		||||
def test_set_date_taken():
 | 
			
		||||
def test_set_date_original():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
    origin = '%s/video.mov' % folder
 | 
			
		||||
    shutil.copyfile(helper.get_file('video.mov'), origin)
 | 
			
		||||
 | 
			
		||||
    video = Video(origin)
 | 
			
		||||
    status = video.set_date_taken(datetime.datetime(2013, 9, 30, 7, 6, 5))
 | 
			
		||||
    media = Media(origin)
 | 
			
		||||
    status = media.set_date_original(datetime(2013, 9, 30, 7, 6, 5))
 | 
			
		||||
 | 
			
		||||
    assert status == True, status
 | 
			
		||||
 | 
			
		||||
    video_new = Video(origin)
 | 
			
		||||
    metadata = video_new.get_metadata()
 | 
			
		||||
    media_new = Media(origin)
 | 
			
		||||
    metadata = media_new.get_metadata()
 | 
			
		||||
 | 
			
		||||
    date_taken = metadata['date_taken']
 | 
			
		||||
    date_original = metadata['date_original']
 | 
			
		||||
 | 
			
		||||
    shutil.rmtree(folder)
 | 
			
		||||
 | 
			
		||||
    assert date_taken == (2013, 9, 30, 7, 6, 5, 0, 273, 0), metadata['date_taken']
 | 
			
		||||
    assert date_original == datetime(2013, 9, 30, 7, 6, 5), metadata['date_original']
 | 
			
		||||
 | 
			
		||||
def test_set_location():
 | 
			
		||||
    temporary_folder, folder = helper.create_working_folder()
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user