Skip to content

Commit ab24dd2

Browse files
authored
Merge pull request #321 from OpenGeoscience/file-streams
Stream local file content to File Fields
2 parents f45f2d9 + ac50650 commit ab24dd2

File tree

4 files changed

+8
-8
lines changed

4 files changed

+8
-8
lines changed

uvdat/core/management/commands/ingest.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
from django.contrib.auth.models import User
1313
from django.contrib.gis.geos import Point
14-
from django.core.files.base import ContentFile
14+
from django.core.files import File
1515
from django.db.models import Sum
1616
from django.db.models.functions import Coalesce
1717
import djclick as click
@@ -149,7 +149,7 @@ def ingest_file(file_info, *, index=0, dataset=None, chart=None, replace=False,
149149
)
150150
click.secho(f"FileItem {new_file_item.name} created.", fg="green")
151151
with file_location.open("rb") as f:
152-
new_file_item.file.save(file_path, ContentFile(f.read()))
152+
new_file_item.file.save(file_path, File(f))
153153

154154

155155
def ingest_projects(data: list[ProjectItem], *, replace=False) -> None:

uvdat/core/tasks/analytics/flood_simulation.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
from celery import shared_task
88
from django.conf import settings
9-
from django.core.files.base import ContentFile
9+
from django.core.files import File
1010

1111
from uvdat.core.models import Chart, Colormap, Dataset, FileItem, LayerStyle, TaskResult
1212

@@ -149,7 +149,7 @@ def flood_simulation(result_id):
149149
metadata=metadata,
150150
)
151151
with output_path.open("rb") as f:
152-
file_item.file.save(output_path.name, ContentFile(f.read()))
152+
file_item.file.save(output_path.name, File(f))
153153
dataset.spawn_conversion_task(
154154
layer_options=[
155155
{

uvdat/core/tasks/analytics/geoai_segmentation.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
from celery import shared_task
66
from django.conf import settings
7-
from django.core.files.base import ContentFile
7+
from django.core.files import File
88
from django_large_image import utilities
99
import large_image
1010
from pyproj import CRS, Transformer
@@ -148,7 +148,7 @@ def geoai_segmentation(result_id): # noqa: PLR0915
148148
file_size=mask_path.stat().st_size,
149149
)
150150
with mask_path.open("rb") as f:
151-
raster_file_item.file.save(mask_path, ContentFile(f.read()))
151+
raster_file_item.file.save(mask_path, File(f))
152152

153153
dataset.spawn_conversion_task(asynchronous=False)
154154
result.write_outputs({"result": dataset.id})

uvdat/core/tasks/conversion.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import tempfile
77
import zipfile
88

9-
from django.core.files.base import ContentFile
9+
from django.core.files import File
1010
from django_large_image import utilities
1111
import geopandas
1212
import numpy as np
@@ -135,7 +135,7 @@ def convert_files(*files, file_item=None, combine=False): # noqa: C901, PLR0912
135135
metadata=metadata,
136136
)
137137
with cog_path.open("rb") as f:
138-
raster_data.cloud_optimized_geotiff.save(cog_path.name, ContentFile(f.read()))
138+
raster_data.cloud_optimized_geotiff.save(cog_path.name, File(f))
139139
logger.info("%s created for %s", raster_data, cog.get("name"))
140140

141141

0 commit comments

Comments
 (0)