|
5 | 5 | logger = logging.getLogger(__name__) |
6 | 6 |
|
7 | 7 |
|
8 | | -@task(queue_name="place_images") |
9 | | -def transform_uploaded_images(user_id: int, file_path: str, parent_folder: str) -> None: |
10 | | - from apps.image_processing.services import image_local_transform |
11 | | - from apps.image_processing_api.constants import ( |
12 | | - ImageTransformations, |
13 | | - TransformationFilterBlurFilter, |
14 | | - TransformationFilterDither, |
15 | | - TransformationFilterThumbnailResampling, |
16 | | - ) |
17 | | - from apps.image_processing_api.data_models import ( |
18 | | - ImageTransformationDefinition, |
19 | | - TransformationFiltersBlackAndWhite, |
20 | | - TransformationFiltersBlur, |
21 | | - TransformationFiltersThumbnail, |
22 | | - ) |
23 | | - |
24 | | - logger.info(f"Transforming image {file_path}") |
25 | | - transformations = [ |
26 | | - ImageTransformationDefinition( |
27 | | - identifier="THUMBNAIL/default", |
28 | | - transformation=ImageTransformations.THUMBNAIL, |
29 | | - ), |
30 | | - ImageTransformationDefinition( |
31 | | - identifier="THUMBNAIL/size_64", |
32 | | - transformation=ImageTransformations.THUMBNAIL, |
33 | | - filters=TransformationFiltersThumbnail(size=(64, 64)), |
34 | | - ), |
35 | | - ImageTransformationDefinition( |
36 | | - identifier="THUMBNAIL/s_320_gap_4", |
37 | | - transformation=ImageTransformations.THUMBNAIL, |
38 | | - filters=TransformationFiltersThumbnail(size=(320, 320), reducing_gap=4), |
39 | | - ), |
40 | | - ImageTransformationDefinition( |
41 | | - identifier="THUMBNAIL/s_320_gap_8_lanczos", |
42 | | - transformation=ImageTransformations.THUMBNAIL, |
43 | | - filters=TransformationFiltersThumbnail( |
44 | | - size=(320, 320), |
45 | | - reducing_gap=8, |
46 | | - resample=TransformationFilterThumbnailResampling.LANCZOS, |
47 | | - ), |
48 | | - ), |
49 | | - ImageTransformationDefinition( |
50 | | - identifier="BNW/default", |
51 | | - transformation=ImageTransformations.BLACK_AND_WHITE, |
52 | | - ), |
53 | | - ImageTransformationDefinition( |
54 | | - identifier="BNW/floydsteinberg", |
55 | | - transformation=ImageTransformations.BLACK_AND_WHITE, |
56 | | - filters=TransformationFiltersBlackAndWhite( |
57 | | - dither=TransformationFilterDither.FLOYDSTEINBERG |
58 | | - ), |
59 | | - ), |
60 | | - ImageTransformationDefinition( |
61 | | - identifier="BNW/none", |
62 | | - transformation=ImageTransformations.BLACK_AND_WHITE, |
63 | | - filters=TransformationFiltersBlackAndWhite( |
64 | | - dither=TransformationFilterDither.NONE |
65 | | - ), |
66 | | - ), |
67 | | - ImageTransformationDefinition( |
68 | | - identifier="BLUR/default", |
69 | | - transformation=ImageTransformations.BLUR, |
70 | | - ), |
71 | | - ImageTransformationDefinition( |
72 | | - identifier="BLUR/gaussian_86", |
73 | | - transformation=ImageTransformations.BLUR, |
74 | | - filters=TransformationFiltersBlur( |
75 | | - filter=TransformationFilterBlurFilter.GAUSSIAN_BLUR, |
76 | | - radius=86, |
77 | | - ), |
78 | | - ), |
79 | | - ImageTransformationDefinition( |
80 | | - identifier="BLUR/box_48", |
81 | | - transformation=ImageTransformations.BLUR, |
82 | | - filters=TransformationFiltersBlur( |
83 | | - filter=TransformationFilterBlurFilter.BOX_BLUR, |
84 | | - radius=48, |
85 | | - ), |
86 | | - ), |
87 | | - ] |
88 | | - applied_transformations = image_local_transform( |
89 | | - user_id=user_id, |
90 | | - image_path=file_path, |
91 | | - transformations=transformations, |
92 | | - parent_folder=parent_folder, |
93 | | - ) |
94 | | - |
95 | | - for transformation in applied_transformations: |
96 | | - logger.info(f"{transformation.identifier}: {transformation.path}") |
97 | | - |
98 | | - |
99 | 8 | @task(queue_name="place_images") |
100 | 9 | def suggest_tags_from_uploaded_images( |
101 | 10 | user_id: int, place_id: int, images: dict[int, str] |
102 | 11 | ) -> None: |
103 | | - from apps.image_processing.core.detectors import CommonObjectDetector |
104 | | - from apps.image_processing.data_models import DetectorImage |
| 12 | + from apps.image_processing.core.detectors.base import DetectorImage |
| 13 | + from apps.image_processing.core.detectors.common_object_detector import ( |
| 14 | + CommonObjectDetector, |
| 15 | + ) |
105 | 16 | from apps.places.models import Place, PlaceTag |
106 | 17 |
|
107 | 18 | user_place = ( |
|
0 commit comments