From 073520e11162779ef17c9a71278915522e987d36 Mon Sep 17 00:00:00 2001 From: Thomas NOEL Date: Wed, 14 Aug 2019 11:50:19 +0200 Subject: [PATCH] assets manager: consider missing files as empty (#35397) --- combo/apps/assets/views.py | 5 ++++- tests/test_manager.py | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/combo/apps/assets/views.py b/combo/apps/assets/views.py index 3270dc6e..e6e5cf3f 100644 --- a/combo/apps/assets/views.py +++ b/combo/apps/assets/views.py @@ -80,7 +80,10 @@ class SlotAsset(object): def size(self): if self.asset: - return os.stat(self.asset.asset.path).st_size + try: + return os.stat(self.asset.asset.path).st_size + except OSError: + pass return None def src(self): diff --git a/tests/test_manager.py b/tests/test_manager.py index 0d0e0fc2..cf8ffd9a 100644 --- a/tests/test_manager.py +++ b/tests/test_manager.py @@ -867,6 +867,11 @@ def test_asset_slots_management(app, admin_user): assert '>Delete<' in resp.text assert Asset.objects.filter(key='collectivity:cgu').count() == 1 + # badly remove the file, manager page is still visible + os.unlink(Asset.objects.filter(key='collectivity:cgu')[0].asset.path) + resp = app.get('/manage/assets/') + assert '>CGU<' in resp.text + def test_asset_export_import(app, admin_user): for path in ('uploads', 'assets', 'cache'):