From a9d4c1997eeda1fd6cc69ed416f7342338033635 Mon Sep 17 00:00:00 2001
From: Bryan Tong Minh <bryan.tongminh@gmail.com>
Date: Mon, 4 May 2009 13:16:57 +0000
Subject: [PATCH] Added domain parameter to login

---
 mwclient/RELEASE-NOTES.txt | 2 +-
 mwclient/client.py         | 9 ++++++---
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/mwclient/RELEASE-NOTES.txt b/mwclient/RELEASE-NOTES.txt
index ed257fc..8bb54da 100644
--- a/mwclient/RELEASE-NOTES.txt
+++ b/mwclient/RELEASE-NOTES.txt
@@ -4,7 +4,7 @@ This is mwclient 0.6.3. The following are the release notes for this version.
 
 == Changes in version 0.6.3 ==
 Mwclient 0.6.3 is unreleased.
-* No changes yet.
+* Added domain parameter to login.
 
 == Changes in version 0.6.2 ==
 Mwclient was released on 2 May 2009.
diff --git a/mwclient/client.py b/mwclient/client.py
index ed8ee4d..0c7c74e 100644
--- a/mwclient/client.py
+++ b/mwclient/client.py
@@ -274,11 +274,11 @@ class Site(object):
 			raise errors.EmailError, data
 
 
-	def login(self, username = None, password = None, cookies = None):
+	def login(self, username = None, password = None, cookies = None, domain = None):
 		if self.initialized: self.require(1, 10)
 		
 		if username and password: 
-			self.credentials = (username, password)
+			self.credentials = (username, password, domain)
 		if cookies:
 			if self.host not in self.conn.cookies:
 				self.conn.cookies[self.host] = http.CookieJar()
@@ -287,7 +287,10 @@ class Site(object):
 		if self.credentials:
 			wait_token = self.wait_token()
 			while True:
-				login = self.api('login', lgname = self.credentials[0], lgpassword = self.credentials[1])
+				if self.credentials[2]:
+					login = self.api('login', lgname = self.credentials[0], lgpassword = self.credentials[1], lgdomain = self.credentials[2])
+				else:
+					login = self.api('login', lgname = self.credentials[0], lgpassword = self.credentials[1])
 				if login['login']['result'] == 'Success':
 					break
 				elif login['login']['result'] == 'Throttled':
-- 
GitLab