class DBRedis
Public Class Methods
new(area_id = nil)
click to toggle source
# File lib/gsv_downloader/db_redis.rb, line 5 def initialize(area_id = nil) @redis = Redis.new(:driver => :hiredis) #:ruby @area = area_id end
Public Instance Methods
add_pano(panoID, data)
click to toggle source
# File lib/gsv_downloader/db_redis.rb, line 59 def add_pano(panoID, data) # @redis.pipelined do set_metadata(panoID, data) # unless metadata_exists?(panoID) add_to_area(panoID) # end end
add_to_area(panoID)
click to toggle source
# File lib/gsv_downloader/db_redis.rb, line 51 def add_to_area(panoID) @redis.sadd("area:#{@area}", panoID) end
crawled?(panoID)
click to toggle source
# File lib/gsv_downloader/db_redis.rb, line 14 def crawled?(panoID) @redis.sismember("area:#{@area}:crawled", panoID) end
crawled_count()
click to toggle source
# File lib/gsv_downloader/db_redis.rb, line 39 def crawled_count() @redis.scard("area:#{@area}:crawled") end
get_filename(panoID)
click to toggle source
# File lib/gsv_downloader/db_redis.rb, line 70 def get_filename(panoID) @redis.get("filepath:#{panoID}") end
get_metadata(panoID)
click to toggle source
# File lib/gsv_downloader/db_redis.rb, line 82 def get_metadata(panoID) @redis.get(panoID) end
images_to_download()
click to toggle source
# File lib/gsv_downloader/db_redis.rb, line 74 def images_to_download() pano_ids = [] list().each do |pano_id| pano_ids << pano_id unless @redis.exists("filepath:#{pano_id}") end pano_ids end
list()
click to toggle source
# File lib/gsv_downloader/db_redis.rb, line 47 def list() @redis.smembers("area:#{@area}") end
mark_as_crawled(panoID)
click to toggle source
# File lib/gsv_downloader/db_redis.rb, line 10 def mark_as_crawled(panoID) @redis.sadd("area:#{@area}:crawled", panoID) end
mark_to_crawl(panoID)
click to toggle source
# File lib/gsv_downloader/db_redis.rb, line 18 def mark_to_crawl(panoID) @redis.sadd("area:#{@area}:crawl_queue", panoID) end
metadata_exists?(panoID)
click to toggle source
# File lib/gsv_downloader/db_redis.rb, line 55 def metadata_exists?(panoID) @redis.exists(panoID) end
nb_panoramas()
click to toggle source
# File lib/gsv_downloader/db_redis.rb, line 43 def nb_panoramas() @redis.scard("area:#{@area}") end
not_scrawled()
click to toggle source
# File lib/gsv_downloader/db_redis.rb, line 26 def not_scrawled() list = @redis.sdiff("area:#{@area}:crawl_queue","area:#{@area}:crawled") test = @redis.sismember("area:#{@area}:crawl_queue", list[0]) and (!@redis.sismember("area:#{@area}:crawled", list[0])) puts "TEST #{test}" list end
reset_crawl()
click to toggle source
# File lib/gsv_downloader/db_redis.rb, line 33 def reset_crawl @redis.del("area:#{@area}:crawled") @redis.del("area:#{@area}:crawl_queue") @redis.del("area:#{@area}") end
set_filename(panoID, fullname)
click to toggle source
# File lib/gsv_downloader/db_redis.rb, line 66 def set_filename(panoID, fullname) @redis.set("filepath:#{panoID}", fullname) end
set_metadata(panoID, data)
click to toggle source
# File lib/gsv_downloader/db_redis.rb, line 86 def set_metadata(panoID, data) @redis.set(panoID, data) end
to_crawl?(panoID)
click to toggle source
# File lib/gsv_downloader/db_redis.rb, line 22 def to_crawl?(panoID) !@redis.sismember("area:#{@area}:crawl_queue", panoID) end