Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(34)

Unified Diff: tools/devtools_auto/third_party/websocket-client/bin/wsdump.py

Issue 10831399: Revert 152439 - Initial checkin for devtools-based automation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/devtools_auto/third_party/websocket-client/bin/wsdump.py
===================================================================
--- tools/devtools_auto/third_party/websocket-client/bin/wsdump.py (revision 152444)
+++ tools/devtools_auto/third_party/websocket-client/bin/wsdump.py (working copy)
@@ -1,111 +0,0 @@
-#!/usr/bin/env python
-
-import argparse
-import code
-import sys
-import threading
-import websocket
-try:
- import readline
-except:
- pass
-
-
-OPCODE_DATA = (websocket.ABNF.OPCODE_TEXT, websocket.ABNF.OPCODE_BINARY)
-ENCODING = getattr(sys.stdin, "encoding", "").lower()
-
-class VAction(argparse.Action):
- def __call__(self, parser, args, values, option_string=None):
- if values==None:
- values = "1"
- try:
- values = int(values)
- except ValueError:
- values = values.count("v")+1
- setattr(args, self.dest, values)
-
-def parse_args():
- parser = argparse.ArgumentParser(description="WebSocket Simple Dump Tool")
- parser.add_argument("url", metavar="ws_url",
- help="websocket url. ex. ws://echo.websocket.org/")
- parser.add_argument("-v", "--verbose", default=0, nargs='?', action=VAction,
- dest="verbose",
- help="set verbose mode. If set to 1, show opcode. "
- "If set to 2, enable to trace websocket module")
-
- return parser.parse_args()
-
-
-class InteractiveConsole(code.InteractiveConsole):
- def write(self, data):
- sys.stdout.write("\033[2K\033[E")
- # sys.stdout.write("\n")
- sys.stdout.write("\033[34m" + data + "\033[39m")
- sys.stdout.write("\n> ")
- sys.stdout.flush()
-
-
- def raw_input(self, prompt):
- line = raw_input(prompt)
- if ENCODING and ENCODING != "utf-8" and not isinstance(line, unicode):
- line = line.decode(ENCODING).encode("utf-8")
- elif isinstance(line, unicode):
- line = encode("utf-8")
-
- return line
-
-
-def main():
- args = parse_args()
- console = InteractiveConsole()
- ws = websocket.create_connection(args.url)
- if args.verbose > 1:
- websocket.enableTrace(True)
- print "Press Ctrl+C to quit"
-
- def recv():
- frame = ws.recv_frame()
- if not frame:
- raise websocket.WebSocketException("Not a valid frame %s" % frame)
- elif frame.opcode in OPCODE_DATA:
- return (frame.opcode, frame.data)
- elif frame.opcode == websocket.ABNF.OPCODE_CLOSE:
- ws.send_close()
- return (frame.opcode, None)
- elif frame.opcode == websocket.ABNF.OPCODE_PING:
- ws.pong("Hi!")
-
- return None, None
-
-
- def recv_ws():
- while True:
- opcode, data = recv()
- msg = None
- if not args.verbose and opcode in OPCODE_DATA:
- msg = "< %s" % data
- elif args.verbose:
- msg = "< %s: %s" % (websocket.ABNF.OPCODE_MAP.get(opcode), data)
-
- if msg:
- console.write(msg)
-
- thread = threading.Thread(target=recv_ws)
- thread.daemon = True
- thread.start()
-
- while True:
- try:
- message = console.raw_input("> ")
- ws.send(message)
- except KeyboardInterrupt:
- return
- except EOFError:
- return
-
-
-if __name__ == "__main__":
- try:
- main()
- except Exception, e:
- print e

Powered by Google App Engine
This is Rietveld 408576698