|
|
@@ -77,36 +77,43 @@ class Lastact():
|
|
|
def update(self, name, type, channel=False, lastact=False, auxiliary=False):
|
|
|
|
|
|
# Create records if not present.
|
|
|
- queries.create_ifnot_onrecord(self, name)
|
|
|
-
|
|
|
- # Update record.
|
|
|
- fields = "last_act_type, last_act_datetime, last_act_channel, last_act, last_act_auxiliary"
|
|
|
- values = "'" + type + "', '" + str(datetime.now()) + "'"
|
|
|
- arguments = ()
|
|
|
if channel:
|
|
|
- values += ", '" + channel + "'"
|
|
|
- else:
|
|
|
- values += ", NULL"
|
|
|
- if lastact:
|
|
|
- values += ", %s"
|
|
|
- arguments += lastact,
|
|
|
- else:
|
|
|
- values += ", NULL"
|
|
|
- if auxiliary:
|
|
|
- values += ", %s"
|
|
|
- arguments += auxiliary,
|
|
|
- else:
|
|
|
- values += ", NULL"
|
|
|
- self.db.run("UPDATE users SET (" + fields + ") = (" + values + ") WHERE name='" + name + "' AND network='" + self.network + "'", arguments)
|
|
|
+ queries.create_ifnot_onrecord(self, "channels", channel)
|
|
|
+ queries.create_ifnot_onrecord(self, "users", name)
|
|
|
+
|
|
|
+ # Update record.
|
|
|
+# fields = "last_act_type, last_act_datetime, LOWER(last_act_channel), last_act, last_act_auxiliary"
|
|
|
+# values = "'" + type + "', '" + str(datetime.now()) + "'"
|
|
|
+# arguments = ()
|
|
|
+# if channel:
|
|
|
+# values += ", LOWER(%s)"
|
|
|
+# arguments += channel,
|
|
|
+# else:
|
|
|
+# values += ", NULL"
|
|
|
+# if lastact:
|
|
|
+# values += ", %s"
|
|
|
+# arguments += lastact,
|
|
|
+# else:
|
|
|
+# values += ", NULL"
|
|
|
+# if auxiliary:
|
|
|
+# values += ", %s"
|
|
|
+# arguments += auxiliary,
|
|
|
+# else:
|
|
|
+# values += ", NULL"
|
|
|
+# print("UPDATE users SET (" + fields + ") = (" + values + ") WHERE name='" + name + "' AND network='" + self.network + "'")
|
|
|
+# print(arguments)
|
|
|
+ #self.db.run("UPDATE users SET (" + fields + ") = (" + values + ") WHERE name='" + name + "' AND network='" + self.network + "'", arguments)
|
|
|
+ self.db.run("UPDATE users SET last_act_type=%s, last_act_datetime=%s, last_act_channel=%s, last_act=%s, last_act_auxiliary=%s WHERE name=%s AND network=%s", (type, str(datetime.now()), channel, lastact, auxiliary, name, self.network))
|
|
|
|
|
|
# Set user back from away, if user is active.
|
|
|
if type not in ["nick", "kick", "part", "quit"]:
|
|
|
- self.db.run("UPDATE users SET away=FALSE WHERE name='" + name + "' AND network='" + self.network + "'")
|
|
|
+ self.db.run("UPDATE users SET away=FALSE WHERE name=%s AND network=%s", (name, self.network, ))
|
|
|
|
|
|
class MessageStatistics():
|
|
|
def update(self, event, type):
|
|
|
type = type + "s"
|
|
|
- queries.create_ifnot_onrecord(self, event.source.nick)
|
|
|
- if not self.db.one("SELECT id FROM messages WHERE LOWER(channel)=LOWER('" + event.target + "') AND channel_network='" + self.network + "' AND LOWER(\"user\")=LOWER('" + event.source.nick + "') AND user_network='" + self.network + "'"): # Not on record.
|
|
|
+ queries.create_ifnot_onrecord(self, "channels", event.target)
|
|
|
+ queries.create_ifnot_onrecord(self, "users", event.source.nick)
|
|
|
+ if not self.db.one("SELECT channel, \"user\" FROM messages WHERE LOWER(channel)=LOWER(%s) AND channel_network=%s AND LOWER(\"user\")=LOWER(%s) AND user_network=%s", (event.target, self.network, event.source.nick, self.network, )): # Not on record.
|
|
|
self.db.run("INSERT INTO messages (channel, channel_network, \"user\", user_network) VALUES ('" + event.target + "', '" + self.network + "', '" + event.source.nick + "', '" + self.network + "')") # Create record.
|
|
|
self.db.run("UPDATE messages SET " + type + "=" + type + "+1, " + type + "_words=" + type + "_words+" + str(len(event.arguments[0].split())) + ", " + type + "_characters=" + type + "_characters+" + str(len(event.arguments[0])) + " WHERE LOWER(channel)=LOWER('" + event.target + "') AND channel_network='" + self.network + "' AND LOWER(\"user\")=LOWER('" + event.source.nick + "') AND user_network='" + self.network + "'") # Increment record.
|