http://www.mediawiki.org/wiki/Special:Code/pywikipedia/11151
Revision: 11151
Author: xqt
Date: 2013-03-02 08:45:43 +0000 (Sat, 02 Mar 2013)
Log Message:
-----------
some PEP8 changes
Modified Paths:
--------------
trunk/pywikipedia/maintenance/readtalk.py
Modified: trunk/pywikipedia/maintenance/readtalk.py
===================================================================
--- trunk/pywikipedia/maintenance/readtalk.py 2013-03-02 08:25:12 UTC (rev 11150)
+++ trunk/pywikipedia/maintenance/readtalk.py 2013-03-02 08:45:43 UTC (rev 11151)
@@ -3,7 +3,8 @@
"""
Tool to read all your talk pages.
-This tool will go through all the normal (not sysop) accounts configured in user-config and output the contents of the talk page.
+This tool will go through all the normal (not sysop) accounts configured in
+user-config and output the contents of the talk page.
TODO:
*Error checking
@@ -11,10 +12,12 @@
import sys, re
sys.path.append(re.sub('/[^/]*$', '', sys.path[0]))
sys.path.insert(1, '..')
-import wikipedia, config, userlib
+import wikipedia
+import config
+import userlib
-def readtalk(lang, familyName, sysop = False):
+def readtalk(lang, familyName, sysop=False):
site = wikipedia.getSite(code=lang, fam=familyName)
if sysop:
user = userlib.User(site, config.sysopnames[familyName][lang])
@@ -29,12 +32,13 @@
del pagetext
wikipedia.output(u'Reading talk page from %s' % user)
try:
- wikipedia.output( page.get(get_redirect=True)+"\n")
+ wikipedia.output(page.get(get_redirect=True)+"\n")
except wikipedia.NoPage:
wikipedia.output("Talk page is not exist.")
except wikipedia.UserBlocked:
wikipedia.output("Account is blocked.")
+
def main():
# Get a dictionary of all the usernames
all = sysop = False
@@ -44,7 +48,7 @@
all = True
elif arg.startswith('-sysop'):
sysop = True
- if all == True:
+ if all is True:
if sysop:
namedict = config.sysopnames
else:
@@ -60,4 +64,3 @@
main()
finally:
wikipedia.stopme()
-
http://www.mediawiki.org/wiki/Special:Code/pywikipedia/11149
Revision: 11149
Author: xqt
Date: 2013-03-02 08:16:47 +0000 (Sat, 02 Mar 2013)
Log Message:
-----------
some PEP8
Modified Paths:
--------------
trunk/pywikipedia/userinterfaces/terminal_interface_base.py
Modified: trunk/pywikipedia/userinterfaces/terminal_interface_base.py
===================================================================
--- trunk/pywikipedia/userinterfaces/terminal_interface_base.py 2013-03-02 07:32:23 UTC (rev 11148)
+++ trunk/pywikipedia/userinterfaces/terminal_interface_base.py 2013-03-02 08:16:47 UTC (rev 11149)
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
-# (C) Pywikipedia bot team, 2003-2012
+# (C) Pywikipedia bot team, 2003-2013
#
# Distributed under the terms of the MIT license.
#
@@ -34,6 +34,7 @@
colorTagR = re.compile('\03{(?P<name>%s)}' % '|'.join(colors))
+
class UI:
def __init__(self):
self.stdin = sys.stdin
@@ -60,40 +61,47 @@
else:
self.printNonColorized(text, targetStream)
- def output(self, text, toStdout = False):
+ def output(self, text, toStdout=False):
"""
If a character can't be displayed in the encoding used by the user's
terminal, it will be replaced with a question mark or by a
transliteration.
+
"""
if config.transliterate:
- # Encode our unicode string in the encoding used by the user's console,
- # and decode it back to unicode. Then we can see which characters
- # can't be represented in the console encoding.
+ # Encode our unicode string in the encoding used by the user's
+ # console, and decode it back to unicode. Then we can see which
+ # characters can't be represented in the console encoding.
# We need to take min(console_encoding, transliteration_target)
# the first is what the terminal is capable of
# the second is how unicode-y the user would like the output
- codecedText = text.encode(self.encoding, 'replace').decode(self.encoding)
+ codecedText = text.encode(self.encoding,
+ 'replace').decode(self.encoding)
if self.transliteration_target:
- codecedText = codecedText.encode(self.transliteration_target, 'replace').decode(self.transliteration_target)
+ codecedText = codecedText.encode(self.transliteration_target,
+ 'replace').decode(self.transliteration_target)
transliteratedText = ''
- # Note: A transliteration replacement might be longer than the original
- # character, e.g. ч is transliterated to ch.
+ # Note: A transliteration replacement might be longer than the
+ # original character, e.g. ч is transliterated to ch.
prev = "-"
for i in xrange(len(codecedText)):
# work on characters that couldn't be encoded, but not on
# original question marks.
if codecedText[i] == '?' and text[i] != u'?':
try:
- transliterated = transliterator.transliterate(text[i], default = '?', prev = prev, next = text[i+1])
+ transliterated = transliterator.transliterate(
+ text[i], default='?', prev=prev, next=text[i+1])
except IndexError:
- transliterated = transliterator.transliterate(text[i], default = '?', prev = prev, next = ' ')
+ transliterated = transliterator.transliterate(
+ text[i], default = '?', prev=prev, next=' ')
# transliteration was successful. The replacement
# could consist of multiple letters.
# mark the transliterated letters in yellow.
- transliteratedText += '\03{lightyellow}%s\03{default}' % transliterated
+ transliteratedText += '\03{lightyellow}%s\03{default}' \
+ % transliterated
transLength = len(transliterated)
- # memorize if we replaced a single letter by multiple letters.
+ # memorize if we replaced a single letter by multiple
+ # letters.
if len(transliterated) > 0:
prev = transliterated[-1]
else:
@@ -117,6 +125,7 @@
Unlike raw_input, this function automatically adds a space after the
question.
+
"""
# sound the terminal bell to notify the user
@@ -132,7 +141,7 @@
text = unicode(text, self.encoding)
return text
- def inputChoice(self, question, options, hotkeys, default = None):
+ def inputChoice(self, question, options, hotkeys, default=None):
options = options[:] # we don't want to edit the passed parameter
for i in range(len(options)):
option = options[i]
@@ -145,7 +154,8 @@
caseHotkey = hotkey
if m:
pos = m.start()
- options[i] = '%s[%s]%s' % (option[:pos], caseHotkey, option[pos+1:])
+ options[i] = '%s[%s]%s' % (option[:pos], caseHotkey,
+ option[pos+1:])
else:
options[i] = '%s [%s]' % (option, caseHotkey)
# loop until the user entered a valid choice
@@ -157,7 +167,7 @@
elif default and answer=='': # empty string entered
return default
- def editText(self, text, jumpIndex = None, highlight = None):
+ def editText(self, text, jumpIndex=None, highlight=None):
"""
Uses a Tkinter edit box because we don't have a console editor
@@ -165,6 +175,7 @@
* text - a Unicode string
* jumpIndex - an integer: position at which to put the caret
* highlight - a substring; each occurence will be highlighted
+
"""
try:
import gui
@@ -172,17 +183,23 @@
print 'Could not load GUI modules: %s' % e
return text
editor = gui.EditBoxWindow()
- return editor.edit(text, jumpIndex = jumpIndex, highlight = highlight)
+ return editor.edit(text, jumpIndex=jumpIndex, highlight=highlight)
def askForCaptcha(self, url):
try:
import webbrowser
wikipedia.output(u'Opening CAPTCHA in your web browser...')
if webbrowser.open(url):
- return wikipedia.input(u'What is the solution of the CAPTCHA that is shown in your web browser?')
+ return wikipedia.input(
+ u'What is the solution of the CAPTCHA that is shown in '
+ u'your web browser?')
else:
raise
except:
- wikipedia.output(u'Error in opening web browser: %s' % sys.exc_info()[0])
- wikipedia.output(u'Please copy this url to your web browser and open it:\n %s' % url)
- return wikipedia.input(u'What is the solution of the CAPTCHA at this url ?')
+ wikipedia.output(u'Error in opening web browser: %s'
+ % sys.exc_info()[0])
+ wikipedia.output(
+ u'Please copy this url to your web browser and open it:\n %s'
+ % url)
+ return wikipedia.input(
+ u'What is the solution of the CAPTCHA at this url ?')