diff options
author | Peter Wilmott <p@p8952.info> | 2015-02-14 18:17:54 +0000 |
---|---|---|
committer | Peter Wilmott <p@p8952.info> | 2015-02-14 18:17:54 +0000 |
commit | f5fc394147e038012606a1b8f3415974ce4959a6 (patch) | |
tree | b354862cb3c9a7648298204f45b9781fd463b262 /web | |
parent | Run repoman against all packages in the nightly task (diff) | |
download | ruby-tinderbox-f5fc394147e038012606a1b8f3415974ce4959a6.tar.gz ruby-tinderbox-f5fc394147e038012606a1b8f3415974ce4959a6.tar.bz2 ruby-tinderbox-f5fc394147e038012606a1b8f3415974ce4959a6.zip |
Add timestamps to pages using the 'packages' table
Diffstat (limited to 'web')
-rw-r--r-- | web/app.rb | 4 | ||||
-rw-r--r-- | web/db/migrations/014_add_timestamps.rb | 6 | ||||
-rw-r--r-- | web/lib/models.rb | 4 | ||||
-rw-r--r-- | web/lib/packages.rb | 7 | ||||
-rw-r--r-- | web/views/outdated_gems.erb | 6 | ||||
-rw-r--r-- | web/views/ruby_targets.erb | 6 | ||||
-rw-r--r-- | web/views/visualizations.erb | 6 |
7 files changed, 39 insertions, 0 deletions
@@ -60,6 +60,9 @@ class RubyStats < Sinatra::Base end get '/visualizations' do + # Last Updated + packages = Package.distinct(:category, :name).order(:category, :name, Sequel.desc(:version), Sequel.desc(:revision)).exclude(gem_version: 'nil') + # Ruby Targets ruby_1_9_amd64 = Package.where(r19_target: 'ruby19', amd64_keyword: 'amd64').count ruby_1_9__amd64 = Package.where(r19_target: 'ruby19', amd64_keyword: '~amd64').count @@ -82,6 +85,7 @@ class RubyStats < Sinatra::Base timed_out = Build.distinct(:package_id).order(:package_id, Sequel.desc(:time)).where(result: 'timed out').count erb :visualizations, locals: { + packages: packages, ruby_1_9_amd64: ruby_1_9_amd64, ruby_1_9__amd64: ruby_1_9__amd64, ruby_2_0_amd64: ruby_2_0_amd64, diff --git a/web/db/migrations/014_add_timestamps.rb b/web/db/migrations/014_add_timestamps.rb new file mode 100644 index 0000000..4401044 --- /dev/null +++ b/web/db/migrations/014_add_timestamps.rb @@ -0,0 +1,6 @@ +Sequel.migration do + change do + add_column :packages, :update_timestamp, String + add_column :packages, :portage_timestamp, String + end +end diff --git a/web/lib/models.rb b/web/lib/models.rb index 667e54f..0618cf0 100644 --- a/web/lib/models.rb +++ b/web/lib/models.rb @@ -1,4 +1,5 @@ DB = Sequel.connect(ENV['DATABASE_URL'], max_connections: 12, pool_timeout: 60) +DB.extension :pg_hstore class Package < Sequel::Model end @@ -8,3 +9,6 @@ end class Repoman < Sequel::Model(:repomans) end + +class Timestamp < Sequel::Model +end diff --git a/web/lib/packages.rb b/web/lib/packages.rb index cd18160..8a032b0 100644 --- a/web/lib/packages.rb +++ b/web/lib/packages.rb @@ -30,4 +30,11 @@ def update_packages package.delete end end + + update_timestamp = Time.now.to_i + portage_timestamp = File.read('/usr/portage/metadata/timestamp.x').split.first + Package.each do |package| + package.update(update_timestamp: update_timestamp) + package.update(portage_timestamp: portage_timestamp) + end end diff --git a/web/views/outdated_gems.erb b/web/views/outdated_gems.erb index 3e779aa..fc298a9 100644 --- a/web/views/outdated_gems.erb +++ b/web/views/outdated_gems.erb @@ -1,5 +1,11 @@ <div id="outdated_gems"> <h1>Outdated Gems</h1> + <small> + Last updated on + <%=Time.at(packages.first[:update_timestamp].to_i).strftime('%Y-%m-%d')%> + using a portage snapshot dated + <%=Time.at(packages.first[:portage_timestamp].to_i).strftime('%Y-%m-%d')%> + </small> </div> <form class="pull-right"> diff --git a/web/views/ruby_targets.erb b/web/views/ruby_targets.erb index eed6822..bb97a08 100644 --- a/web/views/ruby_targets.erb +++ b/web/views/ruby_targets.erb @@ -1,5 +1,11 @@ <div id="ruby_targets"> <h1>Ruby Targets</h1> + <small> + Last updated on + <%=Time.at(packages.first[1][0][:update_timestamp].to_i).strftime('%Y-%m-%d')%> + using a portage snapshot dated + <%=Time.at(packages.first[1][0][:portage_timestamp].to_i).strftime('%Y-%m-%d')%> + </small> </div> <form class="pull-right"> diff --git a/web/views/visualizations.erb b/web/views/visualizations.erb index 342ba3c..d2adb35 100644 --- a/web/views/visualizations.erb +++ b/web/views/visualizations.erb @@ -6,6 +6,12 @@ <script src='/js/jquery.flot.plot.build.result.js'></script> <h1>Visualizations</h1> +<small> + Last updated on + <%=Time.at(packages.first[:update_timestamp].to_i).strftime('%Y-%m-%d')%> + using a portage snapshot dated + <%=Time.at(packages.first[:portage_timestamp].to_i).strftime('%Y-%m-%d')%> +</small> <h2>Number of Packages per Ruby Target</h2> <table style="display:none;" class='table table-bordered table-condensed'> |