comparison env/lib/python3.7/site-packages/galaxy/util/sqlite.py @ 5:9b1c78e6ba9c draft default tip

"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
author shellac
date Mon, 01 Jun 2020 08:59:25 -0400
parents 79f47841a781
children
comparison
equal deleted inserted replaced
4:79f47841a781 5:9b1c78e6ba9c
1 import re
2 import sqlite3
3
4 try:
5 import sqlparse
6
7 def is_read_only_query(query):
8 statements = sqlparse.parse(query)
9 for statement in statements:
10 if statement.get_type() != "SELECT":
11 return False
12 return True
13
14 except ImportError:
15 # Without sqlparse we use a very weak regex check
16 def is_read_only_query(query):
17 if re.match("select ", query, re.IGNORECASE):
18 if re.search("^([^\"]|\"[^\"]*\")*?;", query) or re.search("^([^\']|\'[^\']*\')*?;", query):
19 return False
20 else:
21 return True
22 return False
23
24
25 def connect(path):
26 connection = sqlite3.connect(path)
27 connection.row_factory = sqlite3.Row
28 return connection