Переглянути джерело

feat(api): adds change tracker shorthand method

Nils Wisiol 6 роки тому
батько
коміт
0fb1bf46c4
1 змінених файлів з 10 додано та 0 видалено
  1. 10 0
      api/desecapi/pdns_change_tracker.py

+ 10 - 0
api/desecapi/pdns_change_tracker.py

@@ -171,6 +171,16 @@ class PDNSChangeTracker:
         self._rr_set_deletions = {}
         self._rr_set_deletions = {}
         self.transaction = None
         self.transaction = None
 
 
+    @classmethod
+    def track(cls, f):
+        """
+        Execute function f with the change tracker.
+        :param f: Function to be tracked for PDNS-relevant changes.
+        :return: Returns the return value of f.
+        """
+        with cls():
+            return f()
+
     def _manage_signals(self, method):
     def _manage_signals(self, method):
         if method not in ['connect', 'disconnect']:
         if method not in ['connect', 'disconnect']:
             raise ValueError()
             raise ValueError()