Revision: 6888
Author: russblau
Date: 2009-05-15 16:58:23 +0000 (Fri, 15 May 2009)
Log Message:
-----------
Working on eliminating redundancies and recursions in the login process (still
testing)
Modified Paths:
--------------
branches/rewrite/pywikibot/site.py
Modified: branches/rewrite/pywikibot/site.py
===================================================================
--- branches/rewrite/pywikibot/site.py 2009-05-15 12:09:19 UTC (rev 6887)
+++ branches/rewrite/pywikibot/site.py 2009-05-15 16:58:23 UTC (rev 6888)
@@ -617,9 +617,11 @@
self.sitelock = threading.Lock()
self._msgcache = {}
self.nocapitalize = self.code in self.family.nocapitalize
- # _loginstatus: -1 means not logged in, 0 means logged in as user,
+ # _loginstatus: -2 means login not yet attempted,
+ # -1 means not logged in (anon user),
+ # 0 means logged in as user,
# 1 means logged in as sysop
- self._loginstatus = -1
+ self._loginstatus = -2
return
# ANYTHING BELOW THIS POINT IS NOT YET IMPLEMENTED IN __init__()
@@ -654,20 +656,21 @@
# check whether a login cookie already exists for this user
if not hasattr(self, "_userinfo"):
self.getuserinfo()
- if self._userinfo['name'] == self._username[sysop]:
+## if self._userinfo['name'] == self._username[sysop]:
+## self._loginstatus = sysop
+## return
+ if self.logged_in(sysop):
+ return
+ loginMan = api.LoginManager(site=self, sysop=sysop,
+ user=self._username[sysop])
+ if loginMan.login(retry = True):
+ self._username[sysop] = loginMan.username
self._loginstatus = sysop
- return
- if not self.logged_in(sysop):
- loginMan = api.LoginManager(site=self, sysop=sysop,
- user=self._username[sysop])
- if loginMan.login(retry = True):
- self._username[sysop] = loginMan.username
- self._loginstatus = sysop
- if hasattr(self, "_userinfo"):
- del self._userinfo
- self.getuserinfo()
- else:
- self._loginstatus = -1 # failure
+ if hasattr(self, "_userinfo"):
+ del self._userinfo
+ self.getuserinfo()
+ else:
+ self._loginstatus = -1 # failure
if not hasattr(self, "_siteinfo"):
self._getsiteinfo()
@@ -911,9 +914,15 @@
inprop="protection")
for pageitem in query:
if pageitem['title'] != title:
- raise Error(
- u"loadpageinfo: Query on %s returned data on '%s'"
- % (page, pageitem['title']))
+ if pageitem['title'] in query.normalized_to \
+ and query.normalized_to[pageitem['title']] == title:
+ # page title was normalized by api
+ # TODO
+ pass
+ else:
+ raise Error(
+ u"loadpageinfo: Query on %s returned data on '%s'"
+ % (page, pageitem['title']))
api.update_page(page, pageitem)
def loadimageinfo(self, page, history=False):
_______________________________________________
Pywikipedia-svn mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikipedia-svn