Forráskód Böngészése

feat(api): adds change tracker shorthand method

Nils Wisiol 6 éve
szülő
commit
0fb1bf46c4
1 módosított fájl, 10 hozzáadás és 0 törlés
  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.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):
         if method not in ['connect', 'disconnect']:
             raise ValueError()