Class: Cassiopee::CrawlerCache

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

Overview

Class maning cache of results

Constant Summary collapse

FILE_CACHE_EXT =
".sfc"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeCrawlerCache

Returns a new instance of CrawlerCache.



175
176
177
# File 'lib/cassiopee.rb', line 175

def initialize
      @file_suffix = "crawler"
end

Instance Attribute Details

#cacheObject

Returns the value of attribute cache.



166
167
168
# File 'lib/cassiopee.rb', line 166

def cache
  @cache
end

#errorsObject

max errors



164
165
166
# File 'lib/cassiopee.rb', line 164

def errors
  @errors
end

#file_suffixObject

Suffix files name/path



152
153
154
# File 'lib/cassiopee.rb', line 152

def file_suffix
  @file_suffix
end

#max_positionObject

Returns the value of attribute max_position.



161
162
163
# File 'lib/cassiopee.rb', line 161

def max_position
  @max_position
end

#methodObject

search exact: 0 hamming : 1 edit : 2



157
158
159
# File 'lib/cassiopee.rb', line 157

def method
  @method
end

#min_positionObject

filter



160
161
162
# File 'lib/cassiopee.rb', line 160

def min_position
  @min_position
end

Instance Method Details

#clearCacheObject



206
207
208
# File 'lib/cassiopee.rb', line 206

def clearCache
  File.delete(@file_suffix+FILE_CACHE_EXT) unless !File.exists?(@file_suffix+FILE_CACHE_EXT)
end

#loadCacheObject

Loads cache from file



180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
# File 'lib/cassiopee.rb', line 180

def loadCache
            return Array.new unless File.exists?(@file_suffix+FILE_CACHE_EXT)
              begin
                file = Zlib::GzipReader.open(@file_suffix+FILE_CACHE_EXT)
              rescue Zlib::GzipFile::Error
                file = File.open(@file_suffix+FILE_CACHE_EXT, 'r')
              ensure
                  obj =  Marshal.load file.read
                  file.close
      if(method!=obj.method || min_position<obj.min_position || max_position>obj.max_position || errors>obj.errors)
        return Array.new
      end
                  return filterCache(obj)
              end     
end

#saveCache(obj) ⇒ Object

Save self to cache, with cache object set from obj



197
198
199
200
201
202
203
204
# File 'lib/cassiopee.rb', line 197

def saveCache(obj)
  self.cache = obj
  marshal_dump = Marshal.dump(self)
  sfxpos = File.new(@file_suffix+FILE_CACHE_EXT,'w')
  sfxpos = Zlib::GzipWriter.new(sfxpos)
  sfxpos.write marshal_dump
  sfxpos.close
end

#setLogger(userlogger) ⇒ Object



171
172
173
# File 'lib/cassiopee.rb', line 171

def setLogger(userlogger)
  $log = userlogger
end