Hi Strainu,
It's definitely a work in progress. There are very few features that have intentionally been removed, and all of those are explicitly marked with a "@deprecated" tag.
If there are features that you notice are missing that used to be available, filing a bug would be helpful so we can keep track of what still needs to be implemented.
Regarding templatesWithParams, using mwparserfromhell is probably the right way to go. I've started working on integrating that into the framework, but haven't gotten very far yet. We could probably use an OrderedDict[1] there too.
[1] http://docs.python.org/2/library/collections.html#collections.OrderedDict -- Legoktm
On Tue, Sep 3, 2013 at 1:39 PM, Strainu strainu10@gmail.com wrote:
Hello,
I'm trying to convert a fairly large set of scripts from compat to core and I found a significant loss of functionality in getting image and template info. While writing this, I've noticed that the latest version of core also has some of these prblems. I will elaborate on this loss of functionality below, but I would like to know if this simplification is intended or if this is part of some work in progress.
For the image parsing, the function linkedPages(withImageLinks = True) used to provide images that were not included through templates, while imageLinks would provide all the images. In core, the linkedPages function no longer provides this capability, and I haven't found any replacement (I ported the old function in my code)
For template parsing, templatesWithParams from class Page used to provide a pair containing the template name and a list of parameters, with the full "key=value" string. Nowadays, we're getting a dictionary instead of that list. Normally there is nothing wrong with that, except that in Python 2 the dictionary is unordered, which means that:
- the order of the parameters is forever lost
- the original text cannot be reconstructed (because of the above and
the missing whitespace information) - this means there is no easy way to identify and/or replace a particular instance of the template in a page with many identical templates. It used to be you could do it with simple find/replace operations, now it takes some more work.
I personally would like to have the old behavior back, it would save me and probably others a lot of work.
Thanks, Strainu
Pywikipedia-l mailing list Pywikipedia-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/pywikipedia-l