diff --git a/app/logical/big_query/base.rb b/app/logical/google_big_query/base.rb similarity index 80% rename from app/logical/big_query/base.rb rename to app/logical/google_big_query/base.rb index d26f193f5..e15413325 100644 --- a/app/logical/big_query/base.rb +++ b/app/logical/google_big_query/base.rb @@ -1,6 +1,6 @@ require "big_query" -module BigQuery +module GoogleBigQuery class Base def query(q) client.query(q) @@ -20,7 +20,7 @@ module BigQuery def client_options @_client_options ||= { - google_key_path: "/var/www/danbooru/shared/google-key.json", + google_key_path: Danbooru.config.google_api_json_key_path, google_data_set: "danbooru_#{Rails.env}" } end @@ -28,5 +28,9 @@ module BigQuery def google_config @_google_config ||= JSON.parse(File.read(client_options[:google_key_path])) end + + def data_set + client_options[:google_data_set] + end end end diff --git a/app/logical/big_query/post_version.rb b/app/logical/google_big_query/post_version.rb similarity index 61% rename from app/logical/big_query/post_version.rb rename to app/logical/google_big_query/post_version.rb index 0a53e698b..b3d675741 100644 --- a/app/logical/big_query/post_version.rb +++ b/app/logical/google_big_query/post_version.rb @@ -1,15 +1,15 @@ -module BigQuery +module GoogleBigQuery class PostVersion < Base def find_removed(tag, limit = 1_000) tag = escape(tag) limit = limit.to_i - query("select id, post_id, updated_at, updater_id, updater_ip_addr, tags, added_tags, removed_tags, parent_id, rating, source from [danbooru_#{Rails.env}.post_versions] where regexp_match(removed_tags, \"(?:^| )#{tag}(?:$| )\") order by updated_at desc limit #{limit}") + query("select id, post_id, updated_at, updater_id, updater_ip_addr, tags, added_tags, removed_tags, parent_id, rating, source from [#{data_set}.post_versions] where regexp_match(removed_tags, \"(?:^| )#{tag}(?:$| )\") order by updated_at desc limit #{limit}") end def find_added(tag, limit = 1_000) tag = escape(tag) limit = limit.to_i - query("select id, post_id, updated_at, updater_id, updater_ip_addr, tags, added_tags, removed_tags, parent_id, rating, source from [danbooru_#{Rails.env}.post_versions] where regexp_match(added_tags, \"(?:^| )#{tag}(?:$| )\") order by updated_at desc limit #{limit}") + query("select id, post_id, updated_at, updater_id, updater_ip_addr, tags, added_tags, removed_tags, parent_id, rating, source from [#{data_set}.post_versions] where regexp_match(added_tags, \"(?:^| )#{tag}(?:$| )\") order by updated_at desc limit #{limit}") end end end diff --git a/app/logical/reports/post_versions.rb b/app/logical/reports/post_versions.rb index f4545b380..0e51a296e 100644 --- a/app/logical/reports/post_versions.rb +++ b/app/logical/reports/post_versions.rb @@ -6,13 +6,13 @@ module Reports @tag = tag if query_type == "added" - @query = BigQuery::PostVersion.new.find_added(tag) + @query = GoogleBigQuery::PostVersion.new.find_added(tag) else - @query = BigQuery::PostVersion.new.find_removed(tag) + @query = GoogleBigQuery::PostVersion.new.find_removed(tag) end end - def mock_version(raw) + def mock_version(row) PostVersion.new.tap do |x| x.id = row["f"][0]["v"] x.post_id = row["f"][1]["v"] diff --git a/app/views/post_versions/_listing.html.erb b/app/views/post_versions/_listing.html.erb index c015da48d..fcd221f68 100644 --- a/app/views/post_versions/_listing.html.erb +++ b/app/views/post_versions/_listing.html.erb @@ -50,4 +50,3 @@ -<%= numbered_paginator(post_versions) %> diff --git a/app/views/post_versions/index.html.erb b/app/views/post_versions/index.html.erb index d5df9dd64..61937fd30 100644 --- a/app/views/post_versions/index.html.erb +++ b/app/views/post_versions/index.html.erb @@ -6,6 +6,8 @@ <%= render "post_sets/blank" %> <% else %> <%= render "listing", :post_versions => @post_versions %> + + <%= numbered_paginator(@post_versions) %> <% end %> diff --git a/app/views/reports/post_versions.html.erb b/app/views/reports/post_versions.html.erb index 3deb6134d..6efb00cd8 100644 --- a/app/views/reports/post_versions.html.erb +++ b/app/views/reports/post_versions.html.erb @@ -10,7 +10,7 @@ <%= text_field_tag "tag" %> <%= select_tag "type", options_for_select(%w(added removed)) %> - <%= submit_tag "Submit", :data => { :disable_with => "Submitting..." } %> + <%= submit_tag "Submit" %> <% end %> diff --git a/app/views/reports/post_versions_create.html.erb b/app/views/reports/post_versions_create.html.erb index a5f714c76..c2b756f5d 100644 --- a/app/views/reports/post_versions_create.html.erb +++ b/app/views/reports/post_versions_create.html.erb @@ -1,5 +1,5 @@ -
Only the 1,000 most recent changes are displayed.
diff --git a/config/danbooru_default_config.rb b/config/danbooru_default_config.rb index 6b680cee8..66fdc5462 100644 --- a/config/danbooru_default_config.rb +++ b/config/danbooru_default_config.rb @@ -421,6 +421,10 @@ module Danbooru def google_api_project end + def google_api_json_key_path + "/var/www/danbooru/shared/config/google-key.json" + end + # AWS config options def aws_access_key_id nil