Properly escape single quotes, allow multi-line text

This commit is contained in:
Klaus-Uwe Mitterer 2017-02-26 19:12:37 +01:00
parent fb46ff651e
commit c53c1f1c54

View file

@ -3,24 +3,32 @@
import dbtools import dbtools
def addLyrics(text, ref = 0, db = dbtools.dbHelper()): def addLyrics(text, ref = 0, db = dbtools.dbHelper()):
db.executeQuery("INSERT INTO lyrics(text, ref, active) VALUES('%s', %i, %i);" % (text, ref, (1 if ref == 0 else 0))) db.executeQuery("INSERT INTO lyrics(text, ref, active) VALUES('%s', %i, %i);" % (text.replace("'", "''"), ref, (1 if ref == 0 else 0)))
db.commit() db.commit()
return db.cur.lastrowid return db.cur.lastrowid
def queryLyrics(ref = 0): def queryLyrics(ref = 0):
text = input("Text: ") text = "."
out = ""
if len(text) > 130: while text != "":
print("Text too long (%i characters)" % len(text)) text = input("Text: ")
if out != "":
out += "\n%s" % text
else:
out = text
if len(out) > 130:
print("Text too long (%i characters)" % len(out))
return queryLyrics(ref) return queryLyrics(ref)
ref = int(input("Reference [%i]: " % ref) or ref) ref = int(input("Reference [%i]: " % ref) or ref)
row = addLyrics(text, ref) row = addLyrics(out, ref)
ans = "" ans = ""
while ans.lower() not in ("y", "n"): while ans.lower() not in ("y", "n", ""):
ans = input("Add follow-up lyrics? [Y/n] ") ans = input("Add follow-up lyrics? [Y/n] ")
if ans.lower() != "n": if ans.lower() != "n":