mediawiki-butt 0.9.0 → 0.10.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 +4 -4
- data/CHANGELOG.md +250 -0
- data/lib/mediawiki/auth.rb +4 -4
- data/lib/mediawiki/constants.rb +3 -0
- data/lib/mediawiki/edit.rb +2 -2
- data/lib/mediawiki/query/lists/all.rb +188 -0
- data/lib/mediawiki/query/lists/backlinks.rb +145 -0
- data/lib/mediawiki/query/lists/categories.rb +65 -0
- data/lib/mediawiki/query/lists/lists.rb +25 -0
- data/lib/mediawiki/query/lists/log/block.rb +83 -0
- data/lib/mediawiki/query/lists/log/delete.rb +59 -0
- data/lib/mediawiki/query/lists/log/import.rb +57 -0
- data/lib/mediawiki/query/lists/log/log.rb +372 -0
- data/lib/mediawiki/query/lists/log/merge.rb +33 -0
- data/lib/mediawiki/query/lists/log/move.rb +57 -0
- data/lib/mediawiki/query/lists/log/newusers.rb +82 -0
- data/lib/mediawiki/query/lists/log/patrol.rb +34 -0
- data/lib/mediawiki/query/lists/log/rights.rb +59 -0
- data/lib/mediawiki/query/lists/log/upload.rb +58 -0
- data/lib/mediawiki/query/lists/miscellaneous.rb +55 -0
- data/lib/mediawiki/query/lists/querypage.rb +203 -0
- data/lib/mediawiki/query/lists/recent_changes.rb +124 -0
- data/lib/mediawiki/query/lists/search.rb +86 -0
- data/lib/mediawiki/query/lists/users.rb +210 -0
- data/lib/mediawiki/query/query.rb +1 -1
- metadata +22 -3
- data/lib/mediawiki/query/lists.rb +0 -561
@@ -0,0 +1,33 @@
|
|
1
|
+
module MediaWiki
|
2
|
+
module Query
|
3
|
+
module Lists
|
4
|
+
module Log
|
5
|
+
module Merge
|
6
|
+
# Gets merge/merge logs.
|
7
|
+
# @param user [String] See {MediaWiki::Query::Lists::Log#get_log}
|
8
|
+
# @param title [String] See {MediaWiki::Query::Lists::Log#get_log}
|
9
|
+
# @param start [DateTime] See {MediaWiki::Query::Lists::Log#get_log}
|
10
|
+
# @param stop [DateTime] See {MediaWiki::Query::Lists::Log#get_log}
|
11
|
+
# @param limit [Int] See {MediaWiki::Query::Lists::Log#get_log}
|
12
|
+
# @see {MediaWiki::Query::Lists::Log#get_log}
|
13
|
+
# @see https://www.mediawiki.org/wiki/API:Logevents MediaWiki
|
14
|
+
# Logevents API Docs
|
15
|
+
# @since 0.10.0
|
16
|
+
# @return [Array<Hash>] The events, containing the following keys: id,
|
17
|
+
# title, user, comment, destination_title, mergepoint, timestamp.
|
18
|
+
def get_merge_log(user = nil, title = nil, start = nil, stop = nil,
|
19
|
+
limit = 500)
|
20
|
+
response = get_log('merge/merge', user, title, start, stop, limit)
|
21
|
+
|
22
|
+
ret = []
|
23
|
+
response['query']['logevents'].each do |log|
|
24
|
+
ret << get_mergemerge(log)
|
25
|
+
end
|
26
|
+
|
27
|
+
ret
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
module MediaWiki
|
2
|
+
module Query
|
3
|
+
module Lists
|
4
|
+
module Log
|
5
|
+
module Move
|
6
|
+
# Gets move/move logs.
|
7
|
+
# @param user [String] See {MediaWiki::Query::Lists::Log#get_log}
|
8
|
+
# @param title [String] See {MediaWiki::Query::Lists::Log#get_log}
|
9
|
+
# @param start [DateTime] See {MediaWiki::Query::Lists::Log#get_log}
|
10
|
+
# @param stop [DateTime] See {MediaWiki::Query::Lists::Log#get_log}
|
11
|
+
# @param limit [Int] See {MediaWiki::Query::Lists::Log#get_log}
|
12
|
+
# @see {MediaWiki::Query::Lists::Log#get_log}
|
13
|
+
# @see https://www.mediawiki.org/wiki/API:Logevents MediaWiki
|
14
|
+
# Logevents API Docs
|
15
|
+
# @since 0.10.0
|
16
|
+
# @return [Array<Hash>] The events, containing the following keys: id,
|
17
|
+
# title, user, comment, timestamp.
|
18
|
+
def get_move_log(user = nil, title = nil, start = nil, stop = nil,
|
19
|
+
limit = 500)
|
20
|
+
response = get_log('move/move', user, title, start, stop, limit)
|
21
|
+
|
22
|
+
ret = []
|
23
|
+
response['query']['logevents'].each do |log|
|
24
|
+
ret << get_move(log)
|
25
|
+
end
|
26
|
+
|
27
|
+
ret
|
28
|
+
end
|
29
|
+
|
30
|
+
# Gets move/move_redir logs for redirects.
|
31
|
+
# @param user [String] See {MediaWiki::Query::Lists::Log#get_log}
|
32
|
+
# @param title [String] See {MediaWiki::Query::Lists::Log#get_log}
|
33
|
+
# @param start [DateTime] See {MediaWiki::Query::Lists::Log#get_log}
|
34
|
+
# @param stop [DateTime] See {MediaWiki::Query::Lists::Log#get_log}
|
35
|
+
# @param limit [Int] See {MediaWiki::Query::Lists::Log#get_log}
|
36
|
+
# @see {MediaWiki::Query::Lists::Log#get_log}
|
37
|
+
# @see https://www.mediawiki.org/wiki/API:Logevents MediaWiki
|
38
|
+
# Logevents API Docs
|
39
|
+
# @since 0.10.0
|
40
|
+
# @return [Array<Hash>] The events, containing the following keys: id,
|
41
|
+
# title, user, comment, timestamp.
|
42
|
+
def get_move_redirect_log(user = nil, title = nil, start = nil,
|
43
|
+
stop = nil, limit = 500)
|
44
|
+
resp = get_log('move/move_redir', user, title, start, stop, limit)
|
45
|
+
|
46
|
+
ret = []
|
47
|
+
resp['query']['logevents'].each do |log|
|
48
|
+
ret << get_move(log)
|
49
|
+
end
|
50
|
+
|
51
|
+
ret
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
module MediaWiki
|
2
|
+
module Query
|
3
|
+
module Lists
|
4
|
+
module Log
|
5
|
+
module NewUsers
|
6
|
+
# Gets newusers/autocreate logs.
|
7
|
+
# @param user [String] See {MediaWiki::Query::Lists::Log#get_log}
|
8
|
+
# @param title [String] See {MediaWiki::Query::Lists::Log#get_log}
|
9
|
+
# @param start [DateTime] See {MediaWiki::Query::Lists::Log#get_log}
|
10
|
+
# @param stop [DateTime] See {MediaWiki::Query::Lists::Log#get_log}
|
11
|
+
# @param limit [Int] See {MediaWiki::Query::Lists::Log#get_log}
|
12
|
+
# @see {MediaWiki::Query::Lists::Log#get_log}
|
13
|
+
# @see https://www.mediawiki.org/wiki/API:Logevents MediaWiki
|
14
|
+
# Logevents API Docs
|
15
|
+
# @since 0.10.0
|
16
|
+
# @return [Array<Hash>] The events, containing the following keys: id,
|
17
|
+
# new_user, user, comment, timestamp.
|
18
|
+
def get_autocreate_users_log(user = nil, title = nil, start = nil,
|
19
|
+
stop = nil, limit = 500)
|
20
|
+
response = get_log('newusers/autocreate', user, title, start, stop,
|
21
|
+
limit)
|
22
|
+
|
23
|
+
ret = []
|
24
|
+
response['query']['logevents'].each do |log|
|
25
|
+
ret << get_user(log)
|
26
|
+
end
|
27
|
+
|
28
|
+
ret
|
29
|
+
end
|
30
|
+
|
31
|
+
# Gets newusers/create2, when one user creates another user, logs.
|
32
|
+
# @param user [String] See {MediaWiki::Query::Lists::Log#get_log}
|
33
|
+
# @param title [String] See {MediaWiki::Query::Lists::Log#get_log}
|
34
|
+
# @param start [DateTime] See {MediaWiki::Query::Lists::Log#get_log}
|
35
|
+
# @param stop [DateTime] See {MediaWiki::Query::Lists::Log#get_log}
|
36
|
+
# @param limit [Int] See {MediaWiki::Query::Lists::Log#get_log}
|
37
|
+
# @see {MediaWiki::Query::Lists::Log#get_log}
|
38
|
+
# @see https://www.mediawiki.org/wiki/API:Logevents MediaWiki
|
39
|
+
# Logevents API Docs
|
40
|
+
# @since 0.10.0
|
41
|
+
# @return [Array<Hash>] The events, containing the following keys: id,
|
42
|
+
# title, new_user, user, comment, timestamp.
|
43
|
+
def get_user_create2_log(user = nil, title = nil, start = nil,
|
44
|
+
stop = nil, limit = 500)
|
45
|
+
resp = get_log('newusers/create2', user, title, start, stop, limit)
|
46
|
+
|
47
|
+
ret = []
|
48
|
+
resp['query']['logevents'].each do |log|
|
49
|
+
ret << get_user(log)
|
50
|
+
end
|
51
|
+
|
52
|
+
ret
|
53
|
+
end
|
54
|
+
|
55
|
+
# Gets newusers/create, when one user creates their own account, logs.
|
56
|
+
# @param user [String] See {MediaWiki::Query::Lists::Log#get_log}
|
57
|
+
# @param title [String] See {MediaWiki::Query::Lists::Log#get_log}
|
58
|
+
# @param start [DateTime] See {MediaWiki::Query::Lists::Log#get_log}
|
59
|
+
# @param stop [DateTime] See {MediaWiki::Query::Lists::Log#get_log}
|
60
|
+
# @param limit [Int] See {MediaWiki::Query::Lists::Log#get_log}
|
61
|
+
# @see {MediaWiki::Query::Lists::Log#get_log}
|
62
|
+
# @see https://www.mediawiki.org/wiki/API:Logevents MediaWiki
|
63
|
+
# Logevents API Docs
|
64
|
+
# @since 0.10.0
|
65
|
+
# @return [Array<Hash>] The events, containing the following keys: id,
|
66
|
+
# title, user, comment, timestamp.
|
67
|
+
def get_user_create_log(user = nil, title = nil, start = nil,
|
68
|
+
stop = nil, limit = 500)
|
69
|
+
resp = get_log('newusers/create', user, title, start, stop, limit)
|
70
|
+
|
71
|
+
ret = []
|
72
|
+
resp['query']['logevents'].each do |log|
|
73
|
+
ret << get_user(log)
|
74
|
+
end
|
75
|
+
|
76
|
+
ret
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module MediaWiki
|
2
|
+
module Query
|
3
|
+
module Lists
|
4
|
+
module Log
|
5
|
+
module Patrol
|
6
|
+
# Gets patrol/patrol logs.
|
7
|
+
# @param user [String] See {MediaWiki::Query::Lists::Log#get_log}
|
8
|
+
# @param title [String] See {MediaWiki::Query::Lists::Log#get_log}
|
9
|
+
# @param start [DateTime] See {MediaWiki::Query::Lists::Log#get_log}
|
10
|
+
# @param stop [DateTime] See {MediaWiki::Query::Lists::Log#get_log}
|
11
|
+
# @param limit [Int] See {MediaWiki::Query::Lists::Log#get_log}
|
12
|
+
# @see {MediaWiki::Query::Lists::Log#get_log}
|
13
|
+
# @see https://www.mediawiki.org/wiki/API:Logevents MediaWiki
|
14
|
+
# Logevents API Docs
|
15
|
+
# @since 0.10.0
|
16
|
+
# @return [Array<Hash>] The events, containing the following keys: id,
|
17
|
+
# title, user, comment, current_revision, previous_revision,
|
18
|
+
# timestamp.
|
19
|
+
def get_patrol_log(user = nil, title = nil, start = nil, stop = nil,
|
20
|
+
limit = 500)
|
21
|
+
response = get_log('patrol/patrol', user, title, start, stop, limit)
|
22
|
+
|
23
|
+
ret = []
|
24
|
+
response['query']['logevents'].each do |log|
|
25
|
+
ret << get_patrol(log)
|
26
|
+
end
|
27
|
+
|
28
|
+
ret
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
module MediaWiki
|
2
|
+
module Query
|
3
|
+
module Lists
|
4
|
+
module Log
|
5
|
+
# @todo rights/erevoke
|
6
|
+
module Rights
|
7
|
+
# Gets rights/autopromote logs.
|
8
|
+
# @param user [String] See {MediaWiki::Query::Lists::Log#get_log}
|
9
|
+
# @param title [String] See {MediaWiki::Query::Lists::Log#get_log}
|
10
|
+
# @param start [DateTime] See {MediaWiki::Query::Lists::Log#get_log}
|
11
|
+
# @param stop [DateTime] See {MediaWiki::Query::Lists::Log#get_log}
|
12
|
+
# @param limit [Int] See {MediaWiki::Query::Lists::Log#get_log}
|
13
|
+
# @see {MediaWiki::Query::Lists::Log#get_log}
|
14
|
+
# @see https://www.mediawiki.org/wiki/API:Logevents MediaWiki
|
15
|
+
# Logevents API Docs
|
16
|
+
# @since 0.10.0
|
17
|
+
# @return [Array<Hash>] The events, containing the following keys: id,
|
18
|
+
# title, user, new_rights, old_rights, comment, timestamp.
|
19
|
+
def get_autopromotion_log(user = nil, title = nil, start = nil,
|
20
|
+
stop = nil, limit = 500)
|
21
|
+
resp = get_log('rights/autopromote', user, title, start, stop,
|
22
|
+
limit)
|
23
|
+
|
24
|
+
ret = []
|
25
|
+
resp['query']['logevents'].each do |log|
|
26
|
+
ret << get_rightsautopromote(log)
|
27
|
+
end
|
28
|
+
|
29
|
+
ret
|
30
|
+
end
|
31
|
+
|
32
|
+
# Gets rights/rights logs.
|
33
|
+
# @param user [String] See {MediaWiki::Query::Lists::Log#get_log}
|
34
|
+
# @param title [String] See {MediaWiki::Query::Lists::Log#get_log}
|
35
|
+
# @param start [DateTime] See {MediaWiki::Query::Lists::Log#get_log}
|
36
|
+
# @param stop [DateTime] See {MediaWiki::Query::Lists::Log#get_log}
|
37
|
+
# @param limit [Int] See {MediaWiki::Query::Lists::Log#get_log}
|
38
|
+
# @see {MediaWiki::Query::Lists::Log#get_log}
|
39
|
+
# @see https://www.mediawiki.org/wiki/API:Logevents MediaWiki
|
40
|
+
# Logevents API Docs
|
41
|
+
# @since 0.10.0
|
42
|
+
# @return [Array<Hash>] The events, containing the following keys: id,
|
43
|
+
# title, to, from, new_rights, old_rights, comment, timestamp.
|
44
|
+
def get_rights_log(user = nil, title = nil, start = nil, stop = nil,
|
45
|
+
limit = 500)
|
46
|
+
resp = get_log('rights/rights', user, title, start, stop, limit)
|
47
|
+
|
48
|
+
ret = []
|
49
|
+
resp['query']['logevents'].each do |log|
|
50
|
+
ret << get_rightsrights(log)
|
51
|
+
end
|
52
|
+
|
53
|
+
ret
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
module MediaWiki
|
2
|
+
module Query
|
3
|
+
module Lists
|
4
|
+
module Log
|
5
|
+
# @todo upload/revert
|
6
|
+
module Upload
|
7
|
+
# Gets upload/overwrite logs.
|
8
|
+
# @param user [String] See {MediaWiki::Query::Lists::Log#get_log}
|
9
|
+
# @param title [String] See {MediaWiki::Query::Lists::Log#get_log}
|
10
|
+
# @param start [DateTime] See {MediaWiki::Query::Lists::Log#get_log}
|
11
|
+
# @param stop [DateTime] See {MediaWiki::Query::Lists::Log#get_log}
|
12
|
+
# @param limit [Int] See {MediaWiki::Query::Lists::Log#get_log}
|
13
|
+
# @see {MediaWiki::Query::Lists::Log#get_log}
|
14
|
+
# @see https://www.mediawiki.org/wiki/API:Logevents MediaWiki
|
15
|
+
# Logevents API Docs
|
16
|
+
# @since 0.10.0
|
17
|
+
# @return [Array<Hash>] The events, containing the following keys: id,
|
18
|
+
# title, user, sha, comment, timestamp.
|
19
|
+
def get_upload_overwrite_log(user = nil, title = nil, start = nil,
|
20
|
+
stop = nil, limit = 500)
|
21
|
+
resp = get_log('upload/overwrite', user, title, start, stop, limit)
|
22
|
+
|
23
|
+
ret = []
|
24
|
+
resp['query']['logevents'].each do |log|
|
25
|
+
ret << get_upload(log)
|
26
|
+
end
|
27
|
+
|
28
|
+
ret
|
29
|
+
end
|
30
|
+
|
31
|
+
# Gets upload/upload logs.
|
32
|
+
# @param user [String] See {MediaWiki::Query::Lists::Log#get_log}
|
33
|
+
# @param title [String] See {MediaWiki::Query::Lists::Log#get_log}
|
34
|
+
# @param start [DateTime] See {MediaWiki::Query::Lists::Log#get_log}
|
35
|
+
# @param stop [DateTime] See {MediaWiki::Query::Lists::Log#get_log}
|
36
|
+
# @param limit [Int] See {MediaWiki::Query::Lists::Log#get_log}
|
37
|
+
# @see {MediaWiki::Query::Lists::Log#get_log}
|
38
|
+
# @see https://www.mediawiki.org/wiki/API:Logevents MediaWiki
|
39
|
+
# Logevents API Docs
|
40
|
+
# @since 0.10.0
|
41
|
+
# @return [Array<Hash>] The events, containing the following keys: id,
|
42
|
+
# title, user, sha, comment, timestamp.
|
43
|
+
def get_upload_log(user = nil, title = nil, start = nil, stop = nil,
|
44
|
+
limit = 500)
|
45
|
+
resp = get_log('upload/upload', user, title, start, stop, limit)
|
46
|
+
|
47
|
+
ret = []
|
48
|
+
resp['query']['logevents'].each do |log|
|
49
|
+
ret << get_upload(log)
|
50
|
+
end
|
51
|
+
|
52
|
+
ret
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
module MediaWiki
|
2
|
+
module Query
|
3
|
+
module Lists
|
4
|
+
module Miscellaneous
|
5
|
+
# Returns an array of random pages titles.
|
6
|
+
# @param number_of_pages [Int] The number of articles to get.
|
7
|
+
# Defaults to 1. Cannot be greater than 10 for normal users,
|
8
|
+
# or 20 for bots.
|
9
|
+
# @param namespace [Int] The namespace ID. Defaults to
|
10
|
+
# 0 (the main namespace).
|
11
|
+
# @see https://www.mediawiki.org/wiki/API:Random MediaWiki Random API
|
12
|
+
# Docs
|
13
|
+
# @since 0.2.0
|
14
|
+
# @return [Array] All members
|
15
|
+
def get_random_pages(number_of_pages = 1, namespace = 0)
|
16
|
+
params = {
|
17
|
+
action: 'query',
|
18
|
+
list: 'random',
|
19
|
+
rnlimit: get_limited(number_of_pages, 10, 20)
|
20
|
+
}
|
21
|
+
|
22
|
+
if MediaWiki::Constants::NAMESPACES.value?(namespace)
|
23
|
+
params[:rnnamespace] = namespace
|
24
|
+
else
|
25
|
+
params[:rnnamespace] = 0
|
26
|
+
end
|
27
|
+
|
28
|
+
ret = []
|
29
|
+
responce = post(params)
|
30
|
+
responce['query']['random'].each { |a| ret << a['title'] }
|
31
|
+
|
32
|
+
ret
|
33
|
+
end
|
34
|
+
|
35
|
+
# Gets the valid change tags on the wiki.
|
36
|
+
# @param limit [Int] The maximum number of results to get. Maximum 5000
|
37
|
+
# for bots and 500 for users.
|
38
|
+
# @see https://www.mediawiki.org/wiki/API:Tags MediaWiki Tags API Docs
|
39
|
+
# @since 0.10.0
|
40
|
+
# @return [Array<String>] All tag names.
|
41
|
+
def get_tags(limit = 500)
|
42
|
+
params = {
|
43
|
+
action: 'query',
|
44
|
+
list: 'tags',
|
45
|
+
limit: get_limited(limit)
|
46
|
+
}
|
47
|
+
response = post(params)
|
48
|
+
ret = []
|
49
|
+
response['query']['tags'].each { |tag| ret << tag['name'] }
|
50
|
+
ret
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,203 @@
|
|
1
|
+
require_relative 'users'
|
2
|
+
|
3
|
+
module MediaWiki
|
4
|
+
module Query
|
5
|
+
module Lists
|
6
|
+
module QueryPage
|
7
|
+
include MediaWiki::Query::Lists::Users
|
8
|
+
|
9
|
+
# @since 0.10.0
|
10
|
+
# @see #get_querypage
|
11
|
+
def get_mostrevisions_page(limit = 500)
|
12
|
+
get_querypage('Mostrevisions', limit)
|
13
|
+
end
|
14
|
+
|
15
|
+
# @since 0.10.0
|
16
|
+
# @see #get_querypage
|
17
|
+
def get_mostlinked_page(limit = 500)
|
18
|
+
get_querypage('Mostlinked', limit)
|
19
|
+
end
|
20
|
+
|
21
|
+
# @since 0.10.0
|
22
|
+
# @see #get_querypage
|
23
|
+
def get_mostlinkedtemplates_page(limit = 500)
|
24
|
+
get_querypage('Mostlinkedtemplates', limit)
|
25
|
+
end
|
26
|
+
|
27
|
+
# @since 0.10.0
|
28
|
+
# @see #get_querypage
|
29
|
+
def get_mostlinkedcategories_page(limit = 500)
|
30
|
+
get_querypage('Mostlinkedcategories', limit)
|
31
|
+
end
|
32
|
+
|
33
|
+
# @since 0.10.0
|
34
|
+
# @see #get_querypage
|
35
|
+
def get_mostinterwikis_page(limit = 500)
|
36
|
+
get_querypage('Mostinterwikis', limit)
|
37
|
+
end
|
38
|
+
|
39
|
+
# @since 0.10.0
|
40
|
+
# @see #get_querypage
|
41
|
+
def get_mostimages_page(limit = 500)
|
42
|
+
get_querypage('Mostimages', limit)
|
43
|
+
end
|
44
|
+
|
45
|
+
# @since 0.10.0
|
46
|
+
# @see #get_querypage
|
47
|
+
def get_mostcategories_page(limit = 500)
|
48
|
+
get_querypage('Mostcactegories', limit)
|
49
|
+
end
|
50
|
+
|
51
|
+
# @since 0.10.0
|
52
|
+
# @see #get_querypage
|
53
|
+
def get_listduplicatedfiles_page(limit = 500)
|
54
|
+
get_querypage('ListDuplicatedFiles', limit)
|
55
|
+
end
|
56
|
+
|
57
|
+
# @since 0.10.0
|
58
|
+
# @see #get_querypage
|
59
|
+
def get_listredirects_page(limit = 500)
|
60
|
+
get_querypage('Listredirects', limit)
|
61
|
+
end
|
62
|
+
|
63
|
+
# @since 0.10.0
|
64
|
+
# @see #get_querypage
|
65
|
+
def get_wantedtemplates_page(limit = 500)
|
66
|
+
get_querypage('Wantedtemplates', limit)
|
67
|
+
end
|
68
|
+
|
69
|
+
# @since 0.10.0
|
70
|
+
# @see #get_querypage
|
71
|
+
def get_wantedpages_page(limit = 500)
|
72
|
+
get_querypage('Wantedpages', limit)
|
73
|
+
end
|
74
|
+
|
75
|
+
# @since 0.10.0
|
76
|
+
# @see #get_querypage
|
77
|
+
def get_wantedfiles_page(limit = 500)
|
78
|
+
get_querypage('Wantedfiles', limit)
|
79
|
+
end
|
80
|
+
|
81
|
+
# @since 0.10.0
|
82
|
+
# @see #get_querypage
|
83
|
+
def get_wantedcategories_page(limit = 500)
|
84
|
+
get_querypage('Wantedcategories', limit)
|
85
|
+
end
|
86
|
+
|
87
|
+
# @since 0.10.0
|
88
|
+
# @see #get_querypage
|
89
|
+
# @return [Nil] If the user does not have the necessary rights.
|
90
|
+
def get_unwatchedpages_page(limit = 500)
|
91
|
+
rights = get_userrights
|
92
|
+
if rights != false && rights.include?('unwatchedpages')
|
93
|
+
get_querypage('Unwatchedpages', limit)
|
94
|
+
else
|
95
|
+
return nil
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
# @since 0.10.0
|
100
|
+
# @see #get_querypage
|
101
|
+
def get_unusedtemplates_page(limit = 500)
|
102
|
+
get_querypage('Unusedtemplates', limit)
|
103
|
+
end
|
104
|
+
|
105
|
+
# @since 0.10.0
|
106
|
+
# @see #get_querypage
|
107
|
+
def get_unusedcategories_page(limit = 500)
|
108
|
+
get_querypage('Unusedcategories', limit)
|
109
|
+
end
|
110
|
+
|
111
|
+
# @since 0.10.0
|
112
|
+
# @see #get_querypage
|
113
|
+
def get_uncategorizedtemplates_page(limit = 500)
|
114
|
+
get_querypage('Uncategorizedtemplates', limit)
|
115
|
+
end
|
116
|
+
|
117
|
+
# @since 0.10.0
|
118
|
+
# @see #get_querypage
|
119
|
+
def get_uncategorizedpages_page(limit = 500)
|
120
|
+
get_querypage('Uncategorizedpages', limit)
|
121
|
+
end
|
122
|
+
|
123
|
+
# @since 0.10.0
|
124
|
+
# @see #get_querypage
|
125
|
+
def get_uncategorizedcategories_page(limit = 500)
|
126
|
+
get_querypage('Uncategorizedcategories', limit)
|
127
|
+
end
|
128
|
+
|
129
|
+
# @since 0.10.0
|
130
|
+
# @see #get_querypage
|
131
|
+
def get_shortpages_page(limit = 500)
|
132
|
+
get_querypage('Shortpages', limit)
|
133
|
+
end
|
134
|
+
|
135
|
+
# @since 0.10.0
|
136
|
+
# @see #get_querypage
|
137
|
+
def get_withoutinterwiki_page(limit = 500)
|
138
|
+
get_querypage('Withoutinterwiki', limit)
|
139
|
+
end
|
140
|
+
|
141
|
+
# @since 0.10.0
|
142
|
+
# @see #get_querypage
|
143
|
+
def get_fewestrevisions_page(limit = 500)
|
144
|
+
get_querypage('Fewestrevisions', limit)
|
145
|
+
end
|
146
|
+
|
147
|
+
# @since 0.10.0
|
148
|
+
# @see #get_querypage
|
149
|
+
def get_lonelypages_page(limit = 500)
|
150
|
+
get_querypage('Lonelypages', limit)
|
151
|
+
end
|
152
|
+
|
153
|
+
# @since 0.10.0
|
154
|
+
# @see #get_querypage
|
155
|
+
def get_ancientpages_page(limit = 500)
|
156
|
+
get_querypage('Ancientpages', limit)
|
157
|
+
end
|
158
|
+
|
159
|
+
# @since 0.10.0
|
160
|
+
# @see #get_querypage
|
161
|
+
def get_longpages_page(limit = 500)
|
162
|
+
get_querypage('Longpages', limit)
|
163
|
+
end
|
164
|
+
|
165
|
+
# @since 0.10.0
|
166
|
+
# @see #get_querypage
|
167
|
+
def get_doubleredirects_page(limit = 500)
|
168
|
+
get_querypage('DoubleRedirects', limit)
|
169
|
+
end
|
170
|
+
|
171
|
+
# @since 0.10.0
|
172
|
+
# @see #get_querypage
|
173
|
+
def get_brokenredirects_page(limit = 500)
|
174
|
+
get_querypage('BrokenRedirects', limit)
|
175
|
+
end
|
176
|
+
|
177
|
+
# Performs a QueryPage request.
|
178
|
+
# @param page [String] The special page (not including Special:) to
|
179
|
+
# query.
|
180
|
+
# @param limit [Int] The limit.
|
181
|
+
# @see https://www.mediawiki.org/wiki/API:Querypage MediaWiki QueryPage
|
182
|
+
# API Docs
|
183
|
+
# @since 0.10.0
|
184
|
+
# @return [Hash] The response.
|
185
|
+
def get_querypage(page, limit = 500)
|
186
|
+
params = {
|
187
|
+
action: 'query',
|
188
|
+
list: 'querypage',
|
189
|
+
qppage: page,
|
190
|
+
qplimit: get_limited(limit)
|
191
|
+
}
|
192
|
+
response = post(params)
|
193
|
+
ret = []
|
194
|
+
response['query']['querypage']['results'].each do |result|
|
195
|
+
ret << result['title']
|
196
|
+
end
|
197
|
+
|
198
|
+
ret
|
199
|
+
end
|
200
|
+
end
|
201
|
+
end
|
202
|
+
end
|
203
|
+
end
|