Revision: 8079
Author: xqt
Date: 2010-04-12 15:22:42 +0000 (Mon, 12 Apr 2010)
Log Message:
-----------
Bugfix for unexpected False revision content of a deleted page instead of 'missing' in pageInfo.
I raise a ServerError() yet. Maybe it should be NoPage() exception.
Modified Paths:
--------------
trunk/pywikipedia/wikipedia.py
Modified: trunk/pywikipedia/wikipedia.py
===================================================================
--- trunk/pywikipedia/wikipedia.py 2010-04-12 14:18:51 UTC (rev 8078)
+++ trunk/pywikipedia/wikipedia.py 2010-04-12 15:22:42 UTC (rev 8079)
@@ -674,27 +674,31 @@
if throttle:
get_throttle()
textareaFound = False
- retry_idle_time = 1
- while not textareaFound:
-
- data = query.GetData(params, self.site(), sysop=sysop)
- if 'error' in data:
- raise RuntimeError("API query error: %s" % data)
- if not 'pages' in data['query']:
- raise RuntimeError("API query error, no pages found: %s" % data)
- pageInfo = data['query']['pages'].values()[0]
- if data['query']['pages'].keys()[0] == "-1":
- if 'missing' in pageInfo:
- raise NoPage(self.site(), self.aslink(forceInterwiki = True),"Page does not exist. In rare cases, if you are certain the page does exist, look into overriding family.RversionTab" )
- elif 'invalid' in pageInfo:
- raise BadTitle('BadTitle: %s' % self)
- else: #valid Title
- if 'revisions' in pageInfo:
- textareaFound = True
+ # retrying loop is done by query.GetData
+ data = query.GetData(params, self.site(), sysop=sysop)
+ if 'error' in data:
+ raise RuntimeError("API query error: %s" % data)
+ if not 'pages' in data['query']:
+ raise RuntimeError("API query error, no pages found: %s" % data)
+ pageInfo = data['query']['pages'].values()[0]
+ if data['query']['pages'].keys()[0] == "-1":
+ if 'missing' in pageInfo:
+ raise NoPage(self.site(), self.aslink(forceInterwiki = True),"Page does not exist. In rare cases, if you are certain the page does exist, look into overriding family.RversionTab" )
+ elif 'invalid' in pageInfo:
+ raise BadTitle('BadTitle: %s' % self)
+ elif 'revisions' in pageInfo: #valid Title
+ lastRev = pageInfo['revisions'][0]
+ if lastRev['*']:
+ textareaFound = True
+ # I got page date with 'revisions' in pageInfo but
+ # lastRev['*'] = False instead of the content. The Page itself was
+ # deleted but there was not 'missing' in pageInfo as expected
+ # I raise a ServerError() yet, but maybe it should be NoPage().
+ if not textareaFound:
+ raise ServerError('ServerError: No textarea found in %s' % self)
self.editRestriction = ''
self.moveRestriction = ''
- lastRev = pageInfo['revisions'][0]
# Note: user may be hidden and mw returns 'userhidden' flag
if 'userhidden' in lastRev:
Revision: 8075
Author: xqt
Date: 2010-04-12 06:33:28 +0000 (Mon, 12 Apr 2010)
Log Message:
-----------
update for a new template on pl-wiki (tracker #2985626)
Modified Paths:
--------------
trunk/pywikipedia/weblinkchecker.py
Modified: trunk/pywikipedia/weblinkchecker.py
===================================================================
--- trunk/pywikipedia/weblinkchecker.py 2010-04-10 23:12:44 UTC (rev 8074)
+++ trunk/pywikipedia/weblinkchecker.py 2010-04-12 06:33:28 UTC (rev 8075)
@@ -143,7 +143,7 @@
'nl': u'== %s ==\nTijdens enkele automatische controles bleek de onderstaande externe verwijzing onbereikbaar. Controleer alstublieft of de verwijzing inderdaad onbereikbaar is. Verwijder deze tekst alstublieft na een succesvolle controle of na het verwijderen of corrigeren van de externe verwijzing.\n\n%s\n%s--~~~~[[Categorie:Wikipedia:Onbereikbare externe link]]',
# This is not a good solution as it only works on the Norwegian Wikipedia, not on Wiktionary etc.
'no': u'%s{{subst:Bruker:JhsBot/Død lenke}}\n\n%s\n%s~~~~\n\n{{ødelagt lenke}}',
- 'pl': u'== %s ==\n\nW czasie kilku automatycznych przebiegów bota, poniższy link zewnętrzny był niedostępny. Proszę sprawdzić czy odnośnik jest faktycznie niedziałający i ewentualnie go usunąć.\n\n%s\n%s--~~~~',
+ 'pl': u'{{Martwy link dyskusja|numer=%s|link=%s|IA=%s}}',
'pt': u'== %s ==\n\nFoi checado os links externos deste artigo por vários minutos. Alguém verifique por favor se a ligação estiver fora do ar e tente arrumá-lo ou removê-la!\n\n%s\n --~~~~ ',
'sr': u'== %s ==\n\nТоком неколико аутоматски провера, бот је пронашао покварене спољашње повезнице. Молимо вас проверите да ли је повезница добра, поправите је или је уклоните!\n\n%s\n%s--~~~~',
'zh': u'== %s ==\n\n一个自动运行的bot发现下列外部链接可能已经失效。请帮助修复错误的链接或者移除它!\n\n%s\n%s--~~~~',
@@ -162,7 +162,7 @@
'nds': u'Weblenk geiht nich mehr',
'nl': u'Dode verwijzing',
'no': u'',
- 'pl': u'Martwy link',
+ 'pl': u'',
'pt': u'Link quebrado',
'sr': u'Покварене спољашње повезнице',
'zh': u'失效链接',
@@ -179,7 +179,7 @@
'ja': u'\nウェブ・ページはインターネット・アーカイブによって保存されました。アーカイブに保管された適切なバージョンにリンクすることを検討してください: [%s]. ',
'nl': u'\nDeze website is bewaard in het Internet Archive. Overweeg te verwijzen naar een gearchiveerde pagina: [%s]. ',
'no': u'\nDenne nettsiden er lagra i Internet Archive. Vurder om lenka kan endres til å peke til en av de arkiverte versjonene: [%s]. ',
- 'pl': u'\nStrona została zarchiwizowana przez Internet Archive. Możesz wykorzystać link archiwalny: [%s]. ',
+ 'pl': u'%s',
'pt': u'Esta página web foi gravada na Internet Archive. Por favor considere o link para a versão arquivada: [%s]. ',
'zh': u'这个网页已经被保存在互联网档案馆(Internet Archive)。请为该网页提供一个合适的存档版本: [%s]。',
}
Revision: 8071
Author: xqt
Date: 2010-04-09 16:41:08 +0000 (Fri, 09 Apr 2010)
Log Message:
-----------
(Q&D) bugfix for #2983182 (unable to login after bugzilla fix 23076). Sorry for this hack, maybe a cleaner version is coming soon.
Modified Paths:
--------------
trunk/pywikipedia/login.py
Modified: trunk/pywikipedia/login.py
===================================================================
--- trunk/pywikipedia/login.py 2010-04-09 14:49:40 UTC (rev 8070)
+++ trunk/pywikipedia/login.py 2010-04-09 16:41:08 UTC (rev 8071)
@@ -172,6 +172,28 @@
result = data['login']['result']
if result == "NeedToken":
predata["lgtoken"] = data["login"]["token"]
+ # build the cookie (q&d-fix)
+ ####
+ Reat=re.compile(': (.*?)=(.*?);')
+ L = {}
+ L["cookieprefix"] = "pdcwiki"
+ #print '---------# data #---------'
+ #print data
+ #if got_token and got_user:
+ #process the basic information to Site()
+ index = self.site._userIndex(self.sysop)
+ #print index
+ #API result came back username, token and sessions.
+ if ['lgtoken'] in data['login'].keys():
+ self.site._userName[index] = data['login']['lgusername']
+ self.site._token[index] = data['login']['lgtoken'] + "+\\"
+ if self.site._cookies[index]:
+ #if user is trying re-login, update the new information
+ self.site.updateCookies(L, self.sysop)
+ else:
+ # clean type login, setup the new cookies files.
+ self.site._setupCookies(L, self.sysop)
+ ####
continue
break
if result != "Success":