Modul:ISBNsearch
Formatiert eine ISBN zur Textsuche in Wikipedia. Zur Verwendung auf Wikipedia:ISBN-Suche bzw Spezial:ISBN-Suche.
Das in Artikeln verwendete Format entspricht nicht immer dem von Modul:URIutil mit formatISBN().
Verwendung
Bearbeiten{{#invoke:ISBNsearch|main|isbn=MAGICNUMBER}}
Beispiele
BearbeitenFormat | Beispiel | Spezial:ISBN-Suche | {{#invoke:ISBNsearch|main|isbn=Beispiel}} | Special:Search | {{#invoke:URIutil|formatISBN|Beispiel}} | Anmerkung |
---|---|---|---|---|---|---|
10 | 328001509X | ISBN 328001509X | ISBN 3-2* insource:/ISBN 3-2-?8-?0-?0-?1-?5-?0-?9-X/ | Spezial:Suche/ISBN 3-2* insource:/ISBN 3-2-?8-?0-?0-?1-?5-?0-?9-X/ | 3-280-01509-X | |
10 | 385962122X | ISBN 385962122X | ISBN 3-8* insource:/ISBN 3-8-?5-?9-?6-?2-?1-?2-?2-X/ | Spezial:Suche/ISBN 3-8* insource:/ISBN 3-8-?5-?9-?6-?2-?1-?2-?2-X/ | 3-85962-122-X | |
13 | 9783796519017 | ISBN 9783796519017 | ISBN 978-3* insource:/ISBN 978-3-?7-?9-?6-?5-?1-?901-7/ | Spezial:Suche/ISBN 978-3* insource:/ISBN 978-3-?7-?9-?6-?5-?1-?901-7/ | 978-3-7965-1901-7 |
local p = {}
local getArgs
function p.main(frame)
if not getArgs then
getArgs = require('Modul:Arguments').getArgs
end
return p._main(getArgs(frame))
end
function p._main(args)
local isbn = args.isbn
local n = mw.ustring.len( isbn );
local searchf
if n == 10 then
local init = mw.ustring.sub( isbn, 1, 1 )
if init == "0" or init == "1" or init == "2" or init == "3" or init == "4" or init == "5" or init == "7" then
searchf = "ISBN " .. mw.ustring.sub( isbn, 1, 1 ) .. "-" .. mw.ustring.sub( isbn, 2, 2 ) .. "* "
searchf = searchf .. "insource:/ISBN "
searchf = searchf .. mw.ustring.sub( isbn, 1, 1 ) .. "-"
else
searchf = "ISBN " .. mw.ustring.sub( isbn, 1, 2 ) .. "* "
searchf = searchf .. "insource:/ISBN "
searchf = searchf .. mw.ustring.sub( isbn, 1, 1 ) .. ""
end
searchf = searchf .. mw.ustring.sub( isbn, 2, 2 ) .. "-?"
searchf = searchf .. mw.ustring.sub( isbn, 3, 3 ) .. "-?"
searchf = searchf .. mw.ustring.sub( isbn, 4, 4 ) .. "-?"
searchf = searchf .. mw.ustring.sub( isbn, 5, 5 ) .. "-?"
searchf = searchf .. mw.ustring.sub( isbn, 6, 6 ) .. "-?"
searchf = searchf .. mw.ustring.sub( isbn, 7, 7 ) .. "-?"
searchf = searchf .. mw.ustring.sub( isbn, 8, 8 ) .. "-?"
searchf = searchf .. mw.ustring.sub( isbn, 9, 9 ) .. "-"
searchf = searchf .. mw.ustring.sub( isbn, 10, 10 ) .. ""
searchf = searchf .. "/"
end
if n == 13 then
searchf = "ISBN " .. mw.ustring.sub( isbn, 1, 3 ) .. "-" .. mw.ustring.sub( isbn, 4, 4 ) .. "* "
searchf = searchf .. "insource:/ISBN "
searchf = searchf .. mw.ustring.sub( isbn, 1, 1 ) .. ""
searchf = searchf .. mw.ustring.sub( isbn, 2, 2 ) .. ""
searchf = searchf .. mw.ustring.sub( isbn, 3, 3 ) .. "-"
searchf = searchf .. mw.ustring.sub( isbn, 4, 4 ) .. "-?"
searchf = searchf .. mw.ustring.sub( isbn, 5, 5 ) .. "-?"
searchf = searchf .. mw.ustring.sub( isbn, 6, 6 ) .. "-?"
searchf = searchf .. mw.ustring.sub( isbn, 7, 7 ) .. "-?"
searchf = searchf .. mw.ustring.sub( isbn, 8, 8 ) .. "-?"
searchf = searchf .. mw.ustring.sub( isbn, 9, 9 ) .. "-?"
searchf = searchf .. mw.ustring.sub( isbn, 10, 10 ) .. ""
searchf = searchf .. mw.ustring.sub( isbn, 11, 11 ) .. ""
searchf = searchf .. mw.ustring.sub( isbn, 12, 12 ) .. "-"
searchf = searchf .. mw.ustring.sub( isbn, 13, 13 ) .. ""
searchf = searchf .. "/"
end
return searchf
end
return p