diff --git a/Gemfile b/Gemfile index 42d6a774c7..f53b8e67ba 100644 --- a/Gemfile +++ b/Gemfile @@ -3,6 +3,7 @@ source 'https://rubygems.org' +gem 'commons_upload', '~> 0.0.1' gem 'mediawiki_api' gem 'mediawiki_selenium', '~> 0.4.1' gem 'rubocop', require: false diff --git a/Gemfile.lock b/Gemfile.lock index 439bee1aac..083ccd5bdb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -8,6 +8,8 @@ GEM childprocess (0.5.5) ffi (~> 1.0, >= 1.0.11) chunky_png (1.3.4) + commons_upload (0.0.1) + mediawiki_api (~> 0.3.0) cucumber (1.3.19) builder (>= 2.1.2) diff-lcs (>= 1.1.3) @@ -95,6 +97,7 @@ PLATFORMS ruby DEPENDENCIES + commons_upload (~> 0.0.1) mediawiki_api mediawiki_selenium (~> 0.4.1) rubocop diff --git a/modules/ve-mw/tests/browser/upload.rb b/modules/ve-mw/tests/browser/upload.rb index 390bc10b86..3f2c332631 100644 --- a/modules/ve-mw/tests/browser/upload.rb +++ b/modules/ve-mw/tests/browser/upload.rb @@ -1,42 +1,3 @@ -def license(language_code, file_name) - require 'date' - date = Date.today.to_s - "=={{int:filedesc}}== -{{Information -|description={{en|1=#{file_name}}} -|date=#{date} -|source=[[User:LanguageScreenshotBot|Automatically created by LanguageScreenshotBot]] -|author=[[User:LanguageScreenshotBot|Automatically created by LanguageScreenshotBot]] -|permission= -|other_versions= -|other_fields= -}} +require 'commons_upload' -=={{int:license-header}}== -{{Wikipedia-screenshot}} - -[[Category:VisualEditor automatic screenshots/#{language_code}]]" -end - -def upload_image(file_path, client) - language_code = ENV['LANGUAGE_SCREENSHOT_CODE'] - file_name = File.basename(file_path, '') - file_license = license(language_code, file_name) - - client.upload_image(file_name, file_path, file_license, true) - sleep 5 # Restriction in bot speed: https://commons.wikimedia.org/wiki/Commons:Bots#Bot_speed -end - -def upload_images - screenshot_directory = ENV['LANGUAGE_SCREENSHOT_PATH'] || './screenshots' - require 'mediawiki_api' - client = MediawikiApi::Client.new ENV['MEDIAWIKI_API_UPLOAD_URL'] - client.log_in ENV['MEDIAWIKI_USER'], ENV['MEDIAWIKI_PASSWORD'] - Dir["#{screenshot_directory}/*.png"].each do |file_path| - puts "Uploading #{file_path}" - upload_image file_path, client - end -end - -ENV['MEDIAWIKI_PASSWORD'] = ENV[ENV['MEDIAWIKI_PASSWORD_VARIABLE']] if ENV['MEDIAWIKI_PASSWORD_VARIABLE'] -upload_images +CommonsUpload.images