| Server IP : 85.214.239.14 / Your IP : 216.73.216.210 Web Server : Apache/2.4.65 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 8.2.29 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /srv/modoboa/env/lib64/python3.5/site-packages/modoboa_radicale/backends/ |
Upload File : |
"""Calendar backend definition."""
from importlib import import_module
from modoboa.lib.cryptutils import decrypt
class CalendarBackend(object):
"""Base backend class."""
def __init__(self, calendar=None):
"""Default constructor."""
self.calendar = calendar
def create_event(self, event):
"""Create a new event."""
raise NotImplementedError
def get_event(self, uid):
"""Retrieve an even using its uid."""
raise NotImplementedError
def get_events(self, start, end):
"""Retrieve a list of event."""
raise NotImplementedError
def delete_event(self, uid):
"""Delete an event using its uid."""
raise NotImplementedError
def get_backend(name, *args, **kwargs):
"""Return a backend instance."""
module = import_module("modoboa_radicale.backends.{}".format(name))
return getattr(
module, "{}Backend".format(name.capitalize()))(*args, **kwargs)
def get_backend_from_request(name, request, calendar=None):
"""Return a backend instance from a request."""
password = decrypt(request.session["password"])
return get_backend(
name, request.user.email, password, calendar=calendar)