Rfaulk has submitted this change and it was merged.

Change subject: add. method parse_request to parse user metrics request 
components.
......................................................................


add. method parse_request to parse user metrics request components.

Change-Id: Ibadda2f1e163f0f23726a8da079b80e219a4fa17
---
M user_metrics/api/engine/request_meta.py
1 file changed, 18 insertions(+), 0 deletions(-)

Approvals:
  Rfaulk: Verified; Looks good to me, approved



diff --git a/user_metrics/api/engine/request_meta.py 
b/user_metrics/api/engine/request_meta.py
index 7e90356..32d7839 100644
--- a/user_metrics/api/engine/request_meta.py
+++ b/user_metrics/api/engine/request_meta.py
@@ -62,6 +62,24 @@
 }
 
 
+def parse_request(request):
+    """
+    Parses umapi requests
+    """
+    bits = request.split('/')[4:]
+    cohort = bits[0]
+    bits = bits[1].split('?')
+    metric = bits[0]
+
+    args = namedtuple('UM_REQUEST_ARGS', '')
+    if len(bits) > 1:
+        args_expr = [i.split('=') for i in bits[1].split('&')]
+        args = recordtype('UM_REQUEST_ARGS', ' '.join([i[0] for i in 
args_expr]))
+        for i in args_expr:
+            setattr(args, i[0], i[1])
+    return namedtuple('UM_REQUEST', 'cohort metric args')(cohort, metric, args)
+
+
 def RequestMetaFactory(cohort_expr, cohort_gen_timestamp, metric_expr):
     """
         Dynamically builds a record type given a metric handle

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ibadda2f1e163f0f23726a8da079b80e219a4fa17
Gerrit-PatchSet: 1
Gerrit-Project: analytics/user-metrics
Gerrit-Branch: master
Gerrit-Owner: Rfaulk <[email protected]>
Gerrit-Reviewer: Rfaulk <[email protected]>

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

Reply via email to