Skip to content

Commit

Permalink
update from feed pages
Browse files Browse the repository at this point in the history
  • Loading branch information
technoweenie committed Dec 23, 2011
1 parent c1cf58c commit 06b43c0
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 9 deletions.
3 changes: 2 additions & 1 deletion Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,11 @@ namespace :seinfeld do

desc "Update the calendar of USER"
task :update => :init do
ENV['FEED_PAGE'] ||= '1'
update_user = lambda do |user|
header = "#{user.login}#{' (disabled)' if user.disabled?} - "
begin
feed = Seinfeld::Updater.run(user)
feed = Seinfeld::Updater.run(user, ENV['FEED_PAGE'])
puts header << feed.inspect
rescue
puts header << "#{$!.class}: #{$!.inspect}"
Expand Down
14 changes: 8 additions & 6 deletions lib/seinfeld/updater.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,22 @@ def initialize(user)
@user = user
end

def run(today = Date.today)
def run(today = Date.today, page = nil)
today ||= Date.today
old_location = @user.location
@user.update_location!
@user.update_timezone! if old_location != @user.location
Time.zone = @user.time_zone || "UTC"
if feed = Feed.fetch(@user)
@user.etag = feed.etag
@user.update_progress(feed.committed_days, today)
else
feed = Feed.fetch(@user, page)
if feed.disabled?
@user.disabled = true
@user.save!
nil
else
@user.etag = feed.etag
@user.update_progress(feed.committed_days, today)
feed
end
feed
end
end
end
4 changes: 2 additions & 2 deletions lib/seinfeld/user.rb
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ def progress_for(year, month, extra = 0)
#
# Returns nothing.
def update_progress(days, today = Date.today)
days = filter_existing_days(days)
streaks = [current_streak = Streak.new(streak_start, streak_end)]
days = filter_existing_days(days)
streaks = [current_streak = Streak.new(streak_start, streak_end)]

days.sort!
transaction do
Expand Down

0 comments on commit 06b43c0

Please sign in to comment.