http://www.mediawiki.org/wiki/Special:Code/pywikipedia/10593
Revision: 10593
Author: xqt
Date: 2012-10-20 13:52:33 +0000 (Sat, 20 Oct 2012)
Log Message:
-----------
deprecate args for user class
Modified Paths:
--------------
branches/rewrite/pywikibot/page.py
Modified: branches/rewrite/pywikibot/page.py
===================================================================
--- branches/rewrite/pywikibot/page.py 2012-10-20 13:23:12 UTC (rev 10592)
+++ branches/rewrite/pywikibot/page.py 2012-10-20 13:52:33 UTC (rev 10593)
@@ -1894,7 +1894,8 @@
"""A class that represents a Wiki user.
"""
- @deprecate_arg("insite", None)
+ @deprecate_arg("site", "source")
+ @deprecate_arg("name", "title")
def __init__(self, source, title=u''):
"""Initializer for a User object.
All parameters are the same as for Page() constructor.
http://www.mediawiki.org/wiki/Special:Code/pywikipedia/10590
Revision: 10590
Author: amir
Date: 2012-10-20 05:09:10 +0000 (Sat, 20 Oct 2012)
Log Message:
-----------
Adding edits for wikidata. i'll explain more in the mailing list
Modified Paths:
--------------
trunk/pywikipedia/wikipedia.py
Modified: trunk/pywikipedia/wikipedia.py
===================================================================
--- trunk/pywikipedia/wikipedia.py 2012-10-19 17:20:36 UTC (rev 10589)
+++ trunk/pywikipedia/wikipedia.py 2012-10-20 05:09:10 UTC (rev 10590)
@@ -1912,7 +1912,7 @@
force, callback))
def put(self, newtext, comment=None, watchArticle=None, minorEdit=True,
- force=False, sysop=False, botflag=True, maxTries=-1):
+ force=False, sysop=False, botflag=True, maxTries=-1, wikidata=False, labelwikidata=None, valuewikidata=None):
"""Save the page with the contents of the first argument as the text.
Optional parameters:
@@ -1936,7 +1936,7 @@
self.site().checkBlocks(sysop = sysop)
# Determine if we are allowed to edit
- if not force:
+ if (not force) and (self.site().lang!=u"wikidata"):
if not self.botMayEdit(username):
raise LockedPage(
u'Not allowed to edit %s because of a restricting template'
@@ -1973,7 +1973,7 @@
self._editrestriction = False
# If no comment is given for the change, use the default
comment = comment or action
- if config.cosmetic_changes and not self.isTalkPage() and \
+ if config.cosmetic_changes and not self.isTalkPage() and self.site().lang!=u"wikidata" and \
not calledModuleName() in ('cosmetic_changes', 'touch'):
if config.cosmetic_changes_mylang_only:
cc = (self.site().family.name == config.family and self.site().lang == config.mylang) or \
@@ -2010,7 +2010,7 @@
comment = encodeEsperantoX(comment)
return self._putPage(newtext, comment, watchArticle, minorEdit,
- newPage, self.site().getToken(sysop = sysop), sysop = sysop, botflag=botflag, maxTries=maxTries)
+ newPage, self.site().getToken(sysop = sysop), sysop = sysop, botflag=botflag, maxTries=maxTries, wikidata=wikidata, labelwikidata=labelwikidata, valuewikidata=valuewikidata)
def _encodeArg(self, arg, msgForError):
"""Encode an ascii string/Unicode string to the site's encoding"""
@@ -2028,7 +2028,7 @@
def _putPage(self, text, comment=None, watchArticle=False, minorEdit=True,
newPage=False, token=None, newToken=False, sysop=False,
- captcha=None, botflag=True, maxTries=-1):
+ captcha=None, botflag=True, maxTries=-1,wikidata=False, labelwikidata=None, valuewikidata=None):
"""Upload 'text' as new content of Page by API
Don't use this directly, use put() instead.
@@ -2048,7 +2048,11 @@
'text': self._encodeArg(text, 'text'),
'summary': self._encodeArg(comment, 'summary'),
}
-
+ if wikidata:
+ params['id']=self.title().replace(u"Q",u"")
+ params['action']='wbsetitem'
+ params['format']='jsonfm'
+ params['data']=u"{\"labels\":{\""+labelwikidata+u"\":{\"language\":\""+labelwikidata+u"\",\"value\":\""+valuewikidata+u"\"}}}"
if token:
params['token'] = token
else:
@@ -2102,6 +2106,9 @@
params['nocreate'] = 1
# Submit the prepared information
try:
+ if wikidata:
+ del params['text']
+ del params['title']
response, data = query.GetData(params, self.site(), sysop=sysop, back_response = True)
if isinstance(data,basestring):
raise KeyError
http://www.mediawiki.org/wiki/Special:Code/pywikipedia/10587
Revision: 10587
Author: xqt
Date: 2012-10-16 18:48:35 +0000 (Tue, 16 Oct 2012)
Log Message:
-----------
use ammessages key instead of amfilter filter to retrieve mediawiki messages.
This enables keys with first char uppercase.
Modified Paths:
--------------
branches/rewrite/pywikibot/site.py
Modified: branches/rewrite/pywikibot/site.py
===================================================================
--- branches/rewrite/pywikibot/site.py 2012-10-16 16:57:42 UTC (rev 10586)
+++ branches/rewrite/pywikibot/site.py 2012-10-16 18:48:35 UTC (rev 10587)
@@ -859,7 +859,7 @@
"""Return the MediaWiki message text for key "key" """
if not key in self._msgcache:
msg_query = api.QueryGenerator(site=self, meta="allmessages",
- amfilter=key)
+ ammessages=key)
for msg in msg_query:
if msg['name'] == key and not 'missing' in msg:
self._msgcache[key] = msg['*']
http://www.mediawiki.org/wiki/Special:Code/pywikipedia/10585
Revision: 10585
Author: russblau
Date: 2012-10-16 14:36:01 +0000 (Tue, 16 Oct 2012)
Log Message:
-----------
pywikibot.default_family does not exist; replace with pywikibot.config.family
Modified Paths:
--------------
branches/rewrite/pywikibot/i18n.py
Modified: branches/rewrite/pywikibot/i18n.py
===================================================================
--- branches/rewrite/pywikibot/i18n.py 2012-10-16 10:04:10 UTC (rev 10584)
+++ branches/rewrite/pywikibot/i18n.py 2012-10-16 14:36:01 UTC (rev 10585)
@@ -227,7 +227,7 @@
list.
"""
- family = pywikibot.default_family
+ family = pywikibot.config.family
# If a site is given instead of a code, use its language
if hasattr(code, 'lang'):
family = code.family.name