Added commands for interacting with google's spreadsheets:
[monitor.git] / statistics / rt_s2_parse_raw.py
diff --git a/statistics/rt_s2_parse_raw.py b/statistics/rt_s2_parse_raw.py
new file mode 100755 (executable)
index 0000000..006b17c
--- /dev/null
@@ -0,0 +1,54 @@
+#!/usr/bin/python
+
+from datetime import datetime
+
+from monitor import config
+from monitor import database
+from monitor.common import Time
+import sys 
+
+def main():
+    tickets = database.dbLoad("survey_tickets")
+
+#if True:
+    #f = open('rt_monitor_data.csv','w')
+    queue = int(sys.argv[1])
+    exclude = ['monitor']
+
+    f = sys.stdout
+    print >>f, "ticket_id,s1,s2,start,lastreply,replies,complete,creator"
+    for t in sorted(tickets.keys()):
+        ticket_id = 0
+        start = datetime(2004,1,1)
+        lastreply = datetime.now()
+        resolved = 0
+        complete = 0
+        replies = 1
+        creator = ''
+        if tickets[t]['queue'] != queue: continue
+        for tr in tickets[t]['transactions']:
+            # create - ticketid,creator, datecreated, 
+            # correspond - creator, datecreated, content
+            # status - newvalue = resolved
+            if tr['type'] == 'Create':
+                start = tr['datecreated']
+                creator = tr['creator']
+                if complete==0: complete = 1
+            elif tr['type'] == 'Correspond':
+                if tr['creator'] not in exclude:
+                    lastreply = tr['datecreated']
+                    replies += 1
+                    if complete == 1: complete = 2
+
+            elif tr['type'] == 'Status' and tr['newvalue'] == 'resolved':
+                resolved = 1
+                if complete == 2: complete = 3
+
+        if replies < 1100:
+            if complete in [2,3]: complete = 1
+            else: complete = 0
+            print >>f, "%s,%s,%s,%s,%s,%s,%s,%s" % (t, start.strftime('%Y-%m-%d'), lastreply.strftime('%Y-%m-%d'), Time.dt_to_ts(start), Time.dt_to_ts(lastreply), replies, complete, creator)
+    f.close()
+
+if __name__ == '__main__':
+       main()