Added method to batch-write metadata parameters
This commit is contained in:
parent
cb7fe593bf
commit
5dc838d5eb
1 changed files with 22 additions and 0 deletions
|
|
@ -246,6 +246,28 @@ class CaptureObject(object):
|
||||||
self._metadata.update(data)
|
self._metadata.update(data)
|
||||||
self.save_metadata()
|
self.save_metadata()
|
||||||
|
|
||||||
|
def put_and_save(self, tags: list = None, annotations: dict = None, metadata: dict = None):
|
||||||
|
"""
|
||||||
|
Batch-write tags, metadata, and annotations in a single disk operation
|
||||||
|
"""
|
||||||
|
if not tags:
|
||||||
|
tags = []
|
||||||
|
if not annotations:
|
||||||
|
annotations = {}
|
||||||
|
if not metadata:
|
||||||
|
metadata = {}
|
||||||
|
|
||||||
|
# Tags
|
||||||
|
for tag in tags:
|
||||||
|
if tag not in self.tags:
|
||||||
|
self.tags.append(tag)
|
||||||
|
# Annotations
|
||||||
|
self.annotations.update(annotations)
|
||||||
|
# Metadata
|
||||||
|
self._metadata.update(metadata)
|
||||||
|
|
||||||
|
self.save_metadata
|
||||||
|
|
||||||
def save_metadata(self) -> None:
|
def save_metadata(self) -> None:
|
||||||
"""
|
"""
|
||||||
Save metadata to exif, if supported
|
Save metadata to exif, if supported
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue