Commit 2def5b34 authored by Mickaël Desfrênes's avatar Mickaël Desfrênes
Browse files

add quick meta filter

parent 7148b6cc
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -214,6 +214,22 @@ class File(Resource):
        verbose_name_plural = "fichiers"
        unique_together = (("project", "hash"),)

    def filter_meta(self, full_meta_title: str, default_value=None):
        """
        Simple access to wanted meta. ":" is used as a separator.

        Ex:
            some_file.quick_meta("ExifTool:ID3:Album", "")
        """
        full_meta_title = full_meta_title.lower()
        for metaval in self.metadataresourcevalue_set.all():
            current_meta_title = "{}:{}".format(
                metaval.metadata.set.title, metaval.metadata.title
            ).lower()
            if current_meta_title == full_meta_title:
                return metaval.value
        return default_value

    def iiif_infos_url(self) -> str:
        if self.should_have_iiif():
            return "{}{}/info.json".format(