mediawiki-gateway 0.1.0 → 0.1.1
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.
- data/README +4 -0
- data/Rakefile +4 -3
- data/VERSION +1 -1
- data/doc/classes/MediaWiki.html +8 -8
- data/doc/classes/MediaWiki/Config.html +71 -71
- data/doc/classes/MediaWiki/Gateway.html +474 -262
- data/doc/created.rid +1 -1
- data/doc/files/{README_txt.html → README.html} +8 -5
- data/doc/files/{script/delete_book_rb.html → lib/media_wiki/config_rb.html} +7 -6
- data/doc/files/{media_wiki → lib/media_wiki}/gateway_rb.html +3 -4
- data/doc/files/{media_wiki → lib/media_wiki}/utils_rb.html +2 -2
- data/doc/files/script/create_page_rb.html +2 -3
- data/doc/files/{media_wiki/config_rb.html → script/delete_batch_rb.html} +5 -5
- data/doc/files/script/export_xml_rb.html +2 -2
- data/doc/files/script/get_page_rb.html +2 -2
- data/doc/files/script/import_xml_rb.html +2 -2
- data/doc/files/script/run_fake_media_wiki_rb.html +117 -0
- data/doc/files/script/upload_commons_rb.html +2 -3
- data/doc/files/script/upload_file_rb.html +2 -3
- data/doc/fr_file_index.html +6 -6
- data/doc/fr_method_index.html +13 -11
- data/doc/index.html +1 -1
- data/lib/media_wiki/gateway.rb +128 -15
- data/mediawiki-gateway.gemspec +12 -10
- data/script/create_page.rb +1 -2
- data/script/{delete_book.rb → delete_batch.rb} +1 -1
- data/script/export_xml.rb +1 -1
- data/script/get_page.rb +1 -1
- data/script/import_xml.rb +1 -1
- data/script/upload_commons.rb +1 -2
- data/script/upload_file.rb +1 -2
- data/spec/gateway_spec.rb +1 -1
- metadata +26 -14
- data/doc/files/script/undelete_page_rb.html +0 -101
- data/script/undelete_page.rb +0 -15
data/README
CHANGED
@@ -2,10 +2,14 @@
|
|
2
2
|
|
3
3
|
Ruby framework for MediaWiki API manipulation
|
4
4
|
|
5
|
+
Gem: http://rubygems.org/gems/mediawiki-gateway
|
6
|
+
RDoc: http://rubydoc.info/gems/mediawiki-gateway
|
7
|
+
|
5
8
|
== Example
|
6
9
|
|
7
10
|
Simple page creation script:
|
8
11
|
|
12
|
+
require 'media_wiki'
|
9
13
|
mw = MediaWiki::Gateway.new('http://my-wiki.example/w/api.php')
|
10
14
|
mw.login('RubyBot', 'pa$$w0rd')
|
11
15
|
mw.create('PageTitle', 'Hello world!', 'Comment: My first page')
|
data/Rakefile
CHANGED
@@ -9,8 +9,8 @@ desc 'generate API documentation to doc/index.html'
|
|
9
9
|
|
10
10
|
Rake::RDocTask.new do |rd|
|
11
11
|
rd.rdoc_dir = 'doc'
|
12
|
-
rd.main = 'README
|
13
|
-
rd.rdoc_files.include "README
|
12
|
+
rd.main = 'README'
|
13
|
+
rd.rdoc_files.include "README", "lib/media_wiki/**/*\.rb", "script/**/*\.rb"
|
14
14
|
rd.options << '--inline-source'
|
15
15
|
rd.options << '--line-numbers'
|
16
16
|
rd.options << '--all'
|
@@ -34,7 +34,8 @@ begin
|
|
34
34
|
gemspec.email = "jpatokal@iki.fi"
|
35
35
|
gemspec.homepage = "http://github.com/jpatokal/media_wiki_gateway"
|
36
36
|
gemspec.authors = ["Jani Patokallio"]
|
37
|
+
gemspec.add_dependency 'rest_client'
|
37
38
|
end
|
38
39
|
rescue LoadError
|
39
40
|
puts "Jeweler not available. Install it with: gem install jeweler"
|
40
|
-
end
|
41
|
+
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
data/doc/classes/MediaWiki.html
CHANGED
@@ -55,16 +55,16 @@
|
|
55
55
|
<tr class="top-aligned-row">
|
56
56
|
<td><strong>In:</strong></td>
|
57
57
|
<td>
|
58
|
-
<a href="../files/media_wiki/config_rb.html">
|
59
|
-
media_wiki/config.rb
|
58
|
+
<a href="../files/lib/media_wiki/config_rb.html">
|
59
|
+
lib/media_wiki/config.rb
|
60
60
|
</a>
|
61
61
|
<br />
|
62
|
-
<a href="../files/media_wiki/gateway_rb.html">
|
63
|
-
media_wiki/gateway.rb
|
62
|
+
<a href="../files/lib/media_wiki/gateway_rb.html">
|
63
|
+
lib/media_wiki/gateway.rb
|
64
64
|
</a>
|
65
65
|
<br />
|
66
|
-
<a href="../files/media_wiki/utils_rb.html">
|
67
|
-
media_wiki/utils.rb
|
66
|
+
<a href="../files/lib/media_wiki/utils_rb.html">
|
67
|
+
lib/media_wiki/utils.rb
|
68
68
|
</a>
|
69
69
|
<br />
|
70
70
|
</td>
|
@@ -132,7 +132,7 @@ Class <a href="MediaWiki/Gateway.html" class="link">MediaWiki::Gateway</a><br />
|
|
132
132
|
onclick="toggleCode('M000001-source');return false;">[Source]</a></p>
|
133
133
|
<div class="method-source-code" id="M000001-source">
|
134
134
|
<pre>
|
135
|
-
<span class="ruby-comment cmt"># File media_wiki/utils.rb, line 5</span>
|
135
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/utils.rb, line 5</span>
|
136
136
|
5: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">version</span>
|
137
137
|
6: <span class="ruby-value str">"0.0.1"</span>
|
138
138
|
7: <span class="ruby-keyword kw">end</span>
|
@@ -165,7 +165,7 @@ slashes
|
|
165
165
|
onclick="toggleCode('M000002-source');return false;">[Source]</a></p>
|
166
166
|
<div class="method-source-code" id="M000002-source">
|
167
167
|
<pre>
|
168
|
-
<span class="ruby-comment cmt"># File media_wiki/utils.rb, line 12</span>
|
168
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/utils.rb, line 12</span>
|
169
169
|
12: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">wiki_to_uri</span>(<span class="ruby-identifier">wiki</span>)
|
170
170
|
13: <span class="ruby-identifier">wiki</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'/'</span>).<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">chunk</span><span class="ruby-operator">|</span> <span class="ruby-constant">CGI</span>.<span class="ruby-identifier">escape</span>(<span class="ruby-identifier">chunk</span>.<span class="ruby-identifier">tr</span>(<span class="ruby-value str">' '</span>, <span class="ruby-value str">'_'</span>)) }.<span class="ruby-identifier">join</span>(<span class="ruby-value str">'/'</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">wiki</span>
|
171
171
|
14: <span class="ruby-keyword kw">end</span>
|
@@ -55,8 +55,8 @@
|
|
55
55
|
<tr class="top-aligned-row">
|
56
56
|
<td><strong>In:</strong></td>
|
57
57
|
<td>
|
58
|
-
<a href="../../files/media_wiki/config_rb.html">
|
59
|
-
media_wiki/config.rb
|
58
|
+
<a href="../../files/lib/media_wiki/config_rb.html">
|
59
|
+
lib/media_wiki/config.rb
|
60
60
|
</a>
|
61
61
|
<br />
|
62
62
|
</td>
|
@@ -86,8 +86,8 @@
|
|
86
86
|
<h3 class="section-bar">Methods</h3>
|
87
87
|
|
88
88
|
<div class="name-list">
|
89
|
-
<a href="#
|
90
|
-
<a href="#
|
89
|
+
<a href="#M000025">abort</a>
|
90
|
+
<a href="#M000024">new</a>
|
91
91
|
</div>
|
92
92
|
</div>
|
93
93
|
|
@@ -157,72 +157,72 @@
|
|
157
157
|
<div id="methods">
|
158
158
|
<h3 class="section-bar">Public Class methods</h3>
|
159
159
|
|
160
|
-
<div id="method-
|
161
|
-
<a name="
|
160
|
+
<div id="method-M000024" class="method-detail">
|
161
|
+
<a name="M000024"></a>
|
162
162
|
|
163
163
|
<div class="method-heading">
|
164
|
-
<a href="#
|
164
|
+
<a href="#M000024" class="method-signature">
|
165
165
|
<span class="method-name">new</span><span class="method-args">(args, type = "read")</span>
|
166
166
|
</a>
|
167
167
|
</div>
|
168
168
|
|
169
169
|
<div class="method-description">
|
170
170
|
<p><a class="source-toggle" href="#"
|
171
|
-
onclick="toggleCode('
|
172
|
-
<div class="method-source-code" id="
|
171
|
+
onclick="toggleCode('M000024-source');return false;">[Source]</a></p>
|
172
|
+
<div class="method-source-code" id="M000024-source">
|
173
173
|
<pre>
|
174
|
-
<span class="ruby-comment cmt"># File media_wiki/config.rb, line
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
174
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/config.rb, line 10</span>
|
175
|
+
10: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">args</span>, <span class="ruby-identifier">type</span> = <span class="ruby-value str">"read"</span>)
|
176
|
+
11: <span class="ruby-ivar">@summary</span> = <span class="ruby-value str">"Automated edit via MediaWiki::Gateway"</span>
|
177
|
+
12: <span class="ruby-ivar">@opts</span> = <span class="ruby-constant">OptionParser</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">opts</span><span class="ruby-operator">|</span>
|
178
|
+
13: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">banner</span> = <span class="ruby-value str">"Usage: [options]"</span>
|
179
|
+
14:
|
180
|
+
15: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">"-h"</span>, <span class="ruby-value str">"--host HOST"</span>, <span class="ruby-value str">"Use preconfigured HOST in config/hosts.yml"</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">host_id</span><span class="ruby-operator">|</span>
|
181
|
+
16: <span class="ruby-identifier">yaml</span> = <span class="ruby-constant">YAML</span>.<span class="ruby-identifier">load_file</span>(<span class="ruby-value str">'config/hosts.yml'</span>)
|
182
|
+
17: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">yaml</span>.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">host_id</span>
|
183
|
+
18: <span class="ruby-identifier">host</span> = <span class="ruby-identifier">yaml</span>[<span class="ruby-identifier">host_id</span>]
|
184
|
+
19: <span class="ruby-ivar">@url</span> = <span class="ruby-identifier">host</span>[<span class="ruby-value str">'url'</span>]
|
185
|
+
20: <span class="ruby-ivar">@pw</span> = <span class="ruby-identifier">host</span>[<span class="ruby-value str">'pw'</span>]
|
186
|
+
21: <span class="ruby-ivar">@user</span> = <span class="ruby-identifier">host</span>[<span class="ruby-value str">'user'</span>]
|
187
|
+
22: <span class="ruby-keyword kw">else</span>
|
188
|
+
23: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Host #{host_id} not found in config/hosts.yml"</span>
|
189
|
+
24: <span class="ruby-keyword kw">end</span>
|
190
|
+
25: <span class="ruby-keyword kw">end</span>
|
191
|
+
26:
|
192
|
+
27: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"upload"</span>
|
193
|
+
28: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">"-d"</span>, <span class="ruby-value str">"--description DESCRIPTION"</span>, <span class="ruby-value str">"Description of file to upload"</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">desc</span><span class="ruby-operator">|</span>
|
194
|
+
29: <span class="ruby-ivar">@desc</span> = <span class="ruby-identifier">desc</span>
|
195
|
+
30: <span class="ruby-keyword kw">end</span>
|
196
|
+
31: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">"-t"</span>, <span class="ruby-value str">"--target-file TARGET-FILE"</span>, <span class="ruby-value str">"Target file name to upload to"</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">target</span><span class="ruby-operator">|</span>
|
197
|
+
32: <span class="ruby-ivar">@target</span> = <span class="ruby-identifier">target</span>
|
198
|
+
33: <span class="ruby-keyword kw">end</span>
|
199
|
+
34: <span class="ruby-keyword kw">else</span>
|
200
|
+
35: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">"-a"</span>, <span class="ruby-value str">"--article ARTICLE"</span>, <span class="ruby-value str">"Name of article in Wiki"</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">article</span><span class="ruby-operator">|</span>
|
201
|
+
36: <span class="ruby-ivar">@article</span> = <span class="ruby-identifier">article</span>
|
202
|
+
37: <span class="ruby-keyword kw">end</span>
|
203
|
+
38: <span class="ruby-keyword kw">end</span>
|
204
|
+
39:
|
205
|
+
40: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">"-n"</span>, <span class="ruby-value str">"--username USERNAME"</span>, <span class="ruby-value str">"Username for login"</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">user</span><span class="ruby-operator">|</span>
|
206
|
+
41: <span class="ruby-ivar">@user</span> = <span class="ruby-identifier">user</span>
|
207
|
+
42: <span class="ruby-keyword kw">end</span>
|
208
|
+
43:
|
209
|
+
44: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">"-p"</span>, <span class="ruby-value str">"--password PASSWORD"</span>, <span class="ruby-value str">"Password for login"</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pw</span><span class="ruby-operator">|</span>
|
210
|
+
45: <span class="ruby-ivar">@pw</span> = <span class="ruby-identifier">pw</span>
|
211
|
+
46: <span class="ruby-keyword kw">end</span>
|
212
|
+
47:
|
213
|
+
48: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">"read"</span>
|
214
|
+
49: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">"-s"</span>, <span class="ruby-value str">"--summary SUMMARY"</span>, <span class="ruby-value str">"Edit summary for this change"</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">summary</span><span class="ruby-operator">|</span>
|
215
|
+
50: <span class="ruby-ivar">@summary</span> = <span class="ruby-identifier">summary</span>
|
216
|
+
51: <span class="ruby-keyword kw">end</span>
|
217
|
+
52: <span class="ruby-keyword kw">end</span>
|
218
|
+
53:
|
219
|
+
54: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">"-u"</span>, <span class="ruby-value str">"--url URL"</span>, <span class="ruby-value str">"MediaWiki API URL"</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">url</span><span class="ruby-operator">|</span>
|
220
|
+
55: <span class="ruby-ivar">@url</span> = <span class="ruby-identifier">url</span>
|
221
|
+
56: <span class="ruby-keyword kw">end</span>
|
222
|
+
57: <span class="ruby-keyword kw">end</span>
|
223
|
+
58: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">parse!</span>
|
224
|
+
59: <span class="ruby-identifier">abort</span>(<span class="ruby-value str">"URL (-u) or valid host (-h) is mandatory."</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@url</span>
|
225
|
+
60: <span class="ruby-keyword kw">end</span>
|
226
226
|
</pre>
|
227
227
|
</div>
|
228
228
|
</div>
|
@@ -230,25 +230,25 @@
|
|
230
230
|
|
231
231
|
<h3 class="section-bar">Public Instance methods</h3>
|
232
232
|
|
233
|
-
<div id="method-
|
234
|
-
<a name="
|
233
|
+
<div id="method-M000025" class="method-detail">
|
234
|
+
<a name="M000025"></a>
|
235
235
|
|
236
236
|
<div class="method-heading">
|
237
|
-
<a href="#
|
237
|
+
<a href="#M000025" class="method-signature">
|
238
238
|
<span class="method-name">abort</span><span class="method-args">(error)</span>
|
239
239
|
</a>
|
240
240
|
</div>
|
241
241
|
|
242
242
|
<div class="method-description">
|
243
243
|
<p><a class="source-toggle" href="#"
|
244
|
-
onclick="toggleCode('
|
245
|
-
<div class="method-source-code" id="
|
244
|
+
onclick="toggleCode('M000025-source');return false;">[Source]</a></p>
|
245
|
+
<div class="method-source-code" id="M000025-source">
|
246
246
|
<pre>
|
247
|
-
<span class="ruby-comment cmt"># File media_wiki/config.rb, line
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
247
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/config.rb, line 62</span>
|
248
|
+
62: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">abort</span>(<span class="ruby-identifier">error</span>)
|
249
|
+
63: <span class="ruby-identifier">puts</span> <span class="ruby-node">"Error: #{error}\n\n#{@opts.to_s}"</span>
|
250
|
+
64: <span class="ruby-identifier">exit</span>
|
251
|
+
65: <span class="ruby-keyword kw">end</span>
|
252
252
|
</pre>
|
253
253
|
</div>
|
254
254
|
</div>
|
@@ -55,8 +55,8 @@
|
|
55
55
|
<tr class="top-aligned-row">
|
56
56
|
<td><strong>In:</strong></td>
|
57
57
|
<td>
|
58
|
-
<a href="../../files/media_wiki/gateway_rb.html">
|
59
|
-
media_wiki/gateway.rb
|
58
|
+
<a href="../../files/lib/media_wiki/gateway_rb.html">
|
59
|
+
lib/media_wiki/gateway.rb
|
60
60
|
</a>
|
61
61
|
<br />
|
62
62
|
</td>
|
@@ -88,21 +88,23 @@
|
|
88
88
|
<div class="name-list">
|
89
89
|
<a href="#M000007">create</a>
|
90
90
|
<a href="#M000008">delete</a>
|
91
|
-
<a href="#M000014">
|
92
|
-
<a href="#M000016">
|
91
|
+
<a href="#M000014">download</a>
|
92
|
+
<a href="#M000016">export</a>
|
93
|
+
<a href="#M000018">extensions</a>
|
93
94
|
<a href="#M000005">get</a>
|
94
|
-
<a href="#
|
95
|
-
<a href="#
|
96
|
-
<a href="#
|
97
|
-
<a href="#M000013">
|
95
|
+
<a href="#M000023">get_response</a>
|
96
|
+
<a href="#M000020">get_token</a>
|
97
|
+
<a href="#M000021">get_undelete_token</a>
|
98
|
+
<a href="#M000013">image_info</a>
|
99
|
+
<a href="#M000015">import</a>
|
98
100
|
<a href="#M000010">list</a>
|
99
101
|
<a href="#M000004">login</a>
|
100
|
-
<a href="#
|
101
|
-
<a href="#
|
102
|
+
<a href="#M000022">make_api_request</a>
|
103
|
+
<a href="#M000017">namespaces_by_prefix</a>
|
102
104
|
<a href="#M000003">new</a>
|
103
105
|
<a href="#M000006">render</a>
|
104
106
|
<a href="#M000011">search</a>
|
105
|
-
<a href="#
|
107
|
+
<a href="#M000019">semantic_query</a>
|
106
108
|
<a href="#M000009">undelete</a>
|
107
109
|
<a href="#M000012">upload</a>
|
108
110
|
</div>
|
@@ -167,14 +169,14 @@ href="http://en.wikipedia.org/w/api.php">en.wikipedia.org/w/api.php</a>")
|
|
167
169
|
onclick="toggleCode('M000003-source');return false;">[Source]</a></p>
|
168
170
|
<div class="method-source-code" id="M000003-source">
|
169
171
|
<pre>
|
170
|
-
<span class="ruby-comment cmt"># File media_wiki/gateway.rb, line
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
172
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/gateway.rb, line 15</span>
|
173
|
+
15: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">url</span>, <span class="ruby-identifier">loglevel</span> = <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">WARN</span>)
|
174
|
+
16: <span class="ruby-ivar">@log</span> = <span class="ruby-constant">Logger</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">STDERR</span>)
|
175
|
+
17: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">level</span> = <span class="ruby-identifier">loglevel</span>
|
176
|
+
18: <span class="ruby-ivar">@wiki_url</span> = <span class="ruby-identifier">url</span>
|
177
|
+
19: <span class="ruby-ivar">@headers</span> = { <span class="ruby-value str">"User-Agent"</span> =<span class="ruby-operator">></span> <span class="ruby-node">"MediaWiki::Gateway/#{MediaWiki.version}"</span> }
|
178
|
+
20: <span class="ruby-ivar">@cookies</span> = {}
|
179
|
+
21: <span class="ruby-keyword kw">end</span>
|
178
180
|
</pre>
|
179
181
|
</div>
|
180
182
|
</div>
|
@@ -227,12 +229,12 @@ href="Gateway.html#M000003">new</a> one (useful for bulk loads)
|
|
227
229
|
onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
|
228
230
|
<div class="method-source-code" id="M000007-source">
|
229
231
|
<pre>
|
230
|
-
<span class="ruby-comment cmt"># File media_wiki/gateway.rb, line
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
232
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/gateway.rb, line 79</span>
|
233
|
+
79: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create</span>(<span class="ruby-identifier">title</span>, <span class="ruby-identifier">content</span>, <span class="ruby-identifier">options</span>={})
|
234
|
+
80: <span class="ruby-identifier">form_data</span> = {<span class="ruby-value str">'action'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'edit'</span>, <span class="ruby-value str">'title'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">title</span>, <span class="ruby-value str">'text'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">content</span>, <span class="ruby-value str">'summary'</span> =<span class="ruby-operator">></span> (<span class="ruby-identifier">options</span>[<span class="ruby-identifier">:summary</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">""</span>), <span class="ruby-value str">'token'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">get_token</span>(<span class="ruby-value str">'edit'</span>, <span class="ruby-identifier">title</span>)}
|
235
|
+
81: <span class="ruby-identifier">form_data</span>[<span class="ruby-value str">'createonly'</span>] = <span class="ruby-value str">""</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:overwrite</span>]
|
236
|
+
82: <span class="ruby-identifier">make_api_request</span>(<span class="ruby-identifier">form_data</span>)
|
237
|
+
83: <span class="ruby-keyword kw">end</span>
|
236
238
|
</pre>
|
237
239
|
</div>
|
238
240
|
</div>
|
@@ -261,11 +263,11 @@ support deleting multiple pages at a time.)
|
|
261
263
|
onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
|
262
264
|
<div class="method-source-code" id="M000008-source">
|
263
265
|
<pre>
|
264
|
-
<span class="ruby-comment cmt"># File media_wiki/gateway.rb, line
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
266
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/gateway.rb, line 88</span>
|
267
|
+
88: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete</span>(<span class="ruby-identifier">title</span>)
|
268
|
+
89: <span class="ruby-identifier">form_data</span> = {<span class="ruby-value str">'action'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'delete'</span>, <span class="ruby-value str">'title'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">title</span>, <span class="ruby-value str">'token'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">get_token</span>(<span class="ruby-value str">'delete'</span>, <span class="ruby-identifier">title</span>)}
|
269
|
+
90: <span class="ruby-identifier">make_api_request</span>(<span class="ruby-identifier">form_data</span>)
|
270
|
+
91: <span class="ruby-keyword kw">end</span>
|
269
271
|
</pre>
|
270
272
|
</div>
|
271
273
|
</div>
|
@@ -276,6 +278,43 @@ support deleting multiple pages at a time.)
|
|
276
278
|
|
277
279
|
<div class="method-heading">
|
278
280
|
<a href="#M000014" class="method-signature">
|
281
|
+
<span class="method-name">download</span><span class="method-args">(file_name, options={})</span>
|
282
|
+
</a>
|
283
|
+
</div>
|
284
|
+
|
285
|
+
<div class="method-description">
|
286
|
+
<p>
|
287
|
+
Download <em>file_name</em>. Returns file contents. All options are passed
|
288
|
+
to <a href="Gateway.html#M000013">image_info</a> however
|
289
|
+
options[‘iiprop’] is forced to url. You can still set other
|
290
|
+
options to control what file you want to <a
|
291
|
+
href="Gateway.html#M000014">download</a>.
|
292
|
+
</p>
|
293
|
+
<p><a class="source-toggle" href="#"
|
294
|
+
onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
|
295
|
+
<div class="method-source-code" id="M000014-source">
|
296
|
+
<pre>
|
297
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/gateway.rb, line 282</span>
|
298
|
+
282: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">download</span>(<span class="ruby-identifier">file_name</span>, <span class="ruby-identifier">options</span>={})
|
299
|
+
283: <span class="ruby-identifier">options</span>[<span class="ruby-value str">'iiprop'</span>] = <span class="ruby-value str">'url'</span>
|
300
|
+
284:
|
301
|
+
285: <span class="ruby-identifier">attributes</span> = <span class="ruby-identifier">image_info</span>(<span class="ruby-identifier">file_name</span>, <span class="ruby-identifier">options</span>)
|
302
|
+
286: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attributes</span>
|
303
|
+
287: <span class="ruby-constant">RestClient</span>.<span class="ruby-identifier">get</span> <span class="ruby-identifier">attributes</span>[<span class="ruby-value str">'url'</span>]
|
304
|
+
288: <span class="ruby-keyword kw">else</span>
|
305
|
+
289: <span class="ruby-keyword kw">nil</span>
|
306
|
+
290: <span class="ruby-keyword kw">end</span>
|
307
|
+
291: <span class="ruby-keyword kw">end</span>
|
308
|
+
</pre>
|
309
|
+
</div>
|
310
|
+
</div>
|
311
|
+
</div>
|
312
|
+
|
313
|
+
<div id="method-M000016" class="method-detail">
|
314
|
+
<a name="M000016"></a>
|
315
|
+
|
316
|
+
<div class="method-heading">
|
317
|
+
<a href="#M000016" class="method-signature">
|
279
318
|
<span class="method-name">export</span><span class="method-args">(page_titles)</span>
|
280
319
|
</a>
|
281
320
|
</div>
|
@@ -293,24 +332,24 @@ Exports a page or set of pages
|
|
293
332
|
Returns <a href="../MediaWiki.html">MediaWiki</a> XML dump
|
294
333
|
</p>
|
295
334
|
<p><a class="source-toggle" href="#"
|
296
|
-
onclick="toggleCode('
|
297
|
-
<div class="method-source-code" id="
|
335
|
+
onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
|
336
|
+
<div class="method-source-code" id="M000016-source">
|
298
337
|
<pre>
|
299
|
-
<span class="ruby-comment cmt"># File media_wiki/gateway.rb, line
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
338
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/gateway.rb, line 313</span>
|
339
|
+
313: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">export</span>(<span class="ruby-identifier">page_titles</span>)
|
340
|
+
314: <span class="ruby-identifier">form_data</span> = {<span class="ruby-value str">'action'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'query'</span>, <span class="ruby-value str">'titles'</span> =<span class="ruby-operator">></span> [<span class="ruby-identifier">page_titles</span>].<span class="ruby-identifier">join</span>(<span class="ruby-value str">'|'</span>), <span class="ruby-value str">'export'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">'exportnowrap'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>}
|
341
|
+
315: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">make_api_request</span>(<span class="ruby-identifier">form_data</span>)
|
342
|
+
316: <span class="ruby-keyword kw">end</span>
|
304
343
|
</pre>
|
305
344
|
</div>
|
306
345
|
</div>
|
307
346
|
</div>
|
308
347
|
|
309
|
-
<div id="method-
|
310
|
-
<a name="
|
348
|
+
<div id="method-M000018" class="method-detail">
|
349
|
+
<a name="M000018"></a>
|
311
350
|
|
312
351
|
<div class="method-heading">
|
313
|
-
<a href="#
|
352
|
+
<a href="#M000018" class="method-signature">
|
314
353
|
<span class="method-name">extensions</span><span class="method-args">()</span>
|
315
354
|
</a>
|
316
355
|
</div>
|
@@ -318,26 +357,26 @@ Returns <a href="../MediaWiki.html">MediaWiki</a> XML dump
|
|
318
357
|
<div class="method-description">
|
319
358
|
<p>
|
320
359
|
Get a <a href="Gateway.html#M000010">list</a> of all installed (and
|
321
|
-
registered) <a href="Gateway.html#
|
360
|
+
registered) <a href="Gateway.html#M000018">extensions</a>
|
322
361
|
</p>
|
323
362
|
<p>
|
324
|
-
Returns array of <a href="Gateway.html#
|
363
|
+
Returns array of <a href="Gateway.html#M000018">extensions</a> (name =>
|
325
364
|
version)
|
326
365
|
</p>
|
327
366
|
<p><a class="source-toggle" href="#"
|
328
|
-
onclick="toggleCode('
|
329
|
-
<div class="method-source-code" id="
|
367
|
+
onclick="toggleCode('M000018-source');return false;">[Source]</a></p>
|
368
|
+
<div class="method-source-code" id="M000018-source">
|
330
369
|
<pre>
|
331
|
-
<span class="ruby-comment cmt"># File media_wiki/gateway.rb, line
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
370
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/gateway.rb, line 334</span>
|
371
|
+
334: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">extensions</span>
|
372
|
+
335: <span class="ruby-identifier">form_data</span> = { <span class="ruby-value str">'action'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'query'</span>, <span class="ruby-value str">'meta'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'siteinfo'</span>, <span class="ruby-value str">'siprop'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'extensions'</span> }
|
373
|
+
336: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">make_api_request</span>(<span class="ruby-identifier">form_data</span>)
|
374
|
+
337: <span class="ruby-constant">REXML</span><span class="ruby-operator">::</span><span class="ruby-constant">XPath</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">res</span>, <span class="ruby-value str">"//ext"</span>).<span class="ruby-identifier">inject</span>(<span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">extensions</span>, <span class="ruby-identifier">extension</span><span class="ruby-operator">|</span>
|
375
|
+
338: <span class="ruby-identifier">name</span> = <span class="ruby-identifier">extension</span>.<span class="ruby-identifier">attributes</span>[<span class="ruby-value str">"name"</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">""</span>
|
376
|
+
339: <span class="ruby-identifier">extensions</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">extension</span>.<span class="ruby-identifier">attributes</span>[<span class="ruby-value str">"version"</span>]
|
377
|
+
340: <span class="ruby-identifier">extensions</span>
|
378
|
+
341: <span class="ruby-keyword kw">end</span>
|
379
|
+
342: <span class="ruby-keyword kw">end</span>
|
341
380
|
</pre>
|
342
381
|
</div>
|
343
382
|
</div>
|
@@ -369,16 +408,16 @@ Returns nil if the page does not exist
|
|
369
408
|
onclick="toggleCode('M000005-source');return false;">[Source]</a></p>
|
370
409
|
<div class="method-source-code" id="M000005-source">
|
371
410
|
<pre>
|
372
|
-
<span class="ruby-comment cmt"># File media_wiki/gateway.rb, line
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
411
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/gateway.rb, line 44</span>
|
412
|
+
44: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">page_title</span>)
|
413
|
+
45: <span class="ruby-identifier">form_data</span> = {<span class="ruby-value str">'action'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'query'</span>, <span class="ruby-value str">'prop'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'revisions'</span>, <span class="ruby-value str">'rvprop'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'content'</span>, <span class="ruby-value str">'titles'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">page_title</span>}
|
414
|
+
46: <span class="ruby-identifier">page</span> = <span class="ruby-identifier">make_api_request</span>(<span class="ruby-identifier">form_data</span>).<span class="ruby-identifier">elements</span>[<span class="ruby-value str">"query/pages/page"</span>]
|
415
|
+
47: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">page</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">page</span>.<span class="ruby-identifier">attributes</span>[<span class="ruby-value str">"missing"</span>]
|
416
|
+
48: <span class="ruby-keyword kw">nil</span>
|
417
|
+
49: <span class="ruby-keyword kw">else</span>
|
418
|
+
50: <span class="ruby-identifier">page</span>.<span class="ruby-identifier">elements</span>[<span class="ruby-value str">"revisions/rev"</span>].<span class="ruby-identifier">text</span>
|
419
|
+
51: <span class="ruby-keyword kw">end</span>
|
420
|
+
52: <span class="ruby-keyword kw">end</span>
|
382
421
|
</pre>
|
383
422
|
</div>
|
384
423
|
</div>
|
@@ -389,6 +428,98 @@ Returns nil if the page does not exist
|
|
389
428
|
|
390
429
|
<div class="method-heading">
|
391
430
|
<a href="#M000013" class="method-signature">
|
431
|
+
<span class="method-name">image_info</span><span class="method-args">(file_name_or_page_id, options={})</span>
|
432
|
+
</a>
|
433
|
+
</div>
|
434
|
+
|
435
|
+
<div class="method-description">
|
436
|
+
<p>
|
437
|
+
Requests image info from <a href="../MediaWiki.html">MediaWiki</a>. Follows
|
438
|
+
redirects.
|
439
|
+
</p>
|
440
|
+
<p>
|
441
|
+
<em>file_name_or_page_id</em> should be either:
|
442
|
+
</p>
|
443
|
+
<ul>
|
444
|
+
<li>a file name (String) you want info about without File: prefix.
|
445
|
+
|
446
|
+
</li>
|
447
|
+
<li>or a Fixnum page id you of the file.
|
448
|
+
|
449
|
+
</li>
|
450
|
+
</ul>
|
451
|
+
<p>
|
452
|
+
<em>options</em> is <tt>Hash</tt> passed as query arguments. See <a
|
453
|
+
href="http://www.mediawiki.org/wiki/API:Query_-_Properties#imageinfo_.2F_ii">www.mediawiki.org/wiki/API:Query_-_Properties#imageinfo_.2F_ii</a>
|
454
|
+
for more information.
|
455
|
+
</p>
|
456
|
+
<p>
|
457
|
+
options[‘iiprop’] should be either a string of properties
|
458
|
+
joined by ’|’ or an <tt>Array</tt> (or more precisely something
|
459
|
+
that responds to join).
|
460
|
+
</p>
|
461
|
+
<p>
|
462
|
+
<tt>Hash</tt> like object is returned where keys are image properties.
|
463
|
+
</p>
|
464
|
+
<p>
|
465
|
+
Example:
|
466
|
+
</p>
|
467
|
+
<pre>
|
468
|
+
mw.image_info(
|
469
|
+
"Trooper.jpg", 'iiprop' => ['timestamp', 'user']
|
470
|
+
).each do |key, value|
|
471
|
+
puts "#{key.inspect} => #{value.inspect}"
|
472
|
+
end
|
473
|
+
</pre>
|
474
|
+
<p>
|
475
|
+
Output:
|
476
|
+
</p>
|
477
|
+
<pre>
|
478
|
+
"timestamp" => "2009-10-31T12:59:11Z"
|
479
|
+
"user" => "Valdas"
|
480
|
+
</pre>
|
481
|
+
<p><a class="source-toggle" href="#"
|
482
|
+
onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
|
483
|
+
<div class="method-source-code" id="M000013-source">
|
484
|
+
<pre>
|
485
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/gateway.rb, line 251</span>
|
486
|
+
251: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">image_info</span>(<span class="ruby-identifier">file_name_or_page_id</span>, <span class="ruby-identifier">options</span>={})
|
487
|
+
252: <span class="ruby-identifier">options</span>[<span class="ruby-value str">'iiprop'</span>] = <span class="ruby-identifier">options</span>[<span class="ruby-value str">'iiprop'</span>].<span class="ruby-identifier">join</span>(<span class="ruby-value str">'|'</span>) \
|
488
|
+
253: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">'iiprop'</span>].<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:join</span>)
|
489
|
+
254: <span class="ruby-identifier">form_data</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">merge</span>(
|
490
|
+
255: <span class="ruby-value str">'action'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'query'</span>,
|
491
|
+
256: <span class="ruby-value str">'prop'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'imageinfo'</span>,
|
492
|
+
257: <span class="ruby-value str">'redirects'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">true</span>
|
493
|
+
258: )
|
494
|
+
259:
|
495
|
+
260: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">file_name_or_page_id</span>
|
496
|
+
261: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Fixnum</span>
|
497
|
+
262: <span class="ruby-identifier">form_data</span>[<span class="ruby-value str">'pageids'</span>] = <span class="ruby-identifier">file_name_or_page_id</span>
|
498
|
+
263: <span class="ruby-keyword kw">else</span>
|
499
|
+
264: <span class="ruby-identifier">form_data</span>[<span class="ruby-value str">'titles'</span>] = <span class="ruby-node">"File:#{file_name_or_page_id}"</span>
|
500
|
+
265: <span class="ruby-keyword kw">end</span>
|
501
|
+
266:
|
502
|
+
267: <span class="ruby-identifier">xml</span> = <span class="ruby-identifier">make_api_request</span>(<span class="ruby-identifier">form_data</span>)
|
503
|
+
268: <span class="ruby-identifier">page</span> = <span class="ruby-identifier">xml</span>.<span class="ruby-identifier">elements</span>[<span class="ruby-value str">"query/pages/page"</span>]
|
504
|
+
269: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">page</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">page</span>.<span class="ruby-identifier">attributes</span>[<span class="ruby-value str">"missing"</span>]
|
505
|
+
270: <span class="ruby-keyword kw">nil</span>
|
506
|
+
271: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">xml</span>.<span class="ruby-identifier">elements</span>[<span class="ruby-value str">"query/redirects/r"</span>]
|
507
|
+
272: <span class="ruby-comment cmt"># We're dealing with redirect here.</span>
|
508
|
+
273: <span class="ruby-identifier">image_info</span>(<span class="ruby-identifier">page</span>.<span class="ruby-identifier">attributes</span>[<span class="ruby-value str">"pageid"</span>].<span class="ruby-identifier">to_i</span>, <span class="ruby-identifier">options</span>)
|
509
|
+
274: <span class="ruby-keyword kw">else</span>
|
510
|
+
275: <span class="ruby-identifier">page</span>.<span class="ruby-identifier">elements</span>[<span class="ruby-value str">"imageinfo/ii"</span>].<span class="ruby-identifier">attributes</span>
|
511
|
+
276: <span class="ruby-keyword kw">end</span>
|
512
|
+
277: <span class="ruby-keyword kw">end</span>
|
513
|
+
</pre>
|
514
|
+
</div>
|
515
|
+
</div>
|
516
|
+
</div>
|
517
|
+
|
518
|
+
<div id="method-M000015" class="method-detail">
|
519
|
+
<a name="M000015"></a>
|
520
|
+
|
521
|
+
<div class="method-heading">
|
522
|
+
<a href="#M000015" class="method-signature">
|
392
523
|
<span class="method-name">import</span><span class="method-args">(xmlfile)</span>
|
393
524
|
</a>
|
394
525
|
</div>
|
@@ -404,22 +535,22 @@ Imports a <a href="../MediaWiki.html">MediaWiki</a> XML dump
|
|
404
535
|
</dl>
|
405
536
|
<p>
|
406
537
|
Returns XML array <api><<a
|
407
|
-
href="Gateway.html#
|
538
|
+
href="Gateway.html#M000015">import</a>><page/><page/>…
|
408
539
|
<page revisions="1"> (or more) means successfully imported
|
409
540
|
<page revisions="0"> means duplicate, not imported
|
410
541
|
</p>
|
411
542
|
<p><a class="source-toggle" href="#"
|
412
|
-
onclick="toggleCode('
|
413
|
-
<div class="method-source-code" id="
|
543
|
+
onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
|
544
|
+
<div class="method-source-code" id="M000015-source">
|
414
545
|
<pre>
|
415
|
-
<span class="ruby-comment cmt"># File media_wiki/gateway.rb, line
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
546
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/gateway.rb, line 300</span>
|
547
|
+
300: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">import</span>(<span class="ruby-identifier">xmlfile</span>)
|
548
|
+
301: <span class="ruby-identifier">form_data</span> = { <span class="ruby-value str">"action"</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"import"</span>,
|
549
|
+
302: <span class="ruby-value str">"xml"</span> =<span class="ruby-operator">></span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">xmlfile</span>),
|
550
|
+
303: <span class="ruby-value str">"token"</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">get_token</span>(<span class="ruby-value str">'import'</span>, <span class="ruby-value str">'Main Page'</span>), <span class="ruby-comment cmt"># NB: dummy page name</span>
|
551
|
+
304: <span class="ruby-value str">"format"</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'xml'</span> }
|
552
|
+
305: <span class="ruby-identifier">make_api_request</span>(<span class="ruby-identifier">form_data</span>)
|
553
|
+
306: <span class="ruby-keyword kw">end</span>
|
423
554
|
</pre>
|
424
555
|
</div>
|
425
556
|
</div>
|
@@ -450,26 +581,26 @@ Returns array of page titles (empty if no matches)
|
|
450
581
|
onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
|
451
582
|
<div class="method-source-code" id="M000010-source">
|
452
583
|
<pre>
|
453
|
-
<span class="ruby-comment cmt"># File media_wiki/gateway.rb, line
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
584
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/gateway.rb, line 114</span>
|
585
|
+
114: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">list</span>(<span class="ruby-identifier">key</span>)
|
586
|
+
115: <span class="ruby-identifier">titles</span> = []
|
587
|
+
116: <span class="ruby-identifier">apfrom</span> = <span class="ruby-keyword kw">nil</span>
|
588
|
+
117: <span class="ruby-identifier">key</span>, <span class="ruby-identifier">namespace</span> = <span class="ruby-identifier">key</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">":"</span>, <span class="ruby-value">2</span>).<span class="ruby-identifier">reverse</span>
|
589
|
+
118: <span class="ruby-identifier">namespace</span> = <span class="ruby-identifier">namespaces_by_prefix</span>[<span class="ruby-identifier">namespace</span>] <span class="ruby-operator">||</span> <span class="ruby-value">0</span>
|
590
|
+
119: <span class="ruby-keyword kw">begin</span>
|
591
|
+
120: <span class="ruby-identifier">form_data</span> =
|
592
|
+
121: {<span class="ruby-value str">'action'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'query'</span>,
|
593
|
+
122: <span class="ruby-value str">'list'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'allpages'</span>,
|
594
|
+
123: <span class="ruby-value str">'apfrom'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">apfrom</span>,
|
595
|
+
124: <span class="ruby-value str">'apprefix'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">key</span>,
|
596
|
+
125: <span class="ruby-value str">'aplimit'</span> =<span class="ruby-operator">></span> <span class="ruby-value">500</span>, <span class="ruby-comment cmt"># max allowed by API</span>
|
597
|
+
126: <span class="ruby-value str">'apnamespace'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">namespace</span>}
|
598
|
+
127: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">make_api_request</span>(<span class="ruby-identifier">form_data</span>)
|
599
|
+
128: <span class="ruby-identifier">apfrom</span> = <span class="ruby-identifier">res</span>.<span class="ruby-identifier">elements</span>[<span class="ruby-value str">'query-continue'</span>] <span class="ruby-operator">?</span> <span class="ruby-identifier">res</span>.<span class="ruby-identifier">elements</span>[<span class="ruby-value str">'query-continue/allpages'</span>].<span class="ruby-identifier">attributes</span>[<span class="ruby-value str">'apfrom'</span>] <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
|
600
|
+
129: <span class="ruby-identifier">titles</span> <span class="ruby-operator">+=</span> <span class="ruby-constant">REXML</span><span class="ruby-operator">::</span><span class="ruby-constant">XPath</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">res</span>, <span class="ruby-value str">"//p"</span>).<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-identifier">x</span>.<span class="ruby-identifier">attributes</span>[<span class="ruby-value str">"title"</span>] }
|
601
|
+
130: <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">apfrom</span>
|
602
|
+
131: <span class="ruby-identifier">titles</span>
|
603
|
+
132: <span class="ruby-keyword kw">end</span>
|
473
604
|
</pre>
|
474
605
|
</div>
|
475
606
|
</div>
|
@@ -507,23 +638,23 @@ Throws error if <a href="Gateway.html#M000004">login</a> fails
|
|
507
638
|
onclick="toggleCode('M000004-source');return false;">[Source]</a></p>
|
508
639
|
<div class="method-source-code" id="M000004-source">
|
509
640
|
<pre>
|
510
|
-
<span class="ruby-comment cmt"># File media_wiki/gateway.rb, line
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
641
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/gateway.rb, line 32</span>
|
642
|
+
32: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">login</span>(<span class="ruby-identifier">username</span>, <span class="ruby-identifier">password</span>, <span class="ruby-identifier">domain</span> = <span class="ruby-value str">'local'</span>)
|
643
|
+
33: <span class="ruby-identifier">form_data</span> = {<span class="ruby-value str">'action'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'login'</span>, <span class="ruby-value str">'lgname'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">username</span>, <span class="ruby-value str">'lgpassword'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">password</span>, <span class="ruby-value str">'lgdomain'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">domain</span>}
|
644
|
+
34: <span class="ruby-identifier">make_api_request</span>(<span class="ruby-identifier">form_data</span>)
|
645
|
+
35: <span class="ruby-ivar">@password</span> = <span class="ruby-identifier">password</span>
|
646
|
+
36: <span class="ruby-ivar">@username</span> = <span class="ruby-identifier">username</span>
|
647
|
+
37: <span class="ruby-keyword kw">end</span>
|
517
648
|
</pre>
|
518
649
|
</div>
|
519
650
|
</div>
|
520
651
|
</div>
|
521
652
|
|
522
|
-
<div id="method-
|
523
|
-
<a name="
|
653
|
+
<div id="method-M000017" class="method-detail">
|
654
|
+
<a name="M000017"></a>
|
524
655
|
|
525
656
|
<div class="method-heading">
|
526
|
-
<a href="#
|
657
|
+
<a href="#M000017" class="method-signature">
|
527
658
|
<span class="method-name">namespaces_by_prefix</span><span class="method-args">()</span>
|
528
659
|
</a>
|
529
660
|
</div>
|
@@ -536,19 +667,19 @@ Get a <a href="Gateway.html#M000010">list</a> of all known namespaces
|
|
536
667
|
Returns array of namespaces (name => id)
|
537
668
|
</p>
|
538
669
|
<p><a class="source-toggle" href="#"
|
539
|
-
onclick="toggleCode('
|
540
|
-
<div class="method-source-code" id="
|
670
|
+
onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
|
671
|
+
<div class="method-source-code" id="M000017-source">
|
541
672
|
<pre>
|
542
|
-
<span class="ruby-comment cmt"># File media_wiki/gateway.rb, line
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
673
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/gateway.rb, line 321</span>
|
674
|
+
321: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">namespaces_by_prefix</span>
|
675
|
+
322: <span class="ruby-identifier">form_data</span> = { <span class="ruby-value str">'action'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'query'</span>, <span class="ruby-value str">'meta'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'siteinfo'</span>, <span class="ruby-value str">'siprop'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'namespaces'</span> }
|
676
|
+
323: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">make_api_request</span>(<span class="ruby-identifier">form_data</span>)
|
677
|
+
324: <span class="ruby-constant">REXML</span><span class="ruby-operator">::</span><span class="ruby-constant">XPath</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">res</span>, <span class="ruby-value str">"//ns"</span>).<span class="ruby-identifier">inject</span>(<span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">namespaces</span>, <span class="ruby-identifier">namespace</span><span class="ruby-operator">|</span>
|
678
|
+
325: <span class="ruby-identifier">prefix</span> = <span class="ruby-identifier">namespace</span>.<span class="ruby-identifier">attributes</span>[<span class="ruby-value str">"canonical"</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">""</span>
|
679
|
+
326: <span class="ruby-identifier">namespaces</span>[<span class="ruby-identifier">prefix</span>] = <span class="ruby-identifier">namespace</span>.<span class="ruby-identifier">attributes</span>[<span class="ruby-value str">"id"</span>].<span class="ruby-identifier">to_i</span>
|
680
|
+
327: <span class="ruby-identifier">namespaces</span>
|
681
|
+
328: <span class="ruby-keyword kw">end</span>
|
682
|
+
329: <span class="ruby-keyword kw">end</span>
|
552
683
|
</pre>
|
553
684
|
</div>
|
554
685
|
</div>
|
@@ -579,16 +710,16 @@ Returns nil if the page does not exist
|
|
579
710
|
onclick="toggleCode('M000006-source');return false;">[Source]</a></p>
|
580
711
|
<div class="method-source-code" id="M000006-source">
|
581
712
|
<pre>
|
582
|
-
<span class="ruby-comment cmt"># File media_wiki/gateway.rb, line
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
713
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/gateway.rb, line 59</span>
|
714
|
+
59: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">render</span>(<span class="ruby-identifier">page_title</span>)
|
715
|
+
60: <span class="ruby-identifier">form_data</span> = {<span class="ruby-value str">'action'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'parse'</span>, <span class="ruby-value str">'page'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">page_title</span>}
|
716
|
+
61: <span class="ruby-identifier">parsed</span> = <span class="ruby-identifier">make_api_request</span>(<span class="ruby-identifier">form_data</span>).<span class="ruby-identifier">elements</span>[<span class="ruby-value str">"parse"</span>]
|
717
|
+
62: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parsed</span>.<span class="ruby-identifier">attributes</span>[<span class="ruby-value str">"revid"</span>] <span class="ruby-operator">!=</span> <span class="ruby-value str">'0'</span>
|
718
|
+
63: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">parsed</span>.<span class="ruby-identifier">elements</span>[<span class="ruby-value str">"text"</span>].<span class="ruby-identifier">text</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/<!--(.|\s)*?-->/</span>, <span class="ruby-value str">''</span>)
|
719
|
+
64: <span class="ruby-keyword kw">else</span>
|
720
|
+
65: <span class="ruby-keyword kw">nil</span>
|
721
|
+
66: <span class="ruby-keyword kw">end</span>
|
722
|
+
67: <span class="ruby-keyword kw">end</span>
|
592
723
|
</pre>
|
593
724
|
</div>
|
594
725
|
</div>
|
@@ -627,30 +758,30 @@ Returns array of page titles (empty if no matches)
|
|
627
758
|
onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
|
628
759
|
<div class="method-source-code" id="M000011-source">
|
629
760
|
<pre>
|
630
|
-
<span class="ruby-comment cmt"># File media_wiki/gateway.rb, line
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
761
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/gateway.rb, line 141</span>
|
762
|
+
141: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">search</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">namespaces</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">limit</span>=<span class="ruby-value">10</span>)
|
763
|
+
142: <span class="ruby-identifier">titles</span> = []
|
764
|
+
143: <span class="ruby-identifier">form_data</span> = { <span class="ruby-value str">'action'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'query'</span>,
|
765
|
+
144: <span class="ruby-value str">'list'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'search'</span>,
|
766
|
+
145: <span class="ruby-value str">'srwhat'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'text'</span>,
|
767
|
+
146: <span class="ruby-value str">'srsearch'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">key</span>,
|
768
|
+
147: <span class="ruby-value str">'srlimit'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">limit</span>}
|
769
|
+
148: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">namespaces</span>
|
770
|
+
149: <span class="ruby-identifier">namespaces</span> = [ <span class="ruby-identifier">namespaces</span> ] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">namespaces</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Array</span>
|
771
|
+
150: <span class="ruby-identifier">form_data</span>[<span class="ruby-value str">'srnamespace'</span>] = <span class="ruby-identifier">namespaces</span>.<span class="ruby-identifier">map!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ns</span><span class="ruby-operator">|</span> <span class="ruby-identifier">namespaces_by_prefix</span>[<span class="ruby-identifier">ns</span>] <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">'|'</span>)
|
772
|
+
151: <span class="ruby-keyword kw">end</span>
|
773
|
+
152: <span class="ruby-identifier">titles</span> <span class="ruby-operator">+=</span> <span class="ruby-constant">REXML</span><span class="ruby-operator">::</span><span class="ruby-constant">XPath</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">make_api_request</span>(<span class="ruby-identifier">form_data</span>), <span class="ruby-value str">"//p"</span>).<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-identifier">x</span>.<span class="ruby-identifier">attributes</span>[<span class="ruby-value str">"title"</span>] }
|
774
|
+
153: <span class="ruby-keyword kw">end</span>
|
644
775
|
</pre>
|
645
776
|
</div>
|
646
777
|
</div>
|
647
778
|
</div>
|
648
779
|
|
649
|
-
<div id="method-
|
650
|
-
<a name="
|
780
|
+
<div id="method-M000019" class="method-detail">
|
781
|
+
<a name="M000019"></a>
|
651
782
|
|
652
783
|
<div class="method-heading">
|
653
|
-
<a href="#
|
784
|
+
<a href="#M000019" class="method-signature">
|
654
785
|
<span class="method-name">semantic_query</span><span class="method-args">(query, params = [])</span>
|
655
786
|
</a>
|
656
787
|
</div>
|
@@ -672,16 +803,16 @@ Execute Semantic Mediawiki query
|
|
672
803
|
Returns result as an HTML string
|
673
804
|
</p>
|
674
805
|
<p><a class="source-toggle" href="#"
|
675
|
-
onclick="toggleCode('
|
676
|
-
<div class="method-source-code" id="
|
806
|
+
onclick="toggleCode('M000019-source');return false;">[Source]</a></p>
|
807
|
+
<div class="method-source-code" id="M000019-source">
|
677
808
|
<pre>
|
678
|
-
<span class="ruby-comment cmt"># File media_wiki/gateway.rb, line
|
679
|
-
|
680
|
-
|
681
|
-
|
682
|
-
|
683
|
-
|
684
|
-
|
809
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/gateway.rb, line 350</span>
|
810
|
+
350: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">semantic_query</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">params</span> = [])
|
811
|
+
351: <span class="ruby-identifier">params</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"format=list"</span>
|
812
|
+
352: <span class="ruby-identifier">form_data</span> = { <span class="ruby-value str">'action'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'parse'</span>, <span class="ruby-value str">'prop'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'text'</span>, <span class="ruby-value str">'text'</span> =<span class="ruby-operator">></span> <span class="ruby-node">"{{#ask:#{query}|#{params.join('|')}}}"</span> }
|
813
|
+
353: <span class="ruby-identifier">xml</span> = <span class="ruby-identifier">make_api_request</span>(<span class="ruby-identifier">form_data</span>)
|
814
|
+
354: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">xml</span>.<span class="ruby-identifier">elements</span>[<span class="ruby-value str">"parse/text"</span>].<span class="ruby-identifier">text</span>
|
815
|
+
355: <span class="ruby-keyword kw">end</span>
|
685
816
|
</pre>
|
686
817
|
</div>
|
687
818
|
</div>
|
@@ -712,17 +843,17 @@ Returns number of revisions undeleted.
|
|
712
843
|
onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
|
713
844
|
<div class="method-source-code" id="M000009-source">
|
714
845
|
<pre>
|
715
|
-
<span class="ruby-comment cmt"># File media_wiki/gateway.rb, line
|
716
|
-
|
717
|
-
|
718
|
-
|
719
|
-
|
720
|
-
|
721
|
-
|
722
|
-
|
723
|
-
|
724
|
-
|
725
|
-
|
846
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/gateway.rb, line 98</span>
|
847
|
+
98: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">undelete</span>(<span class="ruby-identifier">title</span>)
|
848
|
+
99: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">get_undelete_token</span>(<span class="ruby-identifier">title</span>)
|
849
|
+
100: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">token</span>
|
850
|
+
101: <span class="ruby-identifier">form_data</span> = {<span class="ruby-value str">'action'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'undelete'</span>, <span class="ruby-value str">'title'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">title</span>, <span class="ruby-value str">'token'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">token</span> }
|
851
|
+
102: <span class="ruby-identifier">xml</span> = <span class="ruby-identifier">make_api_request</span>(<span class="ruby-identifier">form_data</span>)
|
852
|
+
103: <span class="ruby-identifier">xml</span>.<span class="ruby-identifier">elements</span>[<span class="ruby-value str">"undelete"</span>].<span class="ruby-identifier">attributes</span>[<span class="ruby-value str">"revisions"</span>].<span class="ruby-identifier">to_i</span>
|
853
|
+
104: <span class="ruby-keyword kw">else</span>
|
854
|
+
105: <span class="ruby-value">0</span> <span class="ruby-comment cmt"># No revisions to undelete</span>
|
855
|
+
106: <span class="ruby-keyword kw">end</span>
|
856
|
+
107: <span class="ruby-keyword kw">end</span>
|
726
857
|
</pre>
|
727
858
|
</div>
|
728
859
|
</div>
|
@@ -739,48 +870,129 @@ Returns number of revisions undeleted.
|
|
739
870
|
|
740
871
|
<div class="method-description">
|
741
872
|
<p>
|
742
|
-
Upload file
|
743
|
-
|
873
|
+
Upload a file, or <a href="Gateway.html#M000005">get</a> the status of
|
874
|
+
pending uploads. Several methods are available:
|
744
875
|
</p>
|
745
|
-
<
|
746
|
-
<
|
876
|
+
<ul>
|
877
|
+
<li>Upload file contents directly.
|
747
878
|
|
748
|
-
</
|
749
|
-
<
|
879
|
+
</li>
|
880
|
+
<li>Have the <a href="../MediaWiki.html">MediaWiki</a> server fetch a file from
|
881
|
+
a URL, using the "url" parameter
|
750
882
|
|
751
|
-
</
|
752
|
-
</
|
883
|
+
</li>
|
884
|
+
</ul>
|
885
|
+
<p>
|
886
|
+
Requires Mediawiki 1.16+
|
887
|
+
</p>
|
888
|
+
<p>
|
889
|
+
Arguments:
|
890
|
+
</p>
|
891
|
+
<ul>
|
892
|
+
<li>[path] Path to file to <a href="Gateway.html#M000012">upload</a>. Set to
|
893
|
+
nil if uploading from URL.
|
894
|
+
|
895
|
+
</li>
|
896
|
+
<li>[options] Hash of additional options
|
897
|
+
|
898
|
+
</li>
|
899
|
+
</ul>
|
900
|
+
<p>
|
901
|
+
Note that queries using session keys must be done in the same <a
|
902
|
+
href="Gateway.html#M000004">login</a> session as the query that originally
|
903
|
+
returned the key (i.e. do not log out and then log back in).
|
904
|
+
</p>
|
753
905
|
<p>
|
754
906
|
Options:
|
755
907
|
</p>
|
756
908
|
<ul>
|
757
|
-
<li
|
909
|
+
<li>‘filename’ - Target filename (defaults to local name if not
|
910
|
+
given, options[:target] is alias for this.
|
911
|
+
|
912
|
+
</li>
|
913
|
+
<li>‘comment’ - Upload comment. Also used as the initial page text
|
914
|
+
for <a href="Gateway.html#M000003">new</a> files if "text" is not
|
915
|
+
specified.
|
916
|
+
|
917
|
+
</li>
|
918
|
+
<li>‘text’ - Initial page text for <a
|
919
|
+
href="Gateway.html#M000003">new</a> files
|
920
|
+
|
921
|
+
</li>
|
922
|
+
<li>‘watch’ - Watch the page
|
923
|
+
|
924
|
+
</li>
|
925
|
+
<li>‘ignorewarnings’ - Ignore any warnings
|
926
|
+
|
927
|
+
</li>
|
928
|
+
<li>‘url’ - Url to fetch the file from. Set path to nil
|
929
|
+
|
930
|
+
<pre>
|
931
|
+
if you want to use this.
|
932
|
+
</pre>
|
933
|
+
</li>
|
934
|
+
</ul>
|
935
|
+
<p>
|
936
|
+
Deprecated but still supported options:
|
937
|
+
</p>
|
938
|
+
<ul>
|
939
|
+
<li>:description - Description of this file. Used as ‘text’.
|
758
940
|
|
759
941
|
</li>
|
760
|
-
<li
|
942
|
+
<li>:target - Target filename, same as ‘filename’.
|
761
943
|
|
762
944
|
</li>
|
763
|
-
<li
|
945
|
+
<li>:summary - Edit summary for history. Used as ‘comment’. Also
|
946
|
+
used as ‘text’ if neither it or :description is specified.
|
764
947
|
|
765
948
|
</li>
|
766
949
|
</ul>
|
950
|
+
<p>
|
951
|
+
Examples:
|
952
|
+
</p>
|
953
|
+
<pre>
|
954
|
+
mw.upload('/path/to/local/file.jpg', 'filename' => "RemoteFile.jpg")
|
955
|
+
mw.upload(nil, 'filename' => "RemoteFile2.jpg",
|
956
|
+
'url' => 'http://remote.com/server/file.jpg')
|
957
|
+
</pre>
|
767
958
|
<p><a class="source-toggle" href="#"
|
768
959
|
onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
|
769
960
|
<div class="method-source-code" id="M000012-source">
|
770
961
|
<pre>
|
771
|
-
<span class="ruby-comment cmt"># File media_wiki/gateway.rb, line
|
772
|
-
|
773
|
-
|
774
|
-
|
775
|
-
|
776
|
-
|
777
|
-
|
778
|
-
|
779
|
-
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
|
962
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/gateway.rb, line 191</span>
|
963
|
+
191: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">upload</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">options</span>={})
|
964
|
+
192: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:description</span>]
|
965
|
+
193: <span class="ruby-identifier">options</span>[<span class="ruby-value str">'text'</span>] = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:description</span>]
|
966
|
+
194: <span class="ruby-identifier">options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">:description</span>)
|
967
|
+
195: <span class="ruby-keyword kw">end</span>
|
968
|
+
196:
|
969
|
+
197: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:target</span>]
|
970
|
+
198: <span class="ruby-identifier">options</span>[<span class="ruby-value str">'filename'</span>] = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:target</span>]
|
971
|
+
199: <span class="ruby-identifier">options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">:target</span>)
|
972
|
+
200: <span class="ruby-keyword kw">end</span>
|
973
|
+
201:
|
974
|
+
202: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:summary</span>]
|
975
|
+
203: <span class="ruby-identifier">options</span>[<span class="ruby-value str">'text'</span>] <span class="ruby-operator">||=</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:summary</span>]
|
976
|
+
204: <span class="ruby-identifier">options</span>[<span class="ruby-value str">'comment'</span>] = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:summary</span>]
|
977
|
+
205: <span class="ruby-identifier">options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">:summary</span>)
|
978
|
+
206: <span class="ruby-keyword kw">end</span>
|
979
|
+
207:
|
980
|
+
208: <span class="ruby-identifier">options</span>[<span class="ruby-value str">'comment'</span>] <span class="ruby-operator">||=</span> <span class="ruby-value str">"Uploaded by MediaWiki::Gateway"</span>
|
981
|
+
209: <span class="ruby-identifier">options</span>[<span class="ruby-value str">'file'</span>] = <span class="ruby-constant">File</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">path</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">path</span>
|
982
|
+
210: <span class="ruby-identifier">full_name</span> = <span class="ruby-identifier">path</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">'url'</span>]
|
983
|
+
211: <span class="ruby-identifier">options</span>[<span class="ruby-value str">'filename'</span>] <span class="ruby-operator">||=</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">full_name</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">full_name</span>
|
984
|
+
212:
|
985
|
+
213: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>.<span class="ruby-identifier">new</span>(
|
986
|
+
214: <span class="ruby-value str">"One of the 'file', 'url' or 'sessionkey' options must be specified!"</span>
|
987
|
+
215: ) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">'file'</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">'url'</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">'sessionkey'</span>]
|
988
|
+
216:
|
989
|
+
217: <span class="ruby-identifier">form_data</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">merge</span>(
|
990
|
+
218: <span class="ruby-value str">'action'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'upload'</span>,
|
991
|
+
219: <span class="ruby-value str">'token'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">get_token</span>(<span class="ruby-value str">'edit'</span>, <span class="ruby-identifier">options</span>[<span class="ruby-value str">'filename'</span>])
|
992
|
+
220: )
|
993
|
+
221:
|
994
|
+
222: <span class="ruby-identifier">make_api_request</span>(<span class="ruby-identifier">form_data</span>)
|
995
|
+
223: <span class="ruby-keyword kw">end</span>
|
784
996
|
</pre>
|
785
997
|
</div>
|
786
998
|
</div>
|
@@ -788,11 +1000,11 @@ Options:
|
|
788
1000
|
|
789
1001
|
<h3 class="section-bar">Private Instance methods</h3>
|
790
1002
|
|
791
|
-
<div id="method-
|
792
|
-
<a name="
|
1003
|
+
<div id="method-M000023" class="method-detail">
|
1004
|
+
<a name="M000023"></a>
|
793
1005
|
|
794
1006
|
<div class="method-heading">
|
795
|
-
<a href="#
|
1007
|
+
<a href="#M000023" class="method-signature">
|
796
1008
|
<span class="method-name">get_response</span><span class="method-args">(res)</span>
|
797
1009
|
</a>
|
798
1010
|
</div>
|
@@ -803,31 +1015,31 @@ Get API XML response If there are errors, print and bail out Otherwise
|
|
803
1015
|
return XML root
|
804
1016
|
</p>
|
805
1017
|
<p><a class="source-toggle" href="#"
|
806
|
-
onclick="toggleCode('
|
807
|
-
<div class="method-source-code" id="
|
1018
|
+
onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
|
1019
|
+
<div class="method-source-code" id="M000023-source">
|
808
1020
|
<pre>
|
809
|
-
<span class="ruby-comment cmt"># File media_wiki/gateway.rb, line
|
810
|
-
|
811
|
-
|
812
|
-
|
813
|
-
|
814
|
-
|
815
|
-
|
816
|
-
|
817
|
-
|
818
|
-
|
819
|
-
|
820
|
-
|
1021
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/gateway.rb, line 409</span>
|
1022
|
+
409: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_response</span>(<span class="ruby-identifier">res</span>)
|
1023
|
+
410: <span class="ruby-identifier">doc</span> = <span class="ruby-constant">REXML</span><span class="ruby-operator">::</span><span class="ruby-constant">Document</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">res</span>).<span class="ruby-identifier">root</span>
|
1024
|
+
411: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">"RES: #{doc}"</span>)
|
1025
|
+
412: <span class="ruby-identifier">raise</span> <span class="ruby-node">"API error, response does not contain Mediawiki API XML: #{res}"</span> <span class="ruby-keyword kw">unless</span> [ <span class="ruby-value str">"api"</span>, <span class="ruby-value str">"mediawiki"</span> ].<span class="ruby-identifier">include?</span> <span class="ruby-identifier">doc</span>.<span class="ruby-identifier">name</span>
|
1026
|
+
413: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">doc</span>.<span class="ruby-identifier">elements</span>[<span class="ruby-value str">"error"</span>]
|
1027
|
+
414: <span class="ruby-identifier">code</span> = <span class="ruby-identifier">doc</span>.<span class="ruby-identifier">elements</span>[<span class="ruby-value str">"error"</span>].<span class="ruby-identifier">attributes</span>[<span class="ruby-value str">"code"</span>]
|
1028
|
+
415: <span class="ruby-identifier">info</span> = <span class="ruby-identifier">doc</span>.<span class="ruby-identifier">elements</span>[<span class="ruby-value str">"error"</span>].<span class="ruby-identifier">attributes</span>[<span class="ruby-value str">"info"</span>]
|
1029
|
+
416: <span class="ruby-identifier">raise</span> <span class="ruby-node">"API error: code '#{code}', info '#{info}'"</span>
|
1030
|
+
417: <span class="ruby-keyword kw">end</span>
|
1031
|
+
418: <span class="ruby-identifier">doc</span>
|
1032
|
+
419: <span class="ruby-keyword kw">end</span>
|
821
1033
|
</pre>
|
822
1034
|
</div>
|
823
1035
|
</div>
|
824
1036
|
</div>
|
825
1037
|
|
826
|
-
<div id="method-
|
827
|
-
<a name="
|
1038
|
+
<div id="method-M000020" class="method-detail">
|
1039
|
+
<a name="M000020"></a>
|
828
1040
|
|
829
1041
|
<div class="method-heading">
|
830
|
-
<a href="#
|
1042
|
+
<a href="#M000020" class="method-signature">
|
831
1043
|
<span class="method-name">get_token</span><span class="method-args">(type, page_titles)</span>
|
832
1044
|
</a>
|
833
1045
|
</div>
|
@@ -836,61 +1048,61 @@ return XML root
|
|
836
1048
|
<p>
|
837
1049
|
Fetch token (type ‘<a href="Gateway.html#M000008">delete</a>’,
|
838
1050
|
‘edit’, ‘<a
|
839
|
-
href="Gateway.html#
|
1051
|
+
href="Gateway.html#M000015">import</a>’)
|
840
1052
|
</p>
|
841
1053
|
<p><a class="source-toggle" href="#"
|
842
|
-
onclick="toggleCode('
|
843
|
-
<div class="method-source-code" id="
|
1054
|
+
onclick="toggleCode('M000020-source');return false;">[Source]</a></p>
|
1055
|
+
<div class="method-source-code" id="M000020-source">
|
844
1056
|
<pre>
|
845
|
-
<span class="ruby-comment cmt"># File media_wiki/gateway.rb, line
|
846
|
-
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
|
1057
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/gateway.rb, line 360</span>
|
1058
|
+
360: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_token</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">page_titles</span>)
|
1059
|
+
361: <span class="ruby-identifier">form_data</span> = {<span class="ruby-value str">'action'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'query'</span>, <span class="ruby-value str">'prop'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'info'</span>, <span class="ruby-value str">'intoken'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">type</span>, <span class="ruby-value str">'titles'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">page_titles</span>}
|
1060
|
+
362: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">make_api_request</span>(<span class="ruby-identifier">form_data</span>)
|
1061
|
+
363: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">res</span>.<span class="ruby-identifier">elements</span>[<span class="ruby-value str">"query/pages/page"</span>].<span class="ruby-identifier">attributes</span>[<span class="ruby-identifier">type</span> <span class="ruby-operator">+</span> <span class="ruby-value str">"token"</span>]
|
1062
|
+
364: <span class="ruby-identifier">raise</span> <span class="ruby-node">"User is not permitted to perform this operation: #{type}"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">token</span>.<span class="ruby-identifier">nil?</span>
|
1063
|
+
365: <span class="ruby-identifier">token</span>
|
1064
|
+
366: <span class="ruby-keyword kw">end</span>
|
853
1065
|
</pre>
|
854
1066
|
</div>
|
855
1067
|
</div>
|
856
1068
|
</div>
|
857
1069
|
|
858
|
-
<div id="method-
|
859
|
-
<a name="
|
1070
|
+
<div id="method-M000021" class="method-detail">
|
1071
|
+
<a name="M000021"></a>
|
860
1072
|
|
861
1073
|
<div class="method-heading">
|
862
|
-
<a href="#
|
1074
|
+
<a href="#M000021" class="method-signature">
|
863
1075
|
<span class="method-name">get_undelete_token</span><span class="method-args">(page_titles)</span>
|
864
1076
|
</a>
|
865
1077
|
</div>
|
866
1078
|
|
867
1079
|
<div class="method-description">
|
868
1080
|
<p><a class="source-toggle" href="#"
|
869
|
-
onclick="toggleCode('
|
870
|
-
<div class="method-source-code" id="
|
1081
|
+
onclick="toggleCode('M000021-source');return false;">[Source]</a></p>
|
1082
|
+
<div class="method-source-code" id="M000021-source">
|
871
1083
|
<pre>
|
872
|
-
<span class="ruby-comment cmt"># File media_wiki/gateway.rb, line
|
873
|
-
|
874
|
-
|
875
|
-
|
876
|
-
|
877
|
-
|
878
|
-
|
879
|
-
|
880
|
-
|
881
|
-
|
882
|
-
|
883
|
-
|
1084
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/gateway.rb, line 368</span>
|
1085
|
+
368: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_undelete_token</span>(<span class="ruby-identifier">page_titles</span>)
|
1086
|
+
369: <span class="ruby-identifier">form_data</span> = {<span class="ruby-value str">'action'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'query'</span>, <span class="ruby-value str">'list'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'deletedrevs'</span>, <span class="ruby-value str">'prop'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'info'</span>, <span class="ruby-value str">'drprop'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'token'</span>, <span class="ruby-value str">'titles'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">page_titles</span>}
|
1087
|
+
370: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">make_api_request</span>(<span class="ruby-identifier">form_data</span>)
|
1088
|
+
371: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">res</span>.<span class="ruby-identifier">elements</span>[<span class="ruby-value str">"query/deletedrevs/page"</span>]
|
1089
|
+
372: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">res</span>.<span class="ruby-identifier">elements</span>[<span class="ruby-value str">"query/deletedrevs/page"</span>].<span class="ruby-identifier">attributes</span>[<span class="ruby-value str">"token"</span>]
|
1090
|
+
373: <span class="ruby-identifier">raise</span> <span class="ruby-node">"User is not permitted to perform this operation: #{type}"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">token</span>.<span class="ruby-identifier">nil?</span>
|
1091
|
+
374: <span class="ruby-identifier">token</span>
|
1092
|
+
375: <span class="ruby-keyword kw">else</span>
|
1093
|
+
376: <span class="ruby-keyword kw">nil</span>
|
1094
|
+
377: <span class="ruby-keyword kw">end</span>
|
1095
|
+
378: <span class="ruby-keyword kw">end</span>
|
884
1096
|
</pre>
|
885
1097
|
</div>
|
886
1098
|
</div>
|
887
1099
|
</div>
|
888
1100
|
|
889
|
-
<div id="method-
|
890
|
-
<a name="
|
1101
|
+
<div id="method-M000022" class="method-detail">
|
1102
|
+
<a name="M000022"></a>
|
891
1103
|
|
892
1104
|
<div class="method-heading">
|
893
|
-
<a href="#
|
1105
|
+
<a href="#M000022" class="method-signature">
|
894
1106
|
<span class="method-name">make_api_request</span><span class="method-args">(form_data)</span>
|
895
1107
|
</a>
|
896
1108
|
</div>
|
@@ -908,30 +1120,30 @@ Make generic request to API
|
|
908
1120
|
Returns XML document
|
909
1121
|
</p>
|
910
1122
|
<p><a class="source-toggle" href="#"
|
911
|
-
onclick="toggleCode('
|
912
|
-
<div class="method-source-code" id="
|
1123
|
+
onclick="toggleCode('M000022-source');return false;">[Source]</a></p>
|
1124
|
+
<div class="method-source-code" id="M000022-source">
|
913
1125
|
<pre>
|
914
|
-
<span class="ruby-comment cmt"># File media_wiki/gateway.rb, line
|
915
|
-
|
916
|
-
|
917
|
-
|
918
|
-
|
919
|
-
|
920
|
-
|
921
|
-
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
|
927
|
-
|
928
|
-
|
929
|
-
|
930
|
-
|
931
|
-
|
932
|
-
|
933
|
-
|
934
|
-
|
1126
|
+
<span class="ruby-comment cmt"># File lib/media_wiki/gateway.rb, line 385</span>
|
1127
|
+
385: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">make_api_request</span>(<span class="ruby-identifier">form_data</span>)
|
1128
|
+
386: <span class="ruby-identifier">form_data</span>[<span class="ruby-value str">'format'</span>] = <span class="ruby-value str">'xml'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">form_data</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Hash</span>
|
1129
|
+
387: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">"REQ: #{form_data.inspect}, #{@cookies.inspect}"</span>)
|
1130
|
+
388: <span class="ruby-constant">RestClient</span>.<span class="ruby-identifier">post</span>(<span class="ruby-ivar">@wiki_url</span>, <span class="ruby-identifier">form_data</span>, <span class="ruby-ivar">@headers</span>.<span class="ruby-identifier">merge</span>({<span class="ruby-identifier">:cookies</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@cookies</span>})) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">response</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span><span class="ruby-operator">|</span>
|
1131
|
+
389: <span class="ruby-comment cmt"># Check response for errors and return XML</span>
|
1132
|
+
390: <span class="ruby-identifier">raise</span> <span class="ruby-node">"API error, bad response: #{response}"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">>=</span> <span class="ruby-value">200</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator"><</span> <span class="ruby-value">300</span>
|
1133
|
+
391: <span class="ruby-identifier">doc</span> = <span class="ruby-identifier">get_response</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">dup</span>)
|
1134
|
+
392: <span class="ruby-keyword kw">if</span>(<span class="ruby-identifier">form_data</span>[<span class="ruby-value str">'action'</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'login'</span>)
|
1135
|
+
393: <span class="ruby-identifier">login_result</span> = <span class="ruby-identifier">doc</span>.<span class="ruby-identifier">elements</span>[<span class="ruby-value str">"login"</span>].<span class="ruby-identifier">attributes</span>[<span class="ruby-value str">'result'</span>]
|
1136
|
+
394: <span class="ruby-ivar">@cookies</span>.<span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">cookies</span>)
|
1137
|
+
395: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">login_result</span>
|
1138
|
+
396: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">"Success"</span> <span class="ruby-keyword kw">then</span> <span class="ruby-comment cmt"># do nothing</span>
|
1139
|
+
397: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">"NeedToken"</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">make_api_request</span>(<span class="ruby-identifier">form_data</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-value str">'lgtoken'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">doc</span>.<span class="ruby-identifier">elements</span>[<span class="ruby-value str">"login"</span>].<span class="ruby-identifier">attributes</span>[<span class="ruby-value str">"token"</span>]))
|
1140
|
+
398: <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Login failed: "</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">login_result</span>
|
1141
|
+
399: <span class="ruby-keyword kw">end</span>
|
1142
|
+
400: <span class="ruby-keyword kw">end</span>
|
1143
|
+
401: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">doc</span>
|
1144
|
+
402: <span class="ruby-keyword kw">end</span>
|
1145
|
+
403:
|
1146
|
+
404: <span class="ruby-keyword kw">end</span>
|
935
1147
|
</pre>
|
936
1148
|
</div>
|
937
1149
|
</div>
|