Loading src/jama/settings.py +4 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,10 @@ JAMA_USE_MODSHIB = True if os.getenv("JAMA_USE_MODSHIB", "1") == "1" else False JAMA_USE_WEBP = True if os.getenv("JAMA_USE_WEBP", "1") == "1" else False JAMA_USE_ARK = True if os.getenv("JAMA_USE_ARK", "0") == "1" else False JAMA_SQLITE_DB_PATH = os.getenv("JAMA_SQLITE_DB_PATH") or Path(VAR_DIR, "db.sqlite3") JAMA_XLSX_EXPORT_AUTOMATIC_METADATAS = ( True if os.getenv("JAMA_XLSX_EXPORT_AUTOMATIC_METADATAS", "0") == "1" else False ) print("###### ", JAMA_XLSX_EXPORT_AUTOMATIC_METADATAS) JAMA_IIIF_PROCESSING_DIR = os.getenv( "JAMA_IIIF_PROCESSING_DIR", Path(VAR_DIR, "processing") ) Loading src/resources/models.py +23 −5 Original line number Diff line number Diff line Loading @@ -275,14 +275,28 @@ class Project(models.Model): This is the way to define available columns in a XLSX export. """ metadatas = [] query = MetadataSet.objects.filter(project=self).order_by("title") if exclude_automatic_metas: query = query.exclude(title="ExifTool").exclude(title="OCR") query = ( MetadataSet.objects.filter(project=self) .exclude(title__in=["ExifTool", "OCR"]) .order_by("title") ) for metadataset in query.iterator(): for metadata in ( Metadata.objects.filter(set=metadataset).order_by("title").iterator() ): metadatas.append(metadata) # Put exif and other columns at the end of the file if not exclude_automatic_metas: query = MetadataSet.objects.filter( project=self, title__in=["ExifTool", "OCR"] ).order_by("title") for metadataset in query.iterator(): for metadata in ( Metadata.objects.filter(set=metadataset) .order_by("title") .iterator() ): metadatas.append(metadata) return metadatas def accesses(self): Loading Loading @@ -933,7 +947,9 @@ class Collection(models.Model): for mr in ( self.metadatacollectionvalue_set.exclude(metadata__title="ExifTool") .exclude(metadata__title="OCR") .exclude(metadata__title="scd_cms") .exclude( metadata__title="scd_cms" ) # TODO: verrue, propre à Bibnum, trouver meilleure solution .select_related("metadata") .iterator() ): Loading Loading @@ -978,7 +994,9 @@ class Collection(models.Model): def yield_resource_data_for_export(self) -> Iterator[dict]: known_metadatas = {} known_metadatas_labels = [] for metadata in self.project.metadatas(): for metadata in self.project.metadatas( not settings.JAMA_XLSX_EXPORT_AUTOMATIC_METADATAS ): known_metadatas[metadata.pk] = metadata known_metadatas_labels.append(f"{str(metadata)}") # First line is for the current category Loading Loading
src/jama/settings.py +4 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,10 @@ JAMA_USE_MODSHIB = True if os.getenv("JAMA_USE_MODSHIB", "1") == "1" else False JAMA_USE_WEBP = True if os.getenv("JAMA_USE_WEBP", "1") == "1" else False JAMA_USE_ARK = True if os.getenv("JAMA_USE_ARK", "0") == "1" else False JAMA_SQLITE_DB_PATH = os.getenv("JAMA_SQLITE_DB_PATH") or Path(VAR_DIR, "db.sqlite3") JAMA_XLSX_EXPORT_AUTOMATIC_METADATAS = ( True if os.getenv("JAMA_XLSX_EXPORT_AUTOMATIC_METADATAS", "0") == "1" else False ) print("###### ", JAMA_XLSX_EXPORT_AUTOMATIC_METADATAS) JAMA_IIIF_PROCESSING_DIR = os.getenv( "JAMA_IIIF_PROCESSING_DIR", Path(VAR_DIR, "processing") ) Loading
src/resources/models.py +23 −5 Original line number Diff line number Diff line Loading @@ -275,14 +275,28 @@ class Project(models.Model): This is the way to define available columns in a XLSX export. """ metadatas = [] query = MetadataSet.objects.filter(project=self).order_by("title") if exclude_automatic_metas: query = query.exclude(title="ExifTool").exclude(title="OCR") query = ( MetadataSet.objects.filter(project=self) .exclude(title__in=["ExifTool", "OCR"]) .order_by("title") ) for metadataset in query.iterator(): for metadata in ( Metadata.objects.filter(set=metadataset).order_by("title").iterator() ): metadatas.append(metadata) # Put exif and other columns at the end of the file if not exclude_automatic_metas: query = MetadataSet.objects.filter( project=self, title__in=["ExifTool", "OCR"] ).order_by("title") for metadataset in query.iterator(): for metadata in ( Metadata.objects.filter(set=metadataset) .order_by("title") .iterator() ): metadatas.append(metadata) return metadatas def accesses(self): Loading Loading @@ -933,7 +947,9 @@ class Collection(models.Model): for mr in ( self.metadatacollectionvalue_set.exclude(metadata__title="ExifTool") .exclude(metadata__title="OCR") .exclude(metadata__title="scd_cms") .exclude( metadata__title="scd_cms" ) # TODO: verrue, propre à Bibnum, trouver meilleure solution .select_related("metadata") .iterator() ): Loading Loading @@ -978,7 +994,9 @@ class Collection(models.Model): def yield_resource_data_for_export(self) -> Iterator[dict]: known_metadatas = {} known_metadatas_labels = [] for metadata in self.project.metadatas(): for metadata in self.project.metadatas( not settings.JAMA_XLSX_EXPORT_AUTOMATIC_METADATAS ): known_metadatas[metadata.pk] = metadata known_metadatas_labels.append(f"{str(metadata)}") # First line is for the current category Loading