commons_upload 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.rubocop.yml +1 -3
- data/.travis.yml +1 -1
- data/Gemfile +2 -0
- data/LICENSE.txt +1 -1
- data/README.md +4 -0
- data/Rakefile +2 -0
- data/bin/upload +2 -0
- data/commons_upload.gemspec +9 -8
- data/lib/commons_upload.rb +47 -21
- data/lib/commons_upload/version.rb +3 -1
- metadata +18 -14
- data/.rubocop_todo.yml +0 -35
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: eebc8ad7139529eb45960653266cc6a0656db1ef7f7f1b119bfd283151a40b38
|
4
|
+
data.tar.gz: a1fb75e17150721c83168e3591c70cda453b8e5ff3b378ff73da3fbb6a009088
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 011aae0dcf05a234f4534ae5352d6fb153a3cdff04c0ab7734aad052a7cc8db15ac3e0899e01254603cf951b589764df8d0fabffb447da5b5570b9275c6f40b7
|
7
|
+
data.tar.gz: 5f9181a46864f1660a080212b97bbb4ca762b74217f7cfe05d703e1dd79d2cde6b0e8e5b09ad519e6c39a50c68a221d75569645ea08ac9c0ccd9b1bf25352890
|
data/.rubocop.yml
CHANGED
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/LICENSE.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Copyright (c) 2014-
|
1
|
+
Copyright (c) 2014-2018 Vikas Yaligar, Željko Filipin and Amir E. Aharoni
|
2
2
|
under the terms of The MIT License (MIT), as follows:
|
3
3
|
|
4
4
|
This software consists of voluntary contributions made by many
|
data/README.md
CHANGED
@@ -25,6 +25,8 @@ Or install it yourself as:
|
|
25
25
|
To run the upload, do
|
26
26
|
|
27
27
|
# optional, the default is ./screenshots
|
28
|
+
# file names have to be in this format VisualEditor_category_item-en.png
|
29
|
+
# language code is `en`, between `-` and `.`
|
28
30
|
export LANGUAGE_SCREENSHOT_PATH=./screenshots
|
29
31
|
|
30
32
|
# testing: https://commons.wikimedia.beta.wmflabs.org/w/api.php
|
@@ -43,3 +45,5 @@ To run the upload, do
|
|
43
45
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
44
46
|
4. Push to the branch (`git push origin my-new-feature`)
|
45
47
|
5. Create new Pull Request
|
48
|
+
|
49
|
+
[](https://travis-ci.org/amire80/commons_upload)
|
data/Rakefile
CHANGED
data/bin/upload
CHANGED
data/commons_upload.gemspec
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
-
#
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
lib = File.expand_path('lib', __dir__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
5
|
require 'commons_upload/version'
|
5
6
|
|
@@ -14,15 +15,15 @@ Gem::Specification.new do |spec|
|
|
14
15
|
spec.homepage = 'https://github.com/amire80/commons_upload'
|
15
16
|
spec.license = 'MIT'
|
16
17
|
|
17
|
-
spec.files = `git ls-files`.split(
|
18
|
+
spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
18
19
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
19
20
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
21
|
spec.require_paths = ['lib']
|
21
|
-
spec.required_ruby_version = '~> 2.
|
22
|
+
spec.required_ruby_version = '~> 2.3'
|
22
23
|
|
23
|
-
spec.add_runtime_dependency 'mediawiki_api', '~> 0.7.
|
24
|
+
spec.add_runtime_dependency 'mediawiki_api', '~> 0.7.1'
|
24
25
|
|
25
|
-
spec.add_development_dependency 'bundler', '~> 1.
|
26
|
-
spec.add_development_dependency 'rake', '~>
|
27
|
-
spec.add_development_dependency 'rubocop', '~> 0.
|
26
|
+
spec.add_development_dependency 'bundler', '~> 1.16', '>= 1.16.1'
|
27
|
+
spec.add_development_dependency 'rake', '~> 12.3'
|
28
|
+
spec.add_development_dependency 'rubocop', '~> 0.53.0'
|
28
29
|
end
|
data/lib/commons_upload.rb
CHANGED
@@ -1,4 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Iterate over all images, create license, upload image by image
|
1
4
|
module CommonsUpload
|
5
|
+
def self.edit(file_name, client)
|
6
|
+
page = "File:#{file_name}"
|
7
|
+
client.edit(title: page, text: license(file_name), summary: 'Update page text')
|
8
|
+
end
|
9
|
+
|
2
10
|
def self.license(file_name)
|
3
11
|
require 'date'
|
4
12
|
date = Date.today.to_s
|
@@ -8,31 +16,41 @@ module CommonsUpload
|
|
8
16
|
# in this case it is: en
|
9
17
|
language_code = file_name.split('-')[1].split('.')[0]
|
10
18
|
|
11
|
-
|
12
|
-
=={{int:filedesc}}==
|
13
|
-
{{Information
|
14
|
-
|description={{en|1=#{file_name}}}
|
15
|
-
|date=#{date}
|
16
|
-
|source=[[User:LanguageScreenshotBot|Automatically created by LanguageScreenshotBot]]
|
17
|
-
|author=[[User:LanguageScreenshotBot|Automatically created by LanguageScreenshotBot]]
|
18
|
-
|permission=
|
19
|
-
|other_versions=
|
20
|
-
|other_fields=
|
21
|
-
}}
|
22
|
-
|
23
|
-
=={{int:license-header}}==
|
24
|
-
{{
|
25
|
-
|
26
|
-
[[Category:VisualEditor-#{language_code}]]
|
27
|
-
|
19
|
+
<<~LICENSE
|
20
|
+
=={{int:filedesc}}==
|
21
|
+
{{Information
|
22
|
+
|description={{en|1=#{file_name}}}
|
23
|
+
|date=#{date}
|
24
|
+
|source=[[User:LanguageScreenshotBot|Automatically created by LanguageScreenshotBot]]
|
25
|
+
|author=[[User:LanguageScreenshotBot|Automatically created by LanguageScreenshotBot]]
|
26
|
+
|permission=
|
27
|
+
|other_versions=
|
28
|
+
|other_fields=
|
29
|
+
}}
|
30
|
+
|
31
|
+
=={{int:license-header}}==
|
32
|
+
{{Wikimedia-screenshot}}
|
33
|
+
|
34
|
+
[[Category:VisualEditor-#{language_code}]]
|
35
|
+
LICENSE
|
28
36
|
end
|
29
37
|
|
30
38
|
def self.image(file_path, client)
|
31
39
|
file_name = File.basename(file_path, '')
|
32
40
|
file_license = license(file_name)
|
33
41
|
|
34
|
-
|
35
|
-
|
42
|
+
begin
|
43
|
+
client.upload_image(
|
44
|
+
file_name, file_path, 'Upload new version of the file', true, file_license
|
45
|
+
)
|
46
|
+
return 'OK'
|
47
|
+
rescue MediawikiApi::ApiError => mwerr
|
48
|
+
raise mwerr if mwerr.code != 'fileexists-no-change'
|
49
|
+
return 'OK (file already uploaded)'
|
50
|
+
ensure
|
51
|
+
edit(file_name, client) # update page content
|
52
|
+
sleep 5 # Restriction in bot speed: https://commons.wikimedia.org/wiki/Commons:Bots#Bot_speed
|
53
|
+
end
|
36
54
|
end
|
37
55
|
|
38
56
|
def self.images
|
@@ -41,8 +59,16 @@ EOS
|
|
41
59
|
client = MediawikiApi::Client.new ENV['MEDIAWIKI_API_UPLOAD_URL']
|
42
60
|
client.log_in ENV['MEDIAWIKI_USER'], ENV['MEDIAWIKI_PASSWORD']
|
43
61
|
Dir["#{screenshot_directory}/*.png"].each do |file_path|
|
44
|
-
|
45
|
-
|
62
|
+
print "Uploading #{file_path} ... "
|
63
|
+
STDOUT.flush
|
64
|
+
begin
|
65
|
+
message = image file_path, client
|
66
|
+
puts message
|
67
|
+
rescue StandardError => e
|
68
|
+
puts 'FAILED'
|
69
|
+
raise e
|
70
|
+
end
|
71
|
+
STDOUT.flush
|
46
72
|
end
|
47
73
|
end
|
48
74
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: commons_upload
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vikas Yaligar
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2018-03-09 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: mediawiki_api
|
@@ -18,56 +18,62 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - "~>"
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.7.
|
21
|
+
version: 0.7.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - "~>"
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: 0.7.
|
28
|
+
version: 0.7.1
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: bundler
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
33
|
- - "~>"
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version: '1.
|
35
|
+
version: '1.16'
|
36
|
+
- - ">="
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: 1.16.1
|
36
39
|
type: :development
|
37
40
|
prerelease: false
|
38
41
|
version_requirements: !ruby/object:Gem::Requirement
|
39
42
|
requirements:
|
40
43
|
- - "~>"
|
41
44
|
- !ruby/object:Gem::Version
|
42
|
-
version: '1.
|
45
|
+
version: '1.16'
|
46
|
+
- - ">="
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: 1.16.1
|
43
49
|
- !ruby/object:Gem::Dependency
|
44
50
|
name: rake
|
45
51
|
requirement: !ruby/object:Gem::Requirement
|
46
52
|
requirements:
|
47
53
|
- - "~>"
|
48
54
|
- !ruby/object:Gem::Version
|
49
|
-
version: '
|
55
|
+
version: '12.3'
|
50
56
|
type: :development
|
51
57
|
prerelease: false
|
52
58
|
version_requirements: !ruby/object:Gem::Requirement
|
53
59
|
requirements:
|
54
60
|
- - "~>"
|
55
61
|
- !ruby/object:Gem::Version
|
56
|
-
version: '
|
62
|
+
version: '12.3'
|
57
63
|
- !ruby/object:Gem::Dependency
|
58
64
|
name: rubocop
|
59
65
|
requirement: !ruby/object:Gem::Requirement
|
60
66
|
requirements:
|
61
67
|
- - "~>"
|
62
68
|
- !ruby/object:Gem::Version
|
63
|
-
version: 0.
|
69
|
+
version: 0.53.0
|
64
70
|
type: :development
|
65
71
|
prerelease: false
|
66
72
|
version_requirements: !ruby/object:Gem::Requirement
|
67
73
|
requirements:
|
68
74
|
- - "~>"
|
69
75
|
- !ruby/object:Gem::Version
|
70
|
-
version: 0.
|
76
|
+
version: 0.53.0
|
71
77
|
description: Upload images to Wikimedia Commons. This is intended for uploading auto-translated
|
72
78
|
screenshots for MediaWiki documentation.
|
73
79
|
email:
|
@@ -79,7 +85,6 @@ extra_rdoc_files: []
|
|
79
85
|
files:
|
80
86
|
- ".gitignore"
|
81
87
|
- ".rubocop.yml"
|
82
|
-
- ".rubocop_todo.yml"
|
83
88
|
- ".travis.yml"
|
84
89
|
- Gemfile
|
85
90
|
- LICENSE.txt
|
@@ -101,7 +106,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
101
106
|
requirements:
|
102
107
|
- - "~>"
|
103
108
|
- !ruby/object:Gem::Version
|
104
|
-
version: '2.
|
109
|
+
version: '2.3'
|
105
110
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
106
111
|
requirements:
|
107
112
|
- - ">="
|
@@ -109,9 +114,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
114
|
version: '0'
|
110
115
|
requirements: []
|
111
116
|
rubyforge_project:
|
112
|
-
rubygems_version: 2.
|
117
|
+
rubygems_version: 2.7.6
|
113
118
|
signing_key:
|
114
119
|
specification_version: 4
|
115
120
|
summary: Upload images to Wikimedia Commons.
|
116
121
|
test_files: []
|
117
|
-
has_rdoc:
|
data/.rubocop_todo.yml
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
# This configuration was generated by
|
2
|
-
# `rubocop --auto-gen-config`
|
3
|
-
# on 2016-08-22 17:24:35 +0200 using RuboCop version 0.42.0.
|
4
|
-
# The point is for the user to remove these configuration records
|
5
|
-
# one by one as the offenses are removed from the code base.
|
6
|
-
# Note that changes in the inspected code, or installation of new
|
7
|
-
# versions of RuboCop, may require this file to be generated again.
|
8
|
-
|
9
|
-
# Offense count: 1
|
10
|
-
Style/Documentation:
|
11
|
-
Exclude:
|
12
|
-
- 'spec/**/*'
|
13
|
-
- 'test/**/*'
|
14
|
-
- 'lib/commons_upload.rb'
|
15
|
-
|
16
|
-
# Offense count: 6
|
17
|
-
# Cop supports --auto-correct.
|
18
|
-
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
19
|
-
# SupportedStyles: when_needed, always
|
20
|
-
Style/FrozenStringLiteralComment:
|
21
|
-
Exclude:
|
22
|
-
- 'Gemfile'
|
23
|
-
- 'Rakefile'
|
24
|
-
- 'bin/upload'
|
25
|
-
- 'commons_upload.gemspec'
|
26
|
-
- 'lib/commons_upload.rb'
|
27
|
-
- 'lib/commons_upload/version.rb'
|
28
|
-
|
29
|
-
# Offense count: 1
|
30
|
-
# Cop supports --auto-correct.
|
31
|
-
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
32
|
-
# SupportedStyles: use_perl_names, use_english_names
|
33
|
-
Style/SpecialGlobalVars:
|
34
|
-
Exclude:
|
35
|
-
- 'commons_upload.gemspec'
|