Class: WikiAvro::MediaWiki::RevisionProgress

Inherits:
FinalProgress show all
Defined in:
lib/wikiavro/mediawiki.rb

Instance Method Summary collapse

Methods inherited from FinalProgress

#f, #report_pages, #report_skipped_element, #show_skipped, #total_skipped

Constructor Details

#initialize(interval) ⇒ RevisionProgress

Returns a new instance of RevisionProgress.



205
206
207
208
209
210
# File 'lib/wikiavro/mediawiki.rb', line 205

def initialize(interval)
  super()
  @interval = interval
  @previous_time = @start_time
  @previous_revisions = 0
end

Instance Method Details

#announce_progressObject



181
182
183
184
185
186
187
188
189
190
# File 'lib/wikiavro/mediawiki.rb', line 181

def announce_progress
  now = Time.now
  rps = (@revisions - @previous_revisions) / (now - @previous_time)
  puts "Page #{f @pages}, rev #{f @revisions} (#{f rps.round(0)} rps)"
  skipped = total_skipped
  puts "#{f skipped} unprocessable elements so far."
  show_skipped
  @previous_time = now
  @previous_revisions = @revisions
end

#report_doneObject



200
201
202
203
# File 'lib/wikiavro/mediawiki.rb', line 200

def report_done
  announce_progress
  super
end

#report_revisions(n) ⇒ Object



192
193
194
195
196
197
198
# File 'lib/wikiavro/mediawiki.rb', line 192

def report_revisions(n)
  super(n)

  if @revisions - @previous_revisions >= @interval
    announce_progress
  end
end