Skip to content

Commit 10b51a3

Browse files
committed
page.py, related.py: less ridiculous SQL query quoting
1 parent f50ae03 commit 10b51a3

File tree

2 files changed

+56
-53
lines changed

2 files changed

+56
-53
lines changed

silicon/page.py

Lines changed: 45 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def get_titles():
1515
"""
1616
Returns all page titles as an sqlite3.Cursor object.
1717
"""
18-
return get_db().execute("SELECT DISTINCT title FROM pages;")
18+
return get_db().execute("SELECT DISTINCT title FROM pages")
1919

2020

2121
def read_all():
@@ -39,24 +39,24 @@ def read(title, revision=None):
3939
page = {}
4040

4141
if revision is None:
42-
db_row = get_db().execute(
43-
"SELECT revision, body "
44-
"FROM pages "
45-
"WHERE title=? "
46-
"ORDER BY revision "
47-
"DESC "
48-
"LIMIT 1",
49-
(title,)
42+
db_row = get_db().execute("""
43+
SELECT revision, body
44+
FROM pages
45+
WHERE title=?
46+
ORDER BY revision
47+
DESC
48+
LIMIT 1
49+
""", (title,)
5050
).fetchone()
5151
else:
52-
db_row = get_db().execute(
53-
"SELECT revision, body "
54-
"FROM pages "
55-
"WHERE title=? AND revision=? "
56-
"ORDER BY revision "
57-
"DESC "
58-
"LIMIT 1",
59-
(title, revision)
52+
db_row = get_db().execute("""
53+
SELECT revision, body
54+
FROM pages
55+
WHERE title=? AND revision=?
56+
ORDER BY revision
57+
DESC
58+
LIMIT 1
59+
""", (title, revision)
6060
).fetchone()
6161

6262
page = {}
@@ -104,9 +104,12 @@ def history(title, order='desc'):
104104
else:
105105
sql_order = 'DESC'
106106

107-
revisions = get_db().execute(
108-
f"SELECT revision FROM pages WHERE title=? ORDER BY revision {sql_order}",
109-
(title,)
107+
revisions = get_db().execute(f"""
108+
SELECT revision
109+
FROM pages
110+
WHERE title=?
111+
ORDER BY revision {sql_order}
112+
""", (title,)
110113
).fetchall()
111114

112115
return [r['revision'] for r in revisions]
@@ -148,30 +151,30 @@ def filter_query(query):
148151
filtered_query = filter_query(query)
149152

150153
try:
151-
title_results = get_db().execute(
152-
"SELECT "
153-
" title, "
154-
" snippet(pages_fts, 0, '__mark__', '__/mark__', '...', 10) "
155-
"AS snippet "
156-
"FROM pages_fts "
157-
"WHERE pages_fts "
158-
"MATCH ? "
159-
"ORDER BY rank "
160-
"LIMIT 50",
161-
(f'title:{filtered_query}',)
154+
title_results = get_db().execute("""
155+
SELECT
156+
title,
157+
snippet(pages_fts, 0, '__mark__', '__/mark__', '...', 10)
158+
AS snippet
159+
FROM pages_fts
160+
WHERE pages_fts
161+
MATCH ?
162+
ORDER BY rank
163+
LIMIT 50
164+
""", (f'title:{filtered_query}',)
162165
).fetchall()
163166

164-
body_results = get_db().execute(
165-
"SELECT "
166-
" title, "
167-
" snippet(pages_fts, 1, '__mark__', '__/mark__', '...', 64) "
168-
"AS snippet "
169-
"FROM pages_fts "
170-
"WHERE pages_fts "
171-
"MATCH ? "
172-
"ORDER BY rank "
173-
"LIMIT 50",
174-
(f"body:{filtered_query}",)
167+
body_results = get_db().execute("""
168+
SELECT
169+
title,
170+
snippet(pages_fts, 1, '__mark__', '__/mark__', '...', 64)
171+
AS snippet
172+
FROM pages_fts
173+
WHERE pages_fts
174+
MATCH ?
175+
ORDER BY rank
176+
LIMIT 50
177+
""", (f"body:{filtered_query}",)
175178
).fetchall()
176179
except OperationalError as err:
177180
raise SearchError(f"Search Error: {err}")

silicon/related.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ def get(title):
1616
"""
1717
c = get_db()
1818
c.row_factory = None
19-
rels = c.execute(
20-
"SELECT title_b FROM relationships WHERE title_a = ? "
21-
"UNION ALL "
22-
"SELECT title_a FROM relationships WHERE title_b = ?",
23-
(title, title)
19+
rels = c.execute("""
20+
SELECT title_b FROM relationships WHERE title_a = ?
21+
UNION ALL
22+
SELECT title_a FROM relationships WHERE title_b = ?
23+
""", (title, title)
2424
).fetchall()
2525
return sorted([r[0] for r in rels])
2626

@@ -75,12 +75,12 @@ def delete(title, related):
7575

7676
try:
7777
db = get_db()
78-
db.execute(
79-
"DELETE FROM relationships WHERE "
80-
"(title_a = ? and title_b = ?) "
81-
"OR "
82-
"(title_b = ? and title_a = ?)",
83-
(title, related, title, related)
78+
db.execute("""
79+
DELETE FROM relationships WHERE
80+
(title_a = ? and title_b = ?)
81+
OR
82+
(title_b = ? and title_a = ?)
83+
""", (title, related, title, related)
8484
)
8585
db.commit()
8686
except Exception as err:

0 commit comments

Comments
 (0)