This is an idea that came up on fawiki, and there is some merit to it. I just want to figure out the best approach to implement it and would love your input.

TL;DR: We want to sweep through the recent edits in articles, look at each diff, see if it contains the addition of a "{{cite book}}" template, and if so, set it aside for future processing by another code.

I wonder if there are already scripts in pywikibot that would help initiate this. If not, I wonder what is the best strategy to implement this using MW API.



Long version:

The idea is to identify users who probably have access to certain offline sources, so that if another user needs something to be checked in that source and they don't have access to it, they know who to ask. For instance, if I have access to a physical copy of Encyclopedia Britannica (let's say it is a book and is not available digitally), and you want me to check if it has an entry forĀ  Sir Isaac Newton, it would be great if instead of or in addition to asking on the village pump (which I might not follow), you would ask me directly.

The assumption is that if the same user keeps adding the same "{{cite book}}" template in many articles (e.g. if I add the {{cite book | title = Encyclopedia Britannica | ... }} in several edits across several articles), then that user most likely has access to that source. And if these edits are relatively recent and the user is still active, then chances are the user can still access that source if another user asks them to.

So if we find all such edits, we probably can aggregate them into a table that shows "Huji" added a {{cite book}} for a book titled "Encyclopedia Britannica" 17 times, and so on and so forth. Sorting it by the frequency column, we might have a good list of user-source pairs.