Compare commits

..

No commits in common. "3682572001d39d54f26a485418aac767afb0daa4" and "9a3cad4293d00b79b359468991393344093d9c62" have entirely different histories.

2 changed files with 17 additions and 17 deletions

View file

@ -52,7 +52,7 @@ class FicTracker::Cli::Story < Thor
}.compact
found = FicTracker::Models::Story.where(**search)
if found.count > 1 && !story.start_with?('*/')
if found.size > 1 && !story.start_with?('*/')
puts "Found multiple potential stories for #{story}, please specify which ones to remove using the syntax <backend>/<story>: (use */<story> to remove all)"
found.each do |f|
puts " - #{f.backend_name}/#{f.slug} - #{f}"
@ -69,9 +69,9 @@ class FicTracker::Cli::Story < Thor
desc 'list', 'List all tracked stories'
def list
setup!
info = [['Slug', 'Story', 'Chapters', 'Completed', 'Last Updated'], ['----','-----','--------','---------','------------']]
info = [['Story', 'Chapters', 'Completed', 'Last Updated'], ['-----','--------','---------','------------']]
FicTracker::Models::Story.order_by(:name).each do |story|
info << [story.slug, story.name, story.chapters.size, story.completed?, (story.updated_at || story.published_at).strftime("%F")]
info << [story.name, story.chapters.size, story.completed?, (story.updated_at || story.published_at).strftime("%F")]
end
print_table info
end

View file

@ -155,8 +155,9 @@ module FicTracker::Models
def ensure_fully_loaded
return backend.load_full_story(self) unless id
refresh_content(splay: true)
refresh_metadata(splay: true)
refresh_content
refresh_metadata
apply_splay!
full_load = true
if chapters && chapters.size > 0
@ -207,11 +208,8 @@ module FicTracker::Models
[backend_name, slug, name].join('_').downcase.gsub(/[^[[:alnum:]]-_]/, '_').gsub(/__+/, '_').gsub(/^_|_$/, '')
end
def refresh_metadata(splay: false)
return unless backend && needs_metadata_refresh?
self.last_metadata_refresh += rand(-3600..3600) * 24 if splay
refresh_metadata!
def refresh_metadata
refresh_metadata! if backend && needs_metadata_refresh?
end
def refresh_metadata!
@ -219,11 +217,8 @@ module FicTracker::Models
backend.load_story(self)
end
def refresh_content(splay: false)
return unless backend && needs_content_refresh?
self.last_content_refresh += rand(-3600..3600) if splay
refresh_content!
def refresh_content
refresh_content! if backend && needs_content_refresh?
# chapters.each(&:refresh_content)
end
@ -233,6 +228,11 @@ module FicTracker::Models
# chapters.each(&:refresh_content!)
end
def apply_splay!(max: CONTENT_REFRESH_INTERVAL / 10)
self.last_metadata_refresh += rand(0..max)
self.last_content_refresh += rand(0..max)
end
def needs_metadata_refresh?
# return true if id && authors.empty?
@ -240,7 +240,7 @@ module FicTracker::Models
end
def self.needing_metadata_refresh
where { Sequel.|({ last_metadata_refresh: nil }, last_metadata_refresh < date.function(Time.now - METADATA_REFRESH_INTERVAL, 'localtime')) }
where { Sequel.|(last_metadata_refresh.nil?, last_metadata_refresh < date.function(Time.now - METADATA_REFRESH_INTERVAL, 'localtime')) }
end
def needs_content_refresh?
@ -248,7 +248,7 @@ module FicTracker::Models
end
def self.needing_content_refresh
where { Sequel.|({ last_content_refresh: nil }, last_content_refresh < date.function(Time.now - CONTENT_REFRESH_INTERVAL, 'localtime')) }
where { Sequel.|(last_content_refresh.nil?, last_content_refresh < date.function(Time.now - (completed? ? METADATA_REFRESH_INTERVAL : CONTENT_REFRESH_INTERVAL), 'localtime')) }
end
def to_s