Rfaulk has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/72695


Change subject: add. update functionality.
......................................................................

add. update functionality.

Change-Id: I289045a03f4f6b886ed0053f6d1ffeb7dcb01c1b
---
M user_metrics/api/broker.py
1 file changed, 23 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/analytics/user-metrics 
refs/changes/95/72695/1

diff --git a/user_metrics/api/broker.py b/user_metrics/api/broker.py
index fc4c3f1..0b4d2e5 100644
--- a/user_metrics/api/broker.py
+++ b/user_metrics/api/broker.py
@@ -37,6 +37,12 @@
         """
         raise NotImplementedError()
 
+    def update(self, target, key, value):
+        """
+        Remove a key/value pair to the broker
+        """
+        raise NotImplementedError()
+
     def get(self, target, key):
         """
         Retrieve a key/value pair to the broker
@@ -75,12 +81,28 @@
             lines = f.read().split('\n')
             for idx, line in enumerate(lines):
                 item = json.loads(line)
-                if item['key'] == key:
+                if item.keys()[0] == key:
                     del lines[idx]
                     break
         with open(target, 'w') as f:
             for line in lines:
                 f.write(line)
 
+    def update(self, target, key, value):
+        """
+        Update element with the given key
+        """
+        with open(target, 'r') as f:
+            lines = f.read().split('\n')
+            for idx, line in enumerate(lines):
+                item = json.loads(line)
+                if item.keys()[0] == key:
+                    lines[idx] = json.dumps({key: value}) + '\n'
+                    break
+        with open(target, 'w') as f:
+            for line in lines:
+                f.write(line)
+
+
     def get(self, target, key):
         pass

-- 
To view, visit https://gerrit.wikimedia.org/r/72695
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I289045a03f4f6b886ed0053f6d1ffeb7dcb01c1b
Gerrit-PatchSet: 1
Gerrit-Project: analytics/user-metrics
Gerrit-Branch: repair_runtime
Gerrit-Owner: Rfaulk <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to