Skip to content

Commit a9bd02f

Browse files
authored
Merge pull request #16 from Nekotoxin/add_err_handler
fix: add error handler when initial django app
2 parents 515ef1e + 356a0f3 commit a9bd02f

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

casbin_adapter/adapter.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,25 @@
1-
from django.conf import settings
1+
import logging
2+
23
from casbin import persist
4+
from django.db.utils import OperationalError, ProgrammingError
35

46
from .models import CasbinRule
57

8+
logger = logging.getLogger(__name__)
9+
610

711
class Adapter(persist.Adapter):
812
"""the interface for Casbin adapters."""
913

1014
def load_policy(self, model):
1115
"""loads all policy rules from the storage."""
12-
lines = CasbinRule.objects.all()
16+
try:
17+
lines = CasbinRule.objects.all()
1318

14-
for line in lines:
15-
persist.load_policy_line(str(line), model)
19+
for line in lines:
20+
persist.load_policy_line(str(line), model)
21+
except (OperationalError, ProgrammingError) as error:
22+
logger.warning("Could not load policy from database: {}".format(error))
1623

1724
def _create_policy_line(self, ptype, rule):
1825
line = CasbinRule(ptype=ptype)

0 commit comments

Comments
 (0)