mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-11-27 15:50:29 +00:00
[BrowserTest] Move the screenshot uploading to a gem
* The methods from upload.rb are moved to a newly created gem: https://rubygems.org/gems/commons_upload * upload.rb is changed to simply call the method from the Gem. * Gemfile is updated accordingly. Bug: T89718 Change-Id: I229fbcd1b8c3cb03885947509aef27f0ae583a1c
This commit is contained in:
parent
7c838d839c
commit
710da1547b
1
Gemfile
1
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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue