mediawiki-gateway 0.3.6 → 0.3.7
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/media_wiki.rb +1 -1
- data/lib/media_wiki/gateway.rb +28 -1
- data/mediawiki-gateway.gemspec +2 -2
- metadata +4 -4
data/lib/media_wiki.rb
CHANGED
data/lib/media_wiki/gateway.rb
CHANGED
@@ -66,6 +66,19 @@ module MediaWiki
|
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
69
|
+
# Fetch latest revision ID of a MediaWiki page. Does not follow redirects.
|
70
|
+
#
|
71
|
+
# [page_title] Page title to fetch
|
72
|
+
#
|
73
|
+
# Returns revision ID as a string, nil if the page does not exist.
|
74
|
+
def revision(page_title)
|
75
|
+
form_data = {'action' => 'query', 'prop' => 'revisions', 'rvprop' => 'ids', 'rvlimit' => 1, 'titles' => page_title}
|
76
|
+
page = make_api_request(form_data).first.elements["query/pages/page"]
|
77
|
+
if valid_page? page
|
78
|
+
page.elements["revisions/rev"].attributes["revid"]
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
69
82
|
# Render a MediaWiki page as HTML
|
70
83
|
#
|
71
84
|
# [page_title] Page title to fetch
|
@@ -470,6 +483,20 @@ module MediaWiki
|
|
470
483
|
userrights(user, token, groups_to_add, groups_to_remove, comment)
|
471
484
|
end
|
472
485
|
|
486
|
+
# Review current revision of an article (requires FlaggedRevisions extension, see http://www.mediawiki.org/wiki/Extension:FlaggedRevs)
|
487
|
+
#
|
488
|
+
# [title] Title of article to review
|
489
|
+
# [flags] Hash of flags and values to set, eg. { "accuracy" => "1", "depth" => "2" }
|
490
|
+
# [comment] Comment to add to review (optional)
|
491
|
+
def review(title, flags, comment = "Reviewed by MediaWiki::Gateway")
|
492
|
+
raise "No article found" unless revid = revision(title)
|
493
|
+
form_data = {'action' => 'review', 'revid' => revid, 'token' => get_token('edit', title), 'comment' => comment}
|
494
|
+
form_data.merge!( Hash[flags.map {|k,v| ["flag_#{k}", v]}] )
|
495
|
+
puts form_data.inspect
|
496
|
+
res, dummy = make_api_request(form_data)
|
497
|
+
res
|
498
|
+
end
|
499
|
+
|
473
500
|
private
|
474
501
|
|
475
502
|
# Fetch token (type 'delete', 'edit', 'import', 'move')
|
@@ -528,7 +555,7 @@ module MediaWiki
|
|
528
555
|
res, dummy = make_api_request(form_data)
|
529
556
|
res
|
530
557
|
end
|
531
|
-
|
558
|
+
|
532
559
|
# Make generic request to API
|
533
560
|
#
|
534
561
|
# [form_data] hash or string of attributes to post
|
data/mediawiki-gateway.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{mediawiki-gateway}
|
8
|
-
s.version = "0.3.
|
8
|
+
s.version = "0.3.7"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jani Patokallio"]
|
12
|
-
s.date = %q{2011-
|
12
|
+
s.date = %q{2011-04-14}
|
13
13
|
s.description = %q{}
|
14
14
|
s.email = %q{jpatokal@iki.fi}
|
15
15
|
s.extra_rdoc_files = [
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mediawiki-gateway
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 29
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 7
|
10
|
+
version: 0.3.7
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jani Patokallio
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-04-14 00:00:00 +10:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|