fix(storage): lazy import s3storage to avoid boto3 dependency for local storage

Fixes #2014

When using default local storage, the s3storage module was imported
at the top level, which triggered boto3/botocore import and caused
ModuleNotFoundError if those packages weren't installed.

Now s3storage is only imported when S3 storage is actually configured.
This commit is contained in:
RockChinQ
2026-02-28 06:00:50 -05:00
parent 88132dff8a
commit b83e6a53be

View File

@@ -3,7 +3,7 @@ from __future__ import annotations
from ..core import app
from . import provider
from .providers import localstorage, s3storage
from .providers import localstorage
class StorageMgr:
@@ -21,6 +21,7 @@ class StorageMgr:
storage_type = storage_config.get('use', 'local')
if storage_type == 's3':
from .providers import s3storage
self.storage_provider = s3storage.S3StorageProvider(self.ap)
self.ap.logger.info('Initialized S3 storage backend.')
else: