List of changes since 0.1 release: * Make page existence and setPageInfo() checks more consistent. * Use **kwargs in Page.edit() rather than dozen keyword arguments all False by default, this is a breaking change for anything didn't explicitly use the keyword arguments for some reason. If the first param isn't a keyword, its treated as "text" for partial BC, arguments are now all the same as the API action=edit params, "newtext" and "basetime" still work for BC * Fix broken User.page * APIRequest now makes a copy() of params rather than using it directly * reduce calls to setPageInfo() by using the title if pageid isn't available * Make redirect following less random on calls to setPageInfo in Page - note that this removes the followRedir param from setPageInfo, replacing it with a followRedir member variable * set maxlag directly in the query params for temporary raises for login/siteinfo queries rather than using setmaxlag(), which could reset it back to 5 if the user set it to 120 before logging in * fix maxlag bug that changed it to 120 but didn't reset it back to 5 * rewrite most of __longQuery and improve resultCombine * add missing module import in api.py * use pickle for cookie files, add an option to login() to verify the cookies are correct with isLoggedIn(), set to True by default * fix User.isIP check - several non IPs were treated as IP addresses * support reblock option for user blocks * improve namespace guessing/title normalization, include namespace aliases, add the namespace prefix to category objects if its not already there Changes since 0.1.1: * pagelist.listFromTitles() fixed * automatic query-continue alogrithm improved * performace of pagelist functions improved * API query results now use the APIResult class, subclassing dict. HTTP response headers are included in the results as .response member variable * setNamespace() function added to Page class to allow changing the namespace of a Page object * Title normalization improved * API requests now print the actual exception info when retrying. If not retrying, the exception is not caught. The ServerError exception has been removed. * Added option to skip MD5 check when editing, as PHP's urldecoding fails in some corner cases * Handling of sections in the Page class (particularly section 0) is improved * Added some compatibility for read-restricted wikis. Not having read access previously caused creating a Wiki object to fail as it tried to retrive the site info before login * Handling of non-existent pages improved * All modules imported when doing "import wikitools" * Category.getAllMembers() can now be filtered by namespace by passing a list of namespaces as the "namespaces" parameter * File class (subclass of Page) added in wikifile.py (to avoid conflict with builtin file objects) - includes functions to get file usage and download the file * __str__ and __repr__ functions added for most objects to give useful string representations * in-code documentation improved * More functions now return some value, useful for debugging * Broken Wiki.setUserAgent() function fixed