lib/ayadn/databases.rb in ayadn-3.0 vs lib/ayadn/databases.rb in ayadn-4.0
- old
+ new
@@ -2,11 +2,11 @@
module Ayadn
class Databases
def self.open_databases
- @sqlfile = "#{Settings.config[:paths][:db]}/ayadn.sqlite"
+ @sqlfile = "#{Settings.config.paths.db}/ayadn.sqlite"
@sql = Amalgalite::Database.new(@sqlfile)
@accounts = Amalgalite::Database.new(Dir.home + "/ayadn/accounts.sqlite")
end
def self.create_tables(user)
@@ -176,24 +176,10 @@
exit
end
end
end
- # def self.import_blacklist(blacklist)
- # new_list = self.init blacklist
- # new_list.each {|name,type| @blacklist[name] = type}
- # new_list.close
- # end
- # def self.convert_blacklist
- # dummy = {}
- # @blacklist.each {|v,k| dummy[v.downcase] = k}
- # @blacklist.clear
- # dummy.each {|v,k| @blacklist[v] = k}
- # end
-
-
-
def self.active_account(acc)
crashes = 0
begin
acc.execute("SELECT * FROM Accounts WHERE active=1")[0]
rescue Amalgalite::SQLite3::Error => e
@@ -626,16 +612,18 @@
crashes = 0
begin
@sql.execute("DELETE FROM TLIndex")
@sql.transaction do |db_in_transaction|
posts.each do |k, v|
- insert_data = {}
- insert_data[":post_id"] = v[:id]
- insert_data[":count"] = v[:count]
- insert_data[":content"] = v.to_json.to_s
- db_in_transaction.prepare("INSERT INTO TLIndex(count, post_id, content) VALUES(:count, :post_id, :content);") do |insert|
- insert.execute(insert_data)
+ if !v.blank?
+ insert_data = {}
+ insert_data[":post_id"] = v[:id]
+ insert_data[":count"] = v[:count]
+ insert_data[":content"] = v.to_json.to_s
+ db_in_transaction.prepare("INSERT INTO TLIndex(count, post_id, content) VALUES(:count, :post_id, :content);") do |insert|
+ insert.execute(insert_data)
+ end
end
end
end
rescue Amalgalite::SQLite3::Error => e
if crashes < 2
@@ -869,45 +857,45 @@
def self.has_new?(stream, title)
crashes = 0
begin
res = @sql.execute("SELECT post_id FROM Pagination WHERE name=(?)", [title]).flatten[0]
- stream['meta']['max_id'].to_i > res.to_i
+ stream.meta.max_id.to_i > res.to_i
rescue Amalgalite::SQLite3::Error => e
if crashes < 2
crashes += 1
sleep(0.01)
retry
else
puts "ERROR in Databases"
puts caller
puts e
- puts ['has_new?', stream, title].inspect
+ puts ['has_new?', stream.inspect, title].inspect
exit
end
end
end
def self.save_max_id(stream, name = 'unknown')
crashes = 0
begin
- if stream['meta']['marker'].nil?
+ if stream.meta.marker.nil?
key = name
else
- key = stream['meta']['marker']['name']
+ key = stream.meta.marker.name
end
@sql.execute("DELETE FROM Pagination WHERE name=(?)", [key])
- @sql.execute("INSERT INTO Pagination(name, post_id) VALUES(?, ?);", [key, stream['meta']['max_id'].to_i])
+ @sql.execute("INSERT INTO Pagination(name, post_id) VALUES(?, ?);", [key, stream.meta.max_id.to_i])
rescue Amalgalite::SQLite3::Error => e
if crashes < 2
crashes += 1
sleep(0.01)
retry
else
puts "ERROR in Databases"
puts caller
puts e
- puts ['save_max_id', stream, name].inspect
+ puts ['save_max_id', stream.inspect, name].inspect
exit
end
end
end