Bump django from 4.2.13 to 4.2.14 in /requirements (#22461)
* Bump django from 4.2.13 to 4.2.14 in /requirements Bumps [django](https://github.com/django/django) from 4.2.13 to 4.2.14. - [Commits](https://github.com/django/django/compare/4.2.13...4.2.14) --- updated-dependencies: - dependency-name: django dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * rm one-time fix_missing_icons command * fix Storage tests to not save to absolute paths * rm unused import --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Andrew Williamson <awilliamson@mozilla.com>
This commit is contained in:
Родитель
27525af387
Коммит
4b76b7cee4
|
@ -530,9 +530,9 @@ colorgram.py==1.2.0 \
|
|||
Deprecated==1.2.14 \
|
||||
--hash=sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c \
|
||||
--hash=sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3
|
||||
Django==4.2.13 \
|
||||
--hash=sha256:837e3cf1f6c31347a1396a3f6b65688f2b4bb4a11c580dcb628b5afe527b68a5 \
|
||||
--hash=sha256:a17fcba2aad3fc7d46fdb23215095dbbd64e6174bf4589171e732b18b07e426a
|
||||
Django==4.2.14 \
|
||||
--hash=sha256:3ec32bc2c616ab02834b9cac93143a7dc1cdcd5b822d78ac95fc20a38c534240 \
|
||||
--hash=sha256:fc6919875a6226c7ffcae1a7d51e0f2ceaf6f160393180818f6c95f51b1e7b96
|
||||
django-aesfield==4.0.0 \
|
||||
--hash=sha256:2c88e7dc063919c4fa2fba6d7c65eb7be05838323ca3adcce76fb687d30d630b \
|
||||
--hash=sha256:425b5c0ed6d96045af8b47230dd5870a12cf3feb7a9c601878c82ebaf409cdce
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
from django.core.files.storage import default_storage as storage
|
||||
from django.core.management.base import BaseCommand
|
||||
|
||||
from olympia import amo
|
||||
from olympia.addons.models import Addon
|
||||
from olympia.addons.tasks import resize_icon
|
||||
from olympia.core.logger import getLogger
|
||||
|
||||
|
||||
log = getLogger('z.addons.fix_missing_icons')
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
help = 'Fix missing icons on specific add-ons'
|
||||
addon_ids = [271830, 823490, 805933, 583250, 790974, 3006]
|
||||
|
||||
def handle(self, *args, **options):
|
||||
for addon in Addon.objects.filter(pk__in=self.addon_ids):
|
||||
icon_path = addon.get_icon_path('original')
|
||||
if storage.exists(icon_path):
|
||||
log.info(
|
||||
'Original icon already exists for addon %s, skipping.', addon.pk
|
||||
)
|
||||
continue
|
||||
backup_path = f'static/img/addon-icons/{addon.pk}-64.png'
|
||||
with open(backup_path, 'rb') as f:
|
||||
storage.save(storage.path(icon_path), f)
|
||||
resize_icon.delay(
|
||||
icon_path,
|
||||
addon.pk,
|
||||
amo.ADDON_ICON_SIZES,
|
||||
set_modified_on=addon.serializable_reference(),
|
||||
)
|
||||
log.info(
|
||||
'Saved new original icon for addon %s and triggered resizing.', addon.pk
|
||||
)
|
|
@ -1,4 +1,3 @@
|
|||
import hashlib
|
||||
import random
|
||||
from contextlib import contextmanager
|
||||
from datetime import timedelta
|
||||
|
@ -574,32 +573,3 @@ def test_delete_list_theme_previews():
|
|||
assert VersionPreview.objects.filter(id=other_firefox_preview.id).exists()
|
||||
assert VersionPreview.objects.filter(id=other_amo_preview.id).exists()
|
||||
assert not VersionPreview.objects.filter(id=other_old_list_preview.id).exists()
|
||||
|
||||
|
||||
class TestFixMissingIcons(TestCase):
|
||||
def test_basic(self):
|
||||
extra_addons = [addon_factory(), addon_factory()]
|
||||
addons_with_missing_icons = [
|
||||
addon_factory(pk=271830),
|
||||
addon_factory(pk=823490),
|
||||
addon_factory(pk=805933),
|
||||
addon_factory(pk=583250),
|
||||
addon_factory(pk=790974),
|
||||
addon_factory(pk=3006),
|
||||
]
|
||||
call_command('fix_missing_icons')
|
||||
|
||||
for addon in extra_addons:
|
||||
addon.reload()
|
||||
assert not addon.icon_hash
|
||||
for size in ['original'] + list(amo.ADDON_ICON_SIZES):
|
||||
assert not self.root_storage.exists(addon.get_icon_path(size))
|
||||
|
||||
for addon in addons_with_missing_icons:
|
||||
addon.reload()
|
||||
for size in ['original'] + list(amo.ADDON_ICON_SIZES):
|
||||
assert self.root_storage.exists(addon.get_icon_path(size))
|
||||
backup_path = f'{settings.ROOT}/static/img/addon-icons/{addon.pk}-64.png'
|
||||
with open(backup_path, 'rb') as f:
|
||||
icon_hash = hashlib.md5(f.read()).hexdigest()[:8]
|
||||
assert addon.icon_hash == icon_hash
|
||||
|
|
|
@ -4,7 +4,6 @@ from functools import partial
|
|||
|
||||
from django.conf import settings
|
||||
from django.core.files.base import ContentFile
|
||||
from django.utils.encoding import force_str
|
||||
|
||||
import pytest
|
||||
|
||||
|
@ -16,7 +15,7 @@ pytestmark = pytest.mark.django_db
|
|||
|
||||
|
||||
def test_storage_walk():
|
||||
tmp = force_str(tempfile.mkdtemp(dir=settings.TMP_PATH))
|
||||
tmp = os.path.basename(tempfile.mkdtemp(dir=settings.TMP_PATH))
|
||||
jn = partial(os.path.join, tmp)
|
||||
storage = SafeStorage(root_setting='TMP_PATH')
|
||||
try:
|
||||
|
@ -50,11 +49,11 @@ def test_storage_walk():
|
|||
assert results.pop(0) == (jn('one/two'), set(), {'file1.txt'})
|
||||
assert len(results) == 0
|
||||
finally:
|
||||
rm_local_tmp_dir(tmp)
|
||||
rm_local_tmp_dir(storage.path(tmp))
|
||||
|
||||
|
||||
def test_rm_stored_dir():
|
||||
tmp = tempfile.mkdtemp(dir=settings.TMP_PATH)
|
||||
tmp = os.path.basename(tempfile.mkdtemp(dir=settings.TMP_PATH))
|
||||
jn = partial(os.path.join, tmp)
|
||||
storage = SafeStorage(root_setting='TMP_PATH')
|
||||
try:
|
||||
|
@ -72,17 +71,17 @@ def test_rm_stored_dir():
|
|||
assert not storage.exists(jn('one/kristi\u0107/kristi\u0107.txt'))
|
||||
assert storage.exists(jn('file1.txt'))
|
||||
finally:
|
||||
rm_local_tmp_dir(tmp)
|
||||
rm_local_tmp_dir(storage.path(tmp))
|
||||
|
||||
|
||||
class TestFileOps(TestCase):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.tmp = tempfile.mkdtemp(dir=settings.TMP_PATH)
|
||||
self.tmp = os.path.basename(tempfile.mkdtemp(dir=settings.TMP_PATH))
|
||||
self.storage = SafeStorage(root_setting='TMP_PATH')
|
||||
|
||||
def tearDown(self):
|
||||
rm_local_tmp_dir(self.tmp)
|
||||
rm_local_tmp_dir(self.storage.path(self.tmp))
|
||||
super().tearDown()
|
||||
|
||||
def path(self, path):
|
||||
|
|
Двоичные данные
static/img/addon-icons/271830-64.png
Двоичные данные
static/img/addon-icons/271830-64.png
Двоичный файл не отображается.
До Ширина: | Высота: | Размер: 2.5 KiB |
Двоичные данные
static/img/addon-icons/3006-64.png
Двоичные данные
static/img/addon-icons/3006-64.png
Двоичный файл не отображается.
До Ширина: | Высота: | Размер: 2.9 KiB |
Двоичные данные
static/img/addon-icons/583250-64.png
Двоичные данные
static/img/addon-icons/583250-64.png
Двоичный файл не отображается.
До Ширина: | Высота: | Размер: 5.3 KiB |
Двоичные данные
static/img/addon-icons/790974-64.png
Двоичные данные
static/img/addon-icons/790974-64.png
Двоичный файл не отображается.
До Ширина: | Высота: | Размер: 3.8 KiB |
Двоичные данные
static/img/addon-icons/805933-64.png
Двоичные данные
static/img/addon-icons/805933-64.png
Двоичный файл не отображается.
До Ширина: | Высота: | Размер: 4.3 KiB |
Двоичные данные
static/img/addon-icons/823490-64.png
Двоичные данные
static/img/addon-icons/823490-64.png
Двоичный файл не отображается.
До Ширина: | Высота: | Размер: 3.9 KiB |
Загрузка…
Ссылка в новой задаче