aboutsummaryrefslogtreecommitdiff
path: root/bin/cloogle_stats.py
diff options
context:
space:
mode:
authorCamil Staps2017-02-20 09:15:16 +0100
committerCamil Staps2017-02-20 09:15:16 +0100
commitb6189b101aa5142054f28a3940121c4134037554 (patch)
tree0e1d9a4e2abbc2990eef77f94edb730fee192a58 /bin/cloogle_stats.py
parentUpdate XC8 (diff)
Cloogle stats in status bar
Diffstat (limited to 'bin/cloogle_stats.py')
-rwxr-xr-xbin/cloogle_stats.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/bin/cloogle_stats.py b/bin/cloogle_stats.py
new file mode 100755
index 0000000..0c48b70
--- /dev/null
+++ b/bin/cloogle_stats.py
@@ -0,0 +1,35 @@
+#!/usr/bin/env python3
+import json
+import ssl
+import websocket
+
+def format_query(query):
+ if 'className' in query:
+ return 'class ' + query['className']
+ elif 'typeName' in query:
+ return 'type ' + query['typeName']
+ elif 'unify' in query:
+ if 'name' in query and query['name'] != '':
+ return query['name'] + ' :: ' + query['unify']
+ else:
+ return ':: ' + query['unify']
+ else:
+ return query['name']
+
+def on_message(ws, msg):
+ try:
+ print(format_query(json.loads(msg)))
+ except:
+ pass
+
+def on_error(ws, err):
+ print(err)
+
+def on_close(ws):
+ print('Closed.')
+
+if __name__ == '__main__':
+ ws = websocket.WebSocketApp('wss://cloogle.org:31216',
+ subprotocols=['cloogle-stats'],
+ on_message=on_message, on_error=on_error, on_close=on_close)
+ ws.run_forever(sslopt={'cert_reqs': ssl.CERT_NONE})