Last modified: 2013-02-27 12:31:02 UTC
It seems that API fails to save pages that contain some special (or deprecated characters). For instance https://en.wikipedia.org/w/index.php?title=Wikipedia:AutoWikiBrowser/Sandbox&oldid=516371076 I fixed manually the following cases: https://en.wikipedia.org/w/index.php?title=Dahae&diff=517542432&oldid=512734888 https://en.wikipedia.org/w/index.php?title=Osun_State&diff=517542603&oldid=516042594 When AWB meets these pages we get the following message: "Bot API returned the following error: 'The supplied MD5 hash was incorrect'". According to Rjwilmsi: "I suspect this is an API issue, a rare one."
I think this has to do with Unicode normalization. WebRequest pre-normalizes any text params before passing them to the API, which will of course have as effect that the md5 sum is no longer valid.
So presumably AWB needs to do the normalisation itself (so it knows the post-normalisation MD5) or the API needs to accept pre-normalisation hashes (which, given the distribution of functions between WebRequest and the API seems tricky).
http://autowikibrowser.svn.sourceforge.net/viewvc/autowikibrowser?view=revision&revision=8958 Skip page if we encounter badmd5 error from API on save, prevents cycle of attempted saves http://autowikibrowser.svn.sourceforge.net/viewvc/autowikibrowser?view=revision&revision=8959 Unicodify to not change HTML characters 〈 and 〉 (deprecated bracket characters), if converted API returns badmd5 error