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)
|