Talked with Jeroen a bit about this on irc. Forgot to send an email here.Hi Jeroen,Sorry about the late response...
I wonder if Jeroen looked at the code in compat or in core. Core is much cleaner than compat. Jeroen?
On Fri, Sep 6, 2013 at 11:47 AM, Jeroen De Dauw <jeroendedauw@gmail.com> wrote:
Hey,
While looking at the source of the pywikipediabot in the past, I noticed that it contained a bunch of Wikibase specific code (sometimes even Wikidata specific). The code I saw often did a poor job at separating different concerns, and did some weird things to represent parts of the Wikibase data model.
Good idea. We should try to stick to https://meta.wikimedia.org/wiki/Wikidata/Notes/Data_model as much as possible, so implementing things in Pywikipedia when things come available on Wikidata itself. We shouldn't forgot about Pywikipedia itself. I ran into a page problem earlier.
Right now I think our biggest issue is that Claim subclasses PropertyPage. I originally wrote this thinking it would be convenient, but now after using the code for a while, the only function we actually use is PropertyPage.datatype(), which can easily be fixed. I'll start working on that.