| #!/usr/bin/env python |
| # |
| # Autogenerated by Thrift |
| # |
| # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING |
| # |
| |
| import sys |
| import pprint |
| from urlparse import urlparse |
| from thrift.transport import TTransport |
| from thrift.transport import TSocket |
| from thrift.transport import THttpClient |
| from thrift.protocol import TBinaryProtocol |
| |
| import ThriftHadoopFileSystem |
| from ttypes import * |
| |
| if len(sys.argv) <= 1 or sys.argv[1] == '--help': |
| print '' |
| print 'Usage: ' + sys.argv[0] + ' [-h host:port] [-u url] [-f[ramed]] function [arg1 [arg2...]]' |
| print '' |
| print 'Functions:' |
| print ' void setInactivityTimeoutPeriod(i64 periodInSeconds)' |
| print ' void shutdown(i32 status)' |
| print ' ThriftHandle create(Pathname path)' |
| print ' ThriftHandle createFile(Pathname path, i16 mode, bool overwrite, i32 bufferSize, i16 block_replication, i64 blocksize)' |
| print ' ThriftHandle open(Pathname path)' |
| print ' ThriftHandle append(Pathname path)' |
| print ' bool write(ThriftHandle handle, string data)' |
| print ' string read(ThriftHandle handle, i64 offset, i32 size)' |
| print ' bool close(ThriftHandle out)' |
| print ' bool rm(Pathname path, bool recursive)' |
| print ' bool rename(Pathname path, Pathname dest)' |
| print ' bool mkdirs(Pathname path)' |
| print ' bool exists(Pathname path)' |
| print ' FileStatus stat(Pathname path)' |
| print ' listStatus(Pathname path)' |
| print ' void chmod(Pathname path, i16 mode)' |
| print ' void chown(Pathname path, string owner, string group)' |
| print ' void setReplication(Pathname path, i16 replication)' |
| print ' getFileBlockLocations(Pathname path, i64 start, i64 length)' |
| print '' |
| sys.exit(0) |
| |
| pp = pprint.PrettyPrinter(indent = 2) |
| host = 'localhost' |
| port = 9090 |
| uri = '' |
| framed = False |
| http = False |
| argi = 1 |
| |
| if sys.argv[argi] == '-h': |
| parts = sys.argv[argi+1].split(':') |
| host = parts[0] |
| port = int(parts[1]) |
| argi += 2 |
| |
| if sys.argv[argi] == '-u': |
| url = urlparse(sys.argv[argi+1]) |
| parts = url[1].split(':') |
| host = parts[0] |
| if len(parts) > 1: |
| port = int(parts[1]) |
| else: |
| port = 80 |
| uri = url[2] |
| http = True |
| argi += 2 |
| |
| if sys.argv[argi] == '-f' or sys.argv[argi] == '-framed': |
| framed = True |
| argi += 1 |
| |
| cmd = sys.argv[argi] |
| args = sys.argv[argi+1:] |
| |
| if http: |
| transport = THttpClient.THttpClient(host, port, uri) |
| else: |
| socket = TSocket.TSocket(host, port) |
| if framed: |
| transport = TTransport.TFramedTransport(socket) |
| else: |
| transport = TTransport.TBufferedTransport(socket) |
| protocol = TBinaryProtocol.TBinaryProtocol(transport) |
| client = ThriftHadoopFileSystem.Client(protocol) |
| transport.open() |
| |
| if cmd == 'setInactivityTimeoutPeriod': |
| if len(args) != 1: |
| print 'setInactivityTimeoutPeriod requires 1 args' |
| sys.exit(1) |
| pp.pprint(client.setInactivityTimeoutPeriod(eval(args[0]),)) |
| |
| elif cmd == 'shutdown': |
| if len(args) != 1: |
| print 'shutdown requires 1 args' |
| sys.exit(1) |
| pp.pprint(client.shutdown(eval(args[0]),)) |
| |
| elif cmd == 'create': |
| if len(args) != 1: |
| print 'create requires 1 args' |
| sys.exit(1) |
| pp.pprint(client.create(eval(args[0]),)) |
| |
| elif cmd == 'createFile': |
| if len(args) != 6: |
| print 'createFile requires 6 args' |
| sys.exit(1) |
| pp.pprint(client.createFile(eval(args[0]),eval(args[1]),eval(args[2]),eval(args[3]),eval(args[4]),eval(args[5]),)) |
| |
| elif cmd == 'open': |
| if len(args) != 1: |
| print 'open requires 1 args' |
| sys.exit(1) |
| pp.pprint(client.open(eval(args[0]),)) |
| |
| elif cmd == 'append': |
| if len(args) != 1: |
| print 'append requires 1 args' |
| sys.exit(1) |
| pp.pprint(client.append(eval(args[0]),)) |
| |
| elif cmd == 'write': |
| if len(args) != 2: |
| print 'write requires 2 args' |
| sys.exit(1) |
| pp.pprint(client.write(eval(args[0]),args[1],)) |
| |
| elif cmd == 'read': |
| if len(args) != 3: |
| print 'read requires 3 args' |
| sys.exit(1) |
| pp.pprint(client.read(eval(args[0]),eval(args[1]),eval(args[2]),)) |
| |
| elif cmd == 'close': |
| if len(args) != 1: |
| print 'close requires 1 args' |
| sys.exit(1) |
| pp.pprint(client.close(eval(args[0]),)) |
| |
| elif cmd == 'rm': |
| if len(args) != 2: |
| print 'rm requires 2 args' |
| sys.exit(1) |
| pp.pprint(client.rm(eval(args[0]),eval(args[1]),)) |
| |
| elif cmd == 'rename': |
| if len(args) != 2: |
| print 'rename requires 2 args' |
| sys.exit(1) |
| pp.pprint(client.rename(eval(args[0]),eval(args[1]),)) |
| |
| elif cmd == 'mkdirs': |
| if len(args) != 1: |
| print 'mkdirs requires 1 args' |
| sys.exit(1) |
| pp.pprint(client.mkdirs(eval(args[0]),)) |
| |
| elif cmd == 'exists': |
| if len(args) != 1: |
| print 'exists requires 1 args' |
| sys.exit(1) |
| pp.pprint(client.exists(eval(args[0]),)) |
| |
| elif cmd == 'stat': |
| if len(args) != 1: |
| print 'stat requires 1 args' |
| sys.exit(1) |
| pp.pprint(client.stat(eval(args[0]),)) |
| |
| elif cmd == 'listStatus': |
| if len(args) != 1: |
| print 'listStatus requires 1 args' |
| sys.exit(1) |
| pp.pprint(client.listStatus(eval(args[0]),)) |
| |
| elif cmd == 'chmod': |
| if len(args) != 2: |
| print 'chmod requires 2 args' |
| sys.exit(1) |
| pp.pprint(client.chmod(eval(args[0]),eval(args[1]),)) |
| |
| elif cmd == 'chown': |
| if len(args) != 3: |
| print 'chown requires 3 args' |
| sys.exit(1) |
| pp.pprint(client.chown(eval(args[0]),args[1],args[2],)) |
| |
| elif cmd == 'setReplication': |
| if len(args) != 2: |
| print 'setReplication requires 2 args' |
| sys.exit(1) |
| pp.pprint(client.setReplication(eval(args[0]),eval(args[1]),)) |
| |
| elif cmd == 'getFileBlockLocations': |
| if len(args) != 3: |
| print 'getFileBlockLocations requires 3 args' |
| sys.exit(1) |
| pp.pprint(client.getFileBlockLocations(eval(args[0]),eval(args[1]),eval(args[2]),)) |
| |
| transport.close() |