Class: DBRedis
- Inherits:
-
Object
- Object
- DBRedis
- Defined in:
- lib/gsv_downloader/db_redis.rb
Instance Method Summary collapse
- #add_pano(panoID, data) ⇒ Object
- #add_to_area(panoID) ⇒ Object
- #crawled?(panoID) ⇒ Boolean
- #crawled_count ⇒ Object
- #get_filename(panoID) ⇒ Object
- #get_metadata(panoID) ⇒ Object
- #images_to_download ⇒ Object
-
#initialize(area_id = nil) ⇒ DBRedis
constructor
A new instance of DBRedis.
- #list ⇒ Object
- #mark_as_crawled(panoID) ⇒ Object
- #mark_to_crawl(panoID) ⇒ Object
- #metadata_exists?(panoID) ⇒ Boolean
- #nb_panoramas ⇒ Object
- #not_scrawled ⇒ Object
- #reset_crawl ⇒ Object
- #set_filename(panoID, fullname) ⇒ Object
- #set_metadata(panoID, data) ⇒ Object
- #to_crawl?(panoID) ⇒ Boolean
Constructor Details
#initialize(area_id = nil) ⇒ DBRedis
Returns a new instance of DBRedis.
5 6 7 8 |
# File 'lib/gsv_downloader/db_redis.rb', line 5 def initialize(area_id = nil) @redis = Redis.new(:driver => :hiredis) #:ruby @area = area_id end |
Instance Method Details
#add_pano(panoID, data) ⇒ Object
59 60 61 62 63 64 |
# File 'lib/gsv_downloader/db_redis.rb', line 59 def add_pano(panoID, data) # @redis.pipelined do (panoID, data) # unless metadata_exists?(panoID) add_to_area(panoID) # end end |
#add_to_area(panoID) ⇒ Object
51 52 53 |
# File 'lib/gsv_downloader/db_redis.rb', line 51 def add_to_area(panoID) @redis.sadd("area:#{@area}", panoID) end |
#crawled?(panoID) ⇒ Boolean
14 15 16 |
# File 'lib/gsv_downloader/db_redis.rb', line 14 def crawled?(panoID) @redis.sismember("area:#{@area}:crawled", panoID) end |
#crawled_count ⇒ Object
39 40 41 |
# File 'lib/gsv_downloader/db_redis.rb', line 39 def crawled_count() @redis.scard("area:#{@area}:crawled") end |
#get_filename(panoID) ⇒ Object
70 71 72 |
# File 'lib/gsv_downloader/db_redis.rb', line 70 def get_filename(panoID) @redis.get("filepath:#{panoID}") end |
#get_metadata(panoID) ⇒ Object
82 83 84 |
# File 'lib/gsv_downloader/db_redis.rb', line 82 def (panoID) @redis.get(panoID) end |
#images_to_download ⇒ Object
74 75 76 77 78 79 80 |
# 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 ⇒ Object
47 48 49 |
# File 'lib/gsv_downloader/db_redis.rb', line 47 def list() @redis.smembers("area:#{@area}") end |
#mark_as_crawled(panoID) ⇒ Object
10 11 12 |
# 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) ⇒ Object
18 19 20 |
# 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) ⇒ Boolean
55 56 57 |
# File 'lib/gsv_downloader/db_redis.rb', line 55 def (panoID) @redis.exists(panoID) end |
#nb_panoramas ⇒ Object
43 44 45 |
# File 'lib/gsv_downloader/db_redis.rb', line 43 def nb_panoramas() @redis.scard("area:#{@area}") end |
#not_scrawled ⇒ Object
26 27 28 29 30 31 |
# 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 ⇒ Object
33 34 35 36 37 |
# 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) ⇒ Object
66 67 68 |
# File 'lib/gsv_downloader/db_redis.rb', line 66 def set_filename(panoID, fullname) @redis.set("filepath:#{panoID}", fullname) end |
#set_metadata(panoID, data) ⇒ Object
86 87 88 |
# File 'lib/gsv_downloader/db_redis.rb', line 86 def (panoID, data) @redis.set(panoID, data) end |
#to_crawl?(panoID) ⇒ Boolean
22 23 24 |
# File 'lib/gsv_downloader/db_redis.rb', line 22 def to_crawl?(panoID) !@redis.sismember("area:#{@area}:crawl_queue", panoID) end |