From 380bc667130cb879ccdf6efea049d9098437c19f Mon Sep 17 00:00:00 2001 From: Miroslav Suchý Date: Jun 14 2022 09:46:37 +0000 Subject: api: cannot split repos when it is NULL Adressing: ERROR:coprs.error_handlers:Admin-only exception Request: GET /api_3/project/list?limit=1000 User: msuchy Traceback (most recent call last): File "/usr/lib/python3.10/site-packages/flask/app.py", line 1513, in full_dispatch_request rv = self.dispatch_request() File "/usr/lib/python3.10/site-packages/flask/app.py", line 1499, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args) File "/usr/share/copr/coprs_frontend/coprs/views/apiv3_ns/__init__.py", line 71, in pagination_wrapper return f(*args, **kwargs) File "/usr/share/copr/coprs_frontend/coprs/views/apiv3_ns/__init__.py", line 58, in query_params_wrapper return f(*args, **kwargs) File "/usr/share/copr/coprs_frontend/coprs/views/apiv3_ns/apiv3_projects.py", line 106, in get_project_list projects = paginator.map(to_dict) File "/usr/share/copr/coprs_frontend/coprs/views/apiv3_ns/__init__.py", line 157, in map return [fun(x) for x in self.get()] File "/usr/share/copr/coprs_frontend/coprs/views/apiv3_ns/__init__.py", line 157, in return [fun(x) for x in self.get()] File "/usr/share/copr/coprs_frontend/coprs/views/apiv3_ns/apiv3_projects.py", line 34, in to_dict "additional_repos": copr.repos_list, File "/usr/share/copr/coprs_frontend/coprs/models.py", line 433, in repos_list return self.repos.split() AttributeError: 'NoneType' object has no attribute 'split' --- diff --git a/frontend/coprs_frontend/coprs/models.py b/frontend/coprs_frontend/coprs/models.py index daf2ca4..099a8ff 100644 --- a/frontend/coprs_frontend/coprs/models.py +++ b/frontend/coprs_frontend/coprs/models.py @@ -430,7 +430,8 @@ class Copr(db.Model, helpers.Serializer): """ Return repos of this copr as a list of strings """ - return self.repos.split() + result = self.repos or "" + return result.split() @property def active_chroots(self):