summaryrefslogtreecommitdiff
path: root/sqlplain/runtransac.py
blob: 47f6597e5cc05c5ced9fa4ae036efe7f80bfcf7d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
"""usage:
$ python %s uri "sqlcode"
or
$ python %s uri -f file.sql
"""

import sys
from sqlplain.util import openclose

def get_uri_sql(argv):
    "Extract the URI string and the SQL code from the command line"
    if len(argv) <= 2:
        raise sys.exit(__doc__ % (argv[0], argv[0]))
    uri = argv[1]
    if uri == '-f':
        raise sys.exit(__doc__ % (argv[0], argv[0]))
    for i, arg in enumerate(argv):
        if arg == '-f':
            try:
                fname = argv[i+1]
            except IndexError:
                raise RuntimeError('Missing -f argument!')
            sql = file(fname).read()
            break
    else: # if not break
        sql = argv[2]
    return uri, sql

def test():
    print get_uri_sql(['', 'uri', 'sql'])
    print get_uri_sql(['', 'uri', '-f', 'runtransac.py'])
    print get_uri_sql(['', 'uri', '-f'])
    
if __name__ == '__main__':
    uri, sql = get_uri_sql(sys.argv)
    openclose(uri, sql, autocommit=False)