diff --git a/feeluown/library/library.py b/feeluown/library/library.py index 09a532096f..ed02738a92 100644 --- a/feeluown/library/library.py +++ b/feeluown/library/library.py @@ -389,6 +389,8 @@ def _model_upgrade(self, model): elif e.reason is ModelNotFound.Reason.not_supported: model.state = ModelState.cant_upgrade raise + if upgraded_model is None: # some provider does not implement + raise ModelNotFound(f'{provider} implementation error, it returns None :(') return upgraded_model # -------- diff --git a/feeluown/library/provider.py b/feeluown/library/provider.py index fb005ca14c..685583965e 100644 --- a/feeluown/library/provider.py +++ b/feeluown/library/provider.py @@ -41,6 +41,9 @@ def identifier(self): def name(self): """provider name""" + def __str__(self): + return f'provider:{self.identifier}' + @contextmanager def auth_as(self, user): """auth as a user temporarily