MCPcopy Create free account
hub / github.com/apache/arrow / main

Function main

python/examples/flight/client.py:119–188  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

117
118
119def main():
120 parser = argparse.ArgumentParser()
121 subcommands = parser.add_subparsers()
122
123 cmd_list = subcommands.add_parser('list')
124 cmd_list.set_defaults(action='list')
125 _add_common_arguments(cmd_list)
126 cmd_list.add_argument('-l', '--list', action='store_true',
127 help="Print more details.")
128
129 cmd_do = subcommands.add_parser('do')
130 cmd_do.set_defaults(action='do')
131 _add_common_arguments(cmd_do)
132 cmd_do.add_argument('action_type', type=str,
133 help="The action type to run.")
134
135 cmd_put = subcommands.add_parser('put')
136 cmd_put.set_defaults(action='put')
137 _add_common_arguments(cmd_put)
138 cmd_put.add_argument('file', type=str,
139 help="CSV file to upload.")
140
141 cmd_get = subcommands.add_parser('get')
142 cmd_get.set_defaults(action='get')
143 _add_common_arguments(cmd_get)
144 cmd_get_descriptor = cmd_get.add_mutually_exclusive_group(required=True)
145 cmd_get_descriptor.add_argument('-p', '--path', type=str, action='append',
146 help="The path for the descriptor.")
147 cmd_get_descriptor.add_argument('-c', '--command', type=str,
148 help="The command for the descriptor.")
149
150 args = parser.parse_args()
151 if not hasattr(args, 'action'):
152 parser.print_help()
153 sys.exit(1)
154
155 commands = {
156 'list': list_flights,
157 'do': do_action,
158 'get': get_flight,
159 'put': push_data,
160 }
161 host, port = args.host.split(':')
162 port = int(port)
163 scheme = "grpc+tcp"
164 connection_args = {}
165 if args.tls:
166 scheme = "grpc+tls"
167 if args.tls_roots:
168 with open(args.tls_roots, "rb") as root_certs:
169 connection_args["tls_root_certs"] = root_certs.read()
170 if args.mtls:
171 with open(args.mtls[0], "rb") as cert_file:
172 tls_cert_chain = cert_file.read()
173 with open(args.mtls[1], "rb") as key_file:
174 tls_private_key = key_file.read()
175 connection_args["cert_chain"] = tls_cert_chain
176 connection_args["private_key"] = tls_private_key

Callers 1

client.pyFile · 0.70

Calls 7

_add_common_argumentsFunction · 0.85
listFunction · 0.85
parse_argsMethod · 0.80
FlightClientMethod · 0.80
FlightCallOptionsMethod · 0.80
readMethod · 0.45
do_actionMethod · 0.45

Tested by

no test coverage detected