Skip to content

Commit fc0a82e

Browse files
committed
fix: lint ruff
1 parent 0322e4c commit fc0a82e

File tree

12 files changed

+297
-292
lines changed

12 files changed

+297
-292
lines changed

djangocms_picture/backends/__init__.py

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -12,83 +12,83 @@
1212
class ImageBackend:
1313
"""
1414
Base class for image backends.
15-
15+
1616
Backends handle image storage, processing, and URL generation
1717
for different image management systems.
1818
"""
19-
19+
2020
def save_image(self, image_file, instance, field_name, **options):
2121
"""
2222
Save an uploaded image file.
23-
23+
2424
Args:
2525
image_file: The uploaded image file object
2626
instance: The model instance containing the field
2727
field_name: Name of the field in the model
2828
**options: Additional backend-specific options
29-
29+
3030
Returns:
3131
Reference to the saved image (backend-specific format)
3232
"""
3333
raise NotImplementedError("Subclasses must implement save_image()")
34-
34+
3535
def get_image_url(self, image_reference, size_options=None, **kwargs):
3636
"""
3737
Get the URL for an image with optional sizing.
38-
38+
3939
Args:
4040
image_reference: Backend-specific image reference
4141
size_options: Dict with size/crop options
4242
**kwargs: Additional options
43-
43+
4444
Returns:
4545
String URL to the image
4646
"""
4747
raise NotImplementedError("Subclasses must implement get_image_url()")
48-
48+
4949
def get_srcset_data(self, image_reference, breakpoints, **kwargs):
5050
"""
5151
Generate responsive image srcset data.
52-
52+
5353
Args:
5454
image_reference: Backend-specific image reference
5555
breakpoints: List of viewport breakpoints
5656
**kwargs: Additional options
57-
57+
5858
Returns:
5959
List of tuples: [(width, url), ...]
6060
"""
6161
raise NotImplementedError("Subclasses must implement get_srcset_data()")
62-
62+
6363
def delete_image(self, image_reference):
6464
"""
6565
Delete an image and its variants.
66-
66+
6767
Args:
6868
image_reference: Backend-specific image reference
6969
"""
7070
raise NotImplementedError("Subclasses must implement delete_image()")
71-
71+
7272
def get_image_info(self, image_reference):
7373
"""
7474
Get metadata about an image.
75-
75+
7676
Args:
7777
image_reference: Backend-specific image reference
78-
78+
7979
Returns:
8080
Dict with keys: width, height, format, size, alt_text, etc.
8181
"""
8282
raise NotImplementedError("Subclasses must implement get_image_info()")
83-
83+
8484
def validate_image(self, image_file, **options):
8585
"""
8686
Validate an image file before saving.
87-
87+
8888
Args:
8989
image_file: The image file to validate
9090
**options: Validation options
91-
91+
9292
Raises:
9393
ValidationError: If image is invalid
9494
"""
@@ -97,23 +97,23 @@ def validate_image(self, image_file, **options):
9797

9898
class BackendRegistry:
9999
"""Registry for managing available image backends."""
100-
100+
101101
def __init__(self):
102102
self._backends = {}
103103
self._loaded = False
104-
104+
105105
def _load_backends(self):
106106
"""Load backends from Django settings."""
107107
if self._loaded:
108108
return
109-
109+
110110
backend_settings = getattr(settings, 'DJANGOCMS_PICTURE_BACKENDS', {})
111-
111+
112112
# If no backends are configured, register default ones
113113
if not backend_settings:
114114
_register_default_backends()
115115
return
116-
116+
117117
for name, backend_path in backend_settings.items():
118118
try:
119119
backend_class = import_string(backend_path)
@@ -123,32 +123,32 @@ def _load_backends(self):
123123
# This allows the system to work even if some backends are not available
124124
import logging
125125
logging.warning(f"Could not import backend '{name}' from '{backend_path}': {e}")
126-
126+
127127
self._loaded = True
128-
128+
129129
def get_backend(self, name=None):
130130
"""
131131
Get a backend instance by name.
132-
132+
133133
Args:
134134
name: Backend name, defaults to DJANGOCMS_PICTURE_DEFAULT_BACKEND
135-
135+
136136
Returns:
137137
Backend instance
138138
"""
139139
self._load_backends()
140-
140+
141141
if name is None:
142142
name = getattr(settings, 'DJANGOCMS_PICTURE_DEFAULT_BACKEND', 'filer')
143-
143+
144144
if name not in self._backends:
145145
available = ', '.join(self._backends.keys())
146146
raise ImproperlyConfigured(
147147
f"Backend '{name}' not found. Available backends: {available}"
148148
)
149-
149+
150150
return self._backends[name]()
151-
151+
152152
def get_available_backends(self):
153153
"""Get list of available backend names."""
154154
self._load_backends()
@@ -167,10 +167,10 @@ def _register_default_backends():
167167
backend_registry._backends['filer'] = FilerImageBackend
168168
except ImportError:
169169
pass # Filer not available
170-
170+
171171
# Mark as loaded so it doesn't try to load from settings
172172
backend_registry._loaded = True
173173

174174

175175
# Don't auto-register default backends on import to avoid Django setup issues
176-
# They will be registered when first accessed through _load_backends()
176+
# They will be registered when first accessed through _load_backends()

0 commit comments

Comments
 (0)