mirror of
https://github.com/Mikaela/Limnoria.git
synced 2024-11-27 13:19:24 +01:00
Added locked_by back ... to stay, now admin/owner people can lock/unlock
factoids that they didn't create. So it'll be nice to be able to see just who locked a factoid of yours.
This commit is contained in:
parent
1b25a207bf
commit
051928efa5
@ -152,6 +152,7 @@ class MoobotFactoids(callbacks.PrivmsgCommandAndRegexp):
|
|||||||
modified_by INTEGER,
|
modified_by INTEGER,
|
||||||
modified_at TIMESTAMP,
|
modified_at TIMESTAMP,
|
||||||
locked_at TIMESTAMP,
|
locked_at TIMESTAMP,
|
||||||
|
locked_by INTEGER,
|
||||||
last_requested_by TEXT,
|
last_requested_by TEXT,
|
||||||
last_requested_at TIMESTAMP,
|
last_requested_at TIMESTAMP,
|
||||||
fact TEXT,
|
fact TEXT,
|
||||||
@ -387,13 +388,14 @@ class MoobotFactoids(callbacks.PrivmsgCommandAndRegexp):
|
|||||||
cursor = self.db.cursor()
|
cursor = self.db.cursor()
|
||||||
cursor.execute("""SELECT created_by, created_at, modified_by,
|
cursor.execute("""SELECT created_by, created_at, modified_by,
|
||||||
modified_at, last_requested_by, last_requested_at,
|
modified_at, last_requested_by, last_requested_at,
|
||||||
requested_count, locked_at FROM
|
requested_count, locked_by, locked_at FROM
|
||||||
factoids WHERE key LIKE %s""", key)
|
factoids WHERE key LIKE %s""", key)
|
||||||
if cursor.rowcount == 0:
|
if cursor.rowcount == 0:
|
||||||
irc.error(msg, "No such factoid: %s" % key)
|
irc.error(msg, "No such factoid: %s" % key)
|
||||||
return
|
return
|
||||||
(created_by, created_at, modified_by, modified_at, last_requested_by,
|
(created_by, created_at, modified_by, modified_at, last_requested_by,
|
||||||
last_requested_at, requested_count, locked_at) = cursor.fetchone()
|
last_requested_at, requested_count, locked_by,
|
||||||
|
locked_at) = cursor.fetchone()
|
||||||
# First, creation info.
|
# First, creation info.
|
||||||
# Map the integer created_by to the username
|
# Map the integer created_by to the username
|
||||||
creat_by = ircdb.users.getUser(created_by).name
|
creat_by = ircdb.users.getUser(created_by).name
|
||||||
@ -417,12 +419,12 @@ class MoobotFactoids(callbacks.PrivmsgCommandAndRegexp):
|
|||||||
(last_by, last_at, times_str)
|
(last_by, last_at, times_str)
|
||||||
# Last, locked info
|
# Last, locked info
|
||||||
if locked_at is not None:
|
if locked_at is not None:
|
||||||
lock_at = time.strftime(conf.humanTimestampFormat,
|
lock_at = time.strftime(conf.humanTimestampFormat,
|
||||||
time.localtime(int(locked_at)))
|
time.localtime(int(locked_at)))
|
||||||
s += " Locked on %s." % lock_at
|
lock_by = ircdb.users.getUser(locked_by).name
|
||||||
|
s += " Locked by %s on %s." % (lock_by, lock_at)
|
||||||
irc.reply(msg, s)
|
irc.reply(msg, s)
|
||||||
|
|
||||||
|
|
||||||
def _lock(self, irc, msg, args, lock=True):
|
def _lock(self, irc, msg, args, lock=True):
|
||||||
try:
|
try:
|
||||||
id = ircdb.users.getUserId(msg.prefix)
|
id = ircdb.users.getUserId(msg.prefix)
|
||||||
@ -431,19 +433,19 @@ class MoobotFactoids(callbacks.PrivmsgCommandAndRegexp):
|
|||||||
return
|
return
|
||||||
key = privmsgs.getArgs(args, needed=1)
|
key = privmsgs.getArgs(args, needed=1)
|
||||||
cursor = self.db.cursor()
|
cursor = self.db.cursor()
|
||||||
cursor.execute("""SELECT created_by, locked_at FROM factoids
|
cursor.execute("""SELECT created_by, locked_by FROM factoids
|
||||||
WHERE key LIKE %s""", key)
|
WHERE key LIKE %s""", key)
|
||||||
if cursor.rowcount == 0:
|
if cursor.rowcount == 0:
|
||||||
irc.error(msg, "No such factoid: %s" % key)
|
irc.error(msg, "No such factoid: %s" % key)
|
||||||
return
|
return
|
||||||
(created_by, locked_at) = cursor.fetchone()
|
(created_by, locked_by) = cursor.fetchone()
|
||||||
# Don't perform redundant operations
|
# Don't perform redundant operations
|
||||||
if lock:
|
if lock:
|
||||||
if locked_at is not None:
|
if locked_by is not None:
|
||||||
irc.error(msg, "Factoid '%s' is already locked." % key)
|
irc.error(msg, "Factoid '%s' is already locked." % key)
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
if locked_at is None:
|
if locked_by is None:
|
||||||
irc.error(msg, "Factoid '%s' is not locked." % key)
|
irc.error(msg, "Factoid '%s' is not locked." % key)
|
||||||
return
|
return
|
||||||
# Can only lock/unlock own factoids
|
# Can only lock/unlock own factoids
|
||||||
@ -459,8 +461,9 @@ class MoobotFactoids(callbacks.PrivmsgCommandAndRegexp):
|
|||||||
locked_at = int(time.time())
|
locked_at = int(time.time())
|
||||||
else:
|
else:
|
||||||
locked_at = None
|
locked_at = None
|
||||||
cursor.execute("""UPDATE factoids SET locked_at = %s
|
id = None
|
||||||
WHERE key = %s""", locked_at, key)
|
cursor.execute("""UPDATE factoids SET locked_at = %s, locked_by = %s
|
||||||
|
WHERE key = %s""", locked_at, id, key)
|
||||||
self.db.commit()
|
self.db.commit()
|
||||||
irc.reply(msg, conf.replySuccess)
|
irc.reply(msg, conf.replySuccess)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user