added raw_is_original handling

This commit is contained in:
Rhet Turnbull
2020-04-19 19:16:43 -07:00
parent ec68feec49
commit a337e79e13
2 changed files with 13 additions and 3 deletions

View File

@@ -53,6 +53,11 @@ class PhotoInfo:
@property @property
def filename(self): def filename(self):
""" filename of the picture """ """ filename of the picture """
if self.has_raw and self.raw_original:
# return name of the RAW file
# TODO: not yet implemented
return self._info["filename"]
else:
return self._info["filename"] return self._info["filename"]
@property @property
@@ -613,7 +618,7 @@ class PhotoInfo:
""" returns True if associated RAW image and the RAW image is selected in Photos """ returns True if associated RAW image and the RAW image is selected in Photos
via "Use RAW as Original " via "Use RAW as Original "
otherwise returns False """ otherwise returns False """
return True if self._info["original_resource_choice"] == 1 else False return self._info["raw_is_original"]
def export( def export(
self, self,

View File

@@ -528,7 +528,6 @@ class PhotosDB:
""" process the Photos database to extract info """ process the Photos database to extract info
works on Photos version <= 4.0 """ works on Photos version <= 4.0 """
# TODO: Update strings to remove + (not needed)
# Epoch is Jan 1, 2001 # Epoch is Jan 1, 2001
td = (datetime(2001, 1, 1, 0, 0) - datetime(1970, 1, 1, 0, 0)).total_seconds() td = (datetime(2001, 1, 1, 0, 0) - datetime(1970, 1, 1, 0, 0)).total_seconds()
@@ -888,6 +887,7 @@ class PhotosDB:
# TODO: NOT YET USED -- PLACEHOLDER for RAW processing (currently only in _process_database5) # TODO: NOT YET USED -- PLACEHOLDER for RAW processing (currently only in _process_database5)
# original resource choice (e.g. RAW or jpeg) # original resource choice (e.g. RAW or jpeg)
self._dbphotos[uuid]["original_resource_choice"] = None self._dbphotos[uuid]["original_resource_choice"] = None
self._dbphotos[uuid]["raw_is_original"] = None
# associated RAW image info # associated RAW image info
self._dbphotos[uuid]["has_raw"] = True if row[25] == 7 else False self._dbphotos[uuid]["has_raw"] = True if row[25] == 7 else False
@@ -1607,7 +1607,12 @@ class PhotosDB:
info["momentID"] = row[26] info["momentID"] = row[26]
# original resource choice (e.g. RAW or jpeg) # original resource choice (e.g. RAW or jpeg)
# for images part of a RAW/jpeg pair,
# ZADDITIONALASSETATTRIBUTES.ZORIGINALRESOURCECHOICE
# = 0 if jpeg is selected as "original" in Photos (the default)
# = 1 if RAW is selected as "original" in Photos
info["original_resource_choice"] = row[27] info["original_resource_choice"] = row[27]
info["raw_is_original"] = True if row[27] == 1 else False
# associated RAW image info # associated RAW image info
# will be filled in later # will be filled in later