|
|
@@ -80,7 +80,7 @@ class Notes(Command): |
|
|
|
try: |
|
|
|
slug = data.args[1].lower().replace("_", "").replace("-", "") |
|
|
|
except IndexError: |
|
|
|
self.reply(data, "Please name an entry to read from.") |
|
|
|
self.reply(data, "Please specify an entry to read from.") |
|
|
|
return |
|
|
|
|
|
|
|
with sqlite.connect(self._dbfile) as conn, self._db_access_lock: |
|
|
@@ -106,7 +106,7 @@ class Notes(Command): |
|
|
|
try: |
|
|
|
slug = data.args[1].lower().replace("_", "").replace("-", "") |
|
|
|
except IndexError: |
|
|
|
self.reply(data, "Please name an entry to edit.") |
|
|
|
self.reply(data, "Please specify an entry to edit.") |
|
|
|
return |
|
|
|
content = " ".join(data.args[2:]).strip() |
|
|
|
if not content: |
|
|
@@ -149,7 +149,7 @@ class Notes(Command): |
|
|
|
try: |
|
|
|
slug = data.args[1].lower().replace("_", "").replace("-", "") |
|
|
|
except IndexError: |
|
|
|
self.reply(data, "Please name an entry to get info on.") |
|
|
|
self.reply(data, "Please specify an entry to get info on.") |
|
|
|
return |
|
|
|
|
|
|
|
with sqlite.connect(self._dbfile) as conn, self._db_access_lock: |
|
|
@@ -171,15 +171,52 @@ class Notes(Command): |
|
|
|
msg += "; authors: {0}.".format(", ".join(list(set(names)))) |
|
|
|
self.reply(data, msg) |
|
|
|
else: |
|
|
|
title = data.args[1] |
|
|
|
self.reply(data, "Entry \x0302{0}\x0F not found.".format(title)) |
|
|
|
|
|
|
|
def do_rename(self, data): |
|
|
|
"""Rename an entry in the notes database.""" |
|
|
|
pass |
|
|
|
query1 = """SELECT entry_id, user_host FROM entries |
|
|
|
INNER JOIN revisions ON entry_revision = rev_id |
|
|
|
INNER JOIN users ON rev_user = user_id |
|
|
|
WHERE entry_slug = ?""" |
|
|
|
query2 = "UPDATE entries SET entry_title = ? WHERE entry_id = ?" |
|
|
|
try: |
|
|
|
slug = data.args[1].lower().replace("_", "").replace("-", "") |
|
|
|
except IndexError: |
|
|
|
self.reply(data, "Please specify an entry to rename.") |
|
|
|
return |
|
|
|
try: |
|
|
|
newtitle = data.args[2] |
|
|
|
except IndexError: |
|
|
|
self.reply(data, "Please specify an entry to rename.") |
|
|
|
return |
|
|
|
if newtitle == data.args[1]: |
|
|
|
self.reply(data, "The old and new titles are identical.") |
|
|
|
return |
|
|
|
|
|
|
|
with sqlite.connect(self._dbfile) as conn, self._db_access_lock: |
|
|
|
try: |
|
|
|
id_, author = conn.execute(query1, (slug,)).fetchone() |
|
|
|
except (sqlite.OperationalError, TypeError): |
|
|
|
msg = "Entry \x0302{0}\x0F not found.".format(data.args[1]) |
|
|
|
self.reply(data, msg) |
|
|
|
return |
|
|
|
if author != data.host and not permdb.is_admin(data): |
|
|
|
msg = "You must be an author or a bot admin to rename this entry." |
|
|
|
self.reply(data, msg) |
|
|
|
return |
|
|
|
conn.execute(query2, (newtitle, id_)) |
|
|
|
msg = "Entry \x0302{0}\x0F renamed to \x0302{1}\x0F." |
|
|
|
self.reply(data, msg.format(data.args[1], newtitle)) |
|
|
|
|
|
|
|
def do_delete(self, data): |
|
|
|
"""Delete an entry from the notes database.""" |
|
|
|
pass |
|
|
|
try: |
|
|
|
slug = data.args[1].lower().replace("_", "").replace("-", "") |
|
|
|
except IndexError: |
|
|
|
self.reply(data, "Please specify an entry to delete.") |
|
|
|
return |
|
|
|
|
|
|
|
def create_db(self, conn): |
|
|
|
"""Initialize the notes database with its necessary tables.""" |
|
|
|