Class: DBRedis

Inherits:
Object
  • Object
show all
Defined in:
lib/gsv_downloader/db_redis.rb

Instance Method Summary collapse

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

Returns:

  • (Boolean)


14
15
16
# File 'lib/gsv_downloader/db_redis.rb', line 14

def crawled?(panoID)
	@redis.sismember("area:#{@area}:crawled", panoID)
end

#crawled_countObject



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_downloadObject



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

#listObject



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

Returns:

  • (Boolean)


55
56
57
# File 'lib/gsv_downloader/db_redis.rb', line 55

def (panoID)
	@redis.exists(panoID)
end

#nb_panoramasObject



43
44
45
# File 'lib/gsv_downloader/db_redis.rb', line 43

def nb_panoramas()
	@redis.scard("area:#{@area}")
end

#not_scrawledObject



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_crawlObject



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

Returns:

  • (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