From 5c328781283a59ec8906263aeb052436f412747f Mon Sep 17 00:00:00 2001
From: Bryan Tong Minh <bryan.tongminh@gmail.com>
Date: Sun, 17 Feb 2008 19:54:28 +0000
Subject: [PATCH] Add cmtitle compatibility

---
 mwclient/compatibility.py | 9 ++++++++-
 mwclient/listing.py       | 7 +++++--
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/mwclient/compatibility.py b/mwclient/compatibility.py
index 4bd7625..ded741a 100644
--- a/mwclient/compatibility.py
+++ b/mwclient/compatibility.py
@@ -22,4 +22,11 @@ def iiprop(post_112):
 	if post_112:
 		return 'timestamp|user|comment|url|size|sha1|metadata'
 	else:
-		return 'timestamp|user|comment|url|size|sha1'
\ No newline at end of file
+		return 'timestamp|user|comment|url|size|sha1'
+		
+def cmtitle(page, new_format, prefix = ''):
+	if new_format:
+		return prefix + 'title', page.name
+	else:
+		return prefix + 'category', page.strip_namespace(page.name)
+		
\ No newline at end of file
diff --git a/mwclient/listing.py b/mwclient/listing.py
index 32480e8..f3a9b2a 100644
--- a/mwclient/listing.py
+++ b/mwclient/listing.py
@@ -119,7 +119,9 @@ class GeneratorList(List):
 class Category(page.Page, GeneratorList):
 	def __init__(self, site, name, info = None, namespace = None):
 		page.Page.__init__(self, site, name, info)
-		kwargs = {'gcmcategory': self.strip_namespace(self.name)}
+		kwargs = {}
+		kwargs.update((compatibility.cmtitle(self, self.site.require(
+			1, 12, raise_error = False), prefix = 'gcm'), ))
 		if namespace: kwargs['gcmnamespace'] = namespace
 		GeneratorList.__init__(self, site, 'categorymembers', 'cm', **kwargs)
 	def __repr__(self):
@@ -128,7 +130,8 @@ class Category(page.Page, GeneratorList):
 			dir = 'asc', start = None, end = None, generator = True):
 		prefix = self.get_prefix('cm', generator)
 		kwargs = dict(self.generate_kwargs(prefix, prop = prop, namespace = namespace,
-			sort = sort, dir = dir, start = start, end = end))
+			sort = sort, dir = dir, start = start, end = end, *(compatibility.cmtitle(
+			self, self.site.require(1, 12, raise_error = False)), )))
 		return self.get_list(generator)(self.site, 'categorymembers', 'cm', **kwargs)
 		
 class PageList(GeneratorList):
-- 
GitLab