Skip to content

Commit

Permalink
Tweaked schema of karma db.
Browse files Browse the repository at this point in the history
  • Loading branch information
pfaffle committed Jul 4, 2014
1 parent 9b9f6d0 commit 3064715
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 15 deletions.
22 changes: 11 additions & 11 deletions plugins/karma_plugin.rb
Expand Up @@ -26,7 +26,7 @@ def initialize(m)
super(m)
@@karma_db = SQLite3::Database.new('karma.sqlite3')
@@karma_db.execute("CREATE TABLE IF NOT EXISTS karma(
obj TEXT PRIMARY KEY,
key TEXT PRIMARY KEY,
val INTEGER)")
end

Expand All @@ -40,7 +40,7 @@ def initialize(m)
def self.init_db()
db = SQLite3::Database.new('karma.sqlite3')
db.execute("CREATE TABLE IF NOT EXISTS karma(
obj TEXT PRIMARY KEY,
key TEXT PRIMARY KEY,
val INTEGER)")
return db
end
Expand Down Expand Up @@ -68,17 +68,17 @@ def increment(m)
break
end

r = @@karma_db.get_first_value("SELECT val FROM karma WHERE obj=?", key)
r = @@karma_db.get_first_value("SELECT val FROM karma WHERE key=?", key)
if (r != nil)
# Element already exists in the db; update or delete it.
if (r == -1)
@@karma_db.execute("DELETE FROM karma WHERE obj=?", key)
@@karma_db.execute("DELETE FROM karma WHERE key=?", key)
else
@@karma_db.execute("UPDATE karma SET val=? WHERE obj=?", r+1, key)
@@karma_db.execute("UPDATE karma SET val=? WHERE key=?", r+1, key)
end
else
# Element does not yet exist in the db; insert it.
@@karma_db.execute("INSERT INTO karma (obj,val) VALUES (?,?)", key, 1)
@@karma_db.execute("INSERT INTO karma (key,val) VALUES (?,?)", key, 1)
end
end
end
Expand Down Expand Up @@ -106,17 +106,17 @@ def decrement(m)
break
end

r = @@karma_db.get_first_value("SELECT val FROM karma WHERE obj=?", key)
r = @@karma_db.get_first_value("SELECT val FROM karma WHERE key=?", key)
if (r != nil)
# Element already exists in the db; update or delete it.
if (r == 1)
@@karma_db.execute("DELETE FROM karma WHERE obj=?", key)
@@karma_db.execute("DELETE FROM karma WHERE key=?", key)
else
@@karma_db.execute("UPDATE karma SET val=? WHERE obj=?", r-1, key)
@@karma_db.execute("UPDATE karma SET val=? WHERE key=?", r-1, key)
end
else
# Element does not yet exist in the db; insert it.
@@karma_db.execute("INSERT INTO karma (obj,val) VALUES (?,?)", key, -1)
@@karma_db.execute("INSERT INTO karma (key,val) VALUES (?,?)", key, -1)
end
end
end
Expand All @@ -130,7 +130,7 @@ def decrement(m)
#
def display(m,key)
key.downcase!
r = @@karma_db.get_first_value("SELECT val FROM karma WHERE obj=?", key)
r = @@karma_db.get_first_value("SELECT val FROM karma WHERE key=?", key)
if (r != nil)
m.reply("#{key} has karma of #{r}.")
else
Expand Down
8 changes: 4 additions & 4 deletions tools/import_karma.rb
Expand Up @@ -33,7 +33,7 @@
# Initialize database.
db = SQLite3::Database.new(target)
db.execute("CREATE TABLE IF NOT EXISTS karma(
obj TEXT PRIMARY KEY,
key TEXT PRIMARY KEY,
val INTEGER)")

# Import data into database.
Expand All @@ -50,15 +50,15 @@
end
key = $1
val = $2
r = db.get_first_value("SELECT val FROM karma WHERE obj=?", key)
r = db.get_first_value("SELECT val FROM karma WHERE key=?", key)
begin
next if (val == '0')
if (r.nil?)
# Element does not yet exist in the db; insert it.
db.execute("INSERT INTO karma (obj,val) VALUES (?,?)", key, val)
db.execute("INSERT INTO karma (key,val) VALUES (?,?)", key, val)
else
# Element already exists in the db; update it.
db.execute("UPDATE karma SET val=? WHERE obj=?", val, key)
db.execute("UPDATE karma SET val=? WHERE key=?", val, key)
end
rescue => e
warn("Failed to insert data. Error: #{e}\nLine: #{line}")
Expand Down

0 comments on commit 3064715

Please sign in to comment.