MCPcopy
hub / github.com/catherinedevlin/ipython-sql / parse

Function parse

src/sql/parse.py:6–28  ·  view source on GitHub ↗
(cell, config)

Source from the content-addressed store, hash-verified

4
5
6def parse(cell, config):
7 parts = [part.strip() for part in cell.split(None, 1)]
8 if not parts:
9 return {'connection': '', 'sql': ''}
10 if parts[0].startswith('[') and parts[0].endswith(']'):
11 section = parts[0].lstrip('[').rstrip(']')
12 parser = CP.ConfigParser()
13 parser.read(config.dsn_filename)
14 cfg_dict = dict(parser.items(section))
15
16 connection = str(URL(**cfg_dict))
17 sql = parts[1] if len(parts) > 1 else ''
18 elif '@' in parts[0] or '://' in parts[0]:
19 connection = parts[0]
20 if len(parts) > 1:
21 sql = parts[1]
22 else:
23 sql = ''
24 else:
25 connection = ''
26 sql = cell
27 return {'connection': connection.strip(),
28 'sql': sql.strip()}

Callers 4

test_parse_no_sqlFunction · 0.90
test_parse_with_sqlFunction · 0.90
test_parse_sql_onlyFunction · 0.90

Calls

no outgoing calls

Tested by 4

test_parse_no_sqlFunction · 0.72
test_parse_with_sqlFunction · 0.72
test_parse_sql_onlyFunction · 0.72