parent
b2784c4d2d
commit
b40353b9b0
2 changed files with 15 additions and 3 deletions
|
@ -1,3 +1,5 @@
|
||||||
|
require "uri"
|
||||||
|
|
||||||
module BrowseHelper
|
module BrowseHelper
|
||||||
def printable_name(object, version = false)
|
def printable_name(object, version = false)
|
||||||
if object.id.is_a?(Array)
|
if object.id.is_a?(Array)
|
||||||
|
@ -133,17 +135,19 @@ module BrowseHelper
|
||||||
return nil
|
return nil
|
||||||
end
|
end
|
||||||
|
|
||||||
if value =~ /^([^#]*)(#.*)/
|
if value =~ /^([^#]*)#(.*)/
|
||||||
# Contains a reference to a section of the wikipedia article
|
# Contains a reference to a section of the wikipedia article
|
||||||
# Must break it up to correctly build the url
|
# Must break it up to correctly build the url
|
||||||
value = $1
|
value = $1
|
||||||
section = $2
|
section = "#" + $2
|
||||||
|
encoded_section = "#" + URI.encode($2.gsub(" ", "_")).gsub("%3A", ":").gsub("%", ".")
|
||||||
else
|
else
|
||||||
section = ""
|
section = ""
|
||||||
|
encoded_section = ""
|
||||||
end
|
end
|
||||||
|
|
||||||
{
|
{
|
||||||
:url => "http://#{lang}.wikipedia.org/wiki/#{value}?uselang=#{I18n.locale}#{section}",
|
:url => "http://#{lang}.wikipedia.org/wiki/#{value}?uselang=#{I18n.locale}#{encoded_section}",
|
||||||
:title => value + section
|
:title => value + section
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
|
@ -188,6 +188,14 @@ class BrowseHelperTest < ActionView::TestCase
|
||||||
assert_equal "http://fr.wikipedia.org/wiki/de:Test?uselang=en", link[:url]
|
assert_equal "http://fr.wikipedia.org/wiki/de:Test?uselang=en", link[:url]
|
||||||
assert_equal "de:Test", link[:title]
|
assert_equal "de:Test", link[:title]
|
||||||
|
|
||||||
|
link = wikipedia_link("wikipedia", "de:Englischer Garten (München)#Japanisches Teehaus")
|
||||||
|
assert_equal "http://de.wikipedia.org/wiki/de:Englischer Garten (München)?uselang=en#Japanisches_Teehaus", link[:url]
|
||||||
|
assert_equal "de:Englischer Garten (München)#Japanisches Teehaus", link[:title]
|
||||||
|
|
||||||
|
link = wikipedia_link("wikipedia", "de:Alte Brücke (Heidelberg)#Brückenaffe")
|
||||||
|
assert_equal "http://de.wikipedia.org/wiki/de:Alte Brücke (Heidelberg)?uselang=en#Br.C3.BCckenaffe", link[:url]
|
||||||
|
assert_equal "de:Alte Brücke (Heidelberg)#Brückenaffe", link[:title]
|
||||||
|
|
||||||
I18n.locale = "pt-BR"
|
I18n.locale = "pt-BR"
|
||||||
|
|
||||||
link = wikipedia_link("wikipedia", "zh-classical:Test#Section")
|
link = wikipedia_link("wikipedia", "zh-classical:Test#Section")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue