mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-09 12:30:15 +02:00
[FIX] Cleanup file path name to work with CSS url("foobar")
notations
This essentially removes quotes from the filename, which aren't allowed anyways.
This commit is contained in:
parent
6477c22308
commit
fc51f6bea2
@ -25,6 +25,22 @@ class AaManifestStaticFilesStorage(ManifestStaticFilesStorage):
|
|||||||
Custom static files storage that ignores missing files.
|
Custom static files storage that ignores missing files.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def _cleanup_name(cls, name: str) -> str:
|
||||||
|
"""
|
||||||
|
Clean up the name by removing quotes.
|
||||||
|
This method is used to ensure that the name does not contain any quotes,
|
||||||
|
which can cause issues with file paths.
|
||||||
|
|
||||||
|
:param name: The name of the static file.
|
||||||
|
:type name: str
|
||||||
|
:return: The cleaned-up name without quotes.
|
||||||
|
:rtype: str
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Remove quotes from the name
|
||||||
|
return name.replace('"', "").replace("'", "")
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
"""
|
"""
|
||||||
Initialize the static files storage, ignoring missing files.
|
Initialize the static files storage, ignoring missing files.
|
||||||
@ -39,25 +55,27 @@ class AaManifestStaticFilesStorage(ManifestStaticFilesStorage):
|
|||||||
|
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
def hashed_name(self, name, *args, **kwargs):
|
def hashed_name(self, name, content=None, filename=None):
|
||||||
"""
|
"""
|
||||||
Generate a hashed name for the given static file, ignoring missing files.
|
Generate a hashed name for the given static file, ignoring missing files.
|
||||||
|
|
||||||
Ignore missing files, e.g. non-existent background image referenced from css.
|
Ignore missing files, e.g. non-existent background image referenced from css.
|
||||||
Returns the original filename if the referenced file doesn't exist.
|
Returns the original filename if the referenced file doesn't exist.
|
||||||
|
|
||||||
:param name:
|
:param name: The name of the static file to hash.
|
||||||
:type name:
|
:type name: str
|
||||||
:param args:
|
:param content: The content of the static file, if available.
|
||||||
:type args:
|
:type content: bytes | None
|
||||||
:param kwargs:
|
:param filename: The original filename of the static file, if available.
|
||||||
:type kwargs:
|
:type filename: str | None
|
||||||
:return:
|
:return: The hashed name of the static file, or the original name if the file is missing.
|
||||||
:rtype:
|
:rtype: str
|
||||||
"""
|
"""
|
||||||
|
|
||||||
try:
|
try:
|
||||||
return super().hashed_name(name, *args, **kwargs)
|
clean_name = self._cleanup_name(name)
|
||||||
|
|
||||||
|
return super().hashed_name(clean_name, content, filename)
|
||||||
except ValueError as e:
|
except ValueError as e:
|
||||||
if settings.DEBUG:
|
if settings.DEBUG:
|
||||||
# In debug mode, we log the missing file message
|
# In debug mode, we log the missing file message
|
||||||
|
Loading…
x
Reference in New Issue
Block a user