1
0
Fork 0
mirror of https://github.com/Kozea/Radicale.git synced 2025-06-26 16:45:52 +00:00

Code Cleanup and Optimisation

This commit is contained in:
Tuna Celik 2020-08-17 03:19:27 +02:00
parent 3882cf2bc8
commit ecff5fac82
2 changed files with 12 additions and 11 deletions

View file

@ -64,10 +64,11 @@ class ApplicationDeleteMixin:
# ETag precondition not verified, do not delete item # ETag precondition not verified, do not delete item
return httputils.PRECONDITION_FAILED return httputils.PRECONDITION_FAILED
if isinstance(item, storage.BaseCollection): if isinstance(item, storage.BaseCollection):
cache_items = item.get_all()
xml_answer = xml_delete(base_prefix, path, item) xml_answer = xml_delete(base_prefix, path, item)
for i in item.get_all(): for cache_item in cache_items:
hook_notification_item = HookNotificationItem( hook_notification_item = HookNotificationItem(
HookNotificationItemTypes.DELETE, i.uid) HookNotificationItemTypes.DELETE, cache_item.uid)
self._hook.notify(hook_notification_item) self._hook.notify(hook_notification_item)
else: else:
xml_answer = xml_delete( xml_answer = xml_delete(

View file

@ -9,24 +9,24 @@ class Hook(hook.BaseHook):
def __init__(self, configuration): def __init__(self, configuration):
super().__init__(configuration) super().__init__(configuration)
endpoint = configuration.get("hook", "rabbitmq_endpoint") endpoint = configuration.get("hook", "rabbitmq_endpoint")
self.topic = configuration.get("hook", "rabbitmq_topic") self._topic = configuration.get("hook", "rabbitmq_topic")
self.encoding = configuration.get("encoding", "stock") self._encoding = configuration.get("encoding", "stock")
self._make_connection_synced(endpoint) self._make_connection_synced(endpoint)
self._make_declare_queue_synced(self.topic) self._make_declare_queue_synced(self._topic)
def _make_connection_synced(self, endpoint): def _make_connection_synced(self, endpoint):
parameters = pika.URLParameters(endpoint) parameters = pika.URLParameters(endpoint)
self.connection = pika.BlockingConnection(parameters) connection = pika.BlockingConnection(parameters)
self.channel = self.connection.channel() self._channel = connection.channel()
def _make_declare_queue_synced(self, topic): def _make_declare_queue_synced(self, topic):
self.channel.queue_declare(queue=topic) self._channel.queue_declare(queue=topic)
def notify(self, notification_item): def notify(self, notification_item):
if isinstance(notification_item, HookNotificationItem): if isinstance(notification_item, HookNotificationItem):
self.channel.basic_publish( self._channel.basic_publish(
exchange='', exchange='',
routing_key=self.topic, routing_key=self._topic,
body=notification_item.to_json().encode(encoding=self.encoding) body=notification_item.to_json().encode(encoding=self._encoding)
) )