You may be more future proof by asking the API for the image url, rather then trying to figure it out your self, as each wiki install may have other factors that determine that director/hash structure (i've seen places that have 3 levels, not 2)
http://en.wikipedia.org/w/api.php?action=query&prop=imageinfo&iiprop...
On Mon, Dec 5, 2011 at 6:25 PM, Tommy Chheng tommy.chheng@gmail.com wrote:
I'm computing the url of an image by the following: (the md5 of the first char and the second two chars concat)
val md = MessageDigest.getInstance("MD5") val messageDigest = md.digest(fileName.getBytes) val md5 = (new BigInteger(1, messageDigest)).toString(16)
val hash1 = md5.substring(0, 1) val hash2 = md5.substring(0, 2)
val urlPart = hash1 + "/" + hash2 + "/" + fileName
Most of the time, the function works correctly but on a few cases, it is incorrect:
For "Stewie_Griffin.png", I get 2/26/Stewie_Griffin.png but the real one is 0/02/Stewie_Griffin.png
The source file info is here: http://en.wikipedia.org/wiki/File:Stewie_Griffin.png http://upload.wikimedia.org/wikipedia/en/0/02/Stewie_Griffin.png
Any ideas why the hashing scheme doesn't work sometimes?
I posted this question on stackoverflow but I might be able to get a better answer here.http://stackoverflow.com/questions/8389616/does-wikipedia-use-different-meth...
-- @tommychheng http://tommy.chheng.com
Mediawiki-api mailing list Mediawiki-api@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-api