issue-facade integration
This commit is contained in:
parent
c2b7cc64d6
commit
a907ed6f74
16 changed files with 642 additions and 95 deletions
43
vergabe_teilnahme/apps/aufgaben/issue_backends.py
Normal file
43
vergabe_teilnahme/apps/aufgaben/issue_backends.py
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
from contextlib import contextmanager
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
@contextmanager
|
||||
def local_backend():
|
||||
from django.conf import settings
|
||||
from issue_tracker.backends.local import LocalSQLiteBackend
|
||||
|
||||
db_path = str(getattr(settings, 'ISSUE_FACADE_LOCAL_DB', '.issue-facade/issues.db'))
|
||||
Path(db_path).parent.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
b = LocalSQLiteBackend()
|
||||
b.connect({'db_path': db_path})
|
||||
try:
|
||||
yield b
|
||||
finally:
|
||||
b.disconnect()
|
||||
|
||||
|
||||
@contextmanager
|
||||
def remote_backend():
|
||||
"""Yields GiteaBackend wenn konfiguriert, sonst None."""
|
||||
from django.conf import settings
|
||||
from issue_tracker.backends.gitea import GiteaBackend
|
||||
|
||||
cfg = getattr(settings, 'ISSUE_FACADE_GITEA', None)
|
||||
if not cfg:
|
||||
yield None
|
||||
return
|
||||
|
||||
b = GiteaBackend()
|
||||
b.connect(cfg)
|
||||
try:
|
||||
yield b
|
||||
finally:
|
||||
b.disconnect()
|
||||
|
||||
|
||||
def gitea_configured() -> bool:
|
||||
from django.conf import settings
|
||||
cfg = getattr(settings, 'ISSUE_FACADE_GITEA', None)
|
||||
return bool(cfg and cfg.get('token'))
|
||||
Loading…
Add table
Add a link
Reference in a new issue