mirror of
https://github.com/boostorg/mysql.git
synced 2025-05-12 14:11:41 +00:00
45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
#!/usr/bin/python3
|
|
#
|
|
# Copyright (c) 2019-2025 Ruben Perez Hidalgo (rubenperez038 at gmail dot com)
|
|
#
|
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
#
|
|
|
|
from subprocess import run
|
|
import argparse
|
|
from typing import List
|
|
|
|
# Helper to run the batch updates example
|
|
|
|
class _Runner:
|
|
def __init__(self, exe: str, host: str) -> None:
|
|
self._exe = exe
|
|
self._host = host
|
|
|
|
def run(self, updates: List[str]) -> None:
|
|
employee_id = '1' # Guaranteed to exist
|
|
cmdline = [self._exe, 'example_user', 'example_password', self._host, employee_id] + updates
|
|
print(' + ', ' '.join(cmdline))
|
|
run(cmdline, check=True)
|
|
|
|
|
|
def main():
|
|
# Parse command line
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument('executable')
|
|
parser.add_argument('host')
|
|
args = parser.parse_args()
|
|
|
|
# Build a runner
|
|
runner = _Runner(args.executable, args.host)
|
|
|
|
# Run the example with several combinations
|
|
runner.run(['--salary=40000'])
|
|
runner.run(['--company-id=HGS', '--last-name=Alice'])
|
|
runner.run(['--salary=25000', '--company-id=AWC', '--first-name=John', '--last-name=Doe'])
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|