Page MenuHomePhabricator

AttributeError: 'function' object has no attribute 'encode'
Closed, ResolvedPublicBUG REPORT

Description

The following command

python pwb.py solve_disambiguation -main E3 -lang:cs -family:wikipedia

raises

Alternatives for [[cs:E3]]
WARNING: .\scripts\solve_disambiguation.py:1368: FutureWarning: pywikibot.tools.
formatter.SequenceOutputter.output is deprecated since release 6.2.0; use pywiki
bot.output(SequenceOutputter.out) instead.
  SequenceOutputter(self.opt.pos).output()


  1 - Electronic Entertainment Expo
  2 - Evropská dálková trasa E3
  3 - Evropská silnice E3
  4 - Wikipedie:Název článku
  5 - Wikipedie:Odkaz na rozcestník
  6 - Wikipedie:Rozcestníky
  7 - Wikipedie:Článek

Found 2 references.
Will work on 2 pages.
Retrieving 2 pages from wikipedia:cs.


>>> Wii <<<

0 pages read
0 pages written
0 pages skipped
Execution time: 3 seconds
Script terminated by exception:

ERROR: AttributeError: 'function' object has no attribute 'encode'
Traceback (most recent call last):
  File "pwb.py", line 365, in <module>
    if not main():
  File "pwb.py", line 357, in main
    run_python_file(filename,
  File "pwb.py", line 73, in run_python_file
    exec(compile(source, filename, 'exec', dont_inherit=True),
  File ".\scripts\solve_disambiguation.py", line 1455, in <module>
    main()
  File ".\scripts\solve_disambiguation.py", line 1451, in main
    bot.run()
  File "C:\Users\admin\Documents\core\pywikibot\bot.py", line 1534, in run
    self.treat(page)
  File ".\scripts\solve_disambiguation.py", line 1379, in treat
    if not self.treat_links(ref_page, page):
  File ".\scripts\solve_disambiguation.py", line 889, in treat_links
    treat_result = self.treat_disamb_only(ref_page, page)
  File ".\scripts\solve_disambiguation.py", line 1055, in treat_disamb_only
    answer = pywikibot.input_choice('Option', options,
  File "C:\Users\admin\Documents\core\pywikibot\bot.py", line 511, in input_choice
    return ui.input_choice(question, answers, default, return_shortcut,
  File "C:\Users\admin\Documents\core\pywikibot\userinterfaces\terminal_interface_base.py", line 409, in input_choice
    self.stream_output(option.out)
  File "C:\Users\admin\Documents\core\pywikibot\userinterfaces\terminal_interface_base.py", line 233, in stream_output
    codecedText = text.encode(self.encoding,
AttributeError: 'function' object has no attribute 'encode'
CRITICAL: Exiting due to uncaught exception <class 'AttributeError'>

Doesn't crash prior to a11461198335480edd0515d426a010e241f42f83.

Event Timeline

Xqt triaged this task as High priority.

Change 691589 had a related patch set uploaded (by Xqt; author: Xqt):

[pywikibot/core@master] [bugfix] OutputOption.out must be a property not a method

https://gerrit.wikimedia.org/r/691589

With the patch applied, I now get:

Alternatives for [[cs:E3]]

  1 - Electronic Entertainment Expo
  2 - Evropská dálková trasa E3
  3 - Evropská silnice E3
  4 - Wikipedie:Název článku
  5 - Wikipedie:Odkaz na rozcestník
  6 - Wikipedie:Rozcestníky
  7 - Wikipedie:Článek

Found 2 references.
Will work on 2 pages.
Retrieving 2 pages from wikipedia:cs.


>>> Wii <<<
ndem]]. Dříve byla známa pod jménem Nintendo Revolution, po [[E3]] [[2006]] už j
en Nintendo Wii. Wii je jedním z účastníků souOption (<number> [1-7], r<number>
[1-7], [s]kip link, [e]dit page, [n]ext
page, next disambi[g], [u]nlink, [m]ore context, show [d]isambiguation page,
[l]ist, [a]dd new, [q]uit): 1

The following changes have been made:

@@ -26 +26 @@
- '''Wii''' (má asociovat anglické slovo „We“ – tedy „my“) je pátá videoherní st
olní [[herní konzole|konzole]] vyráběná [[Nintendo|Nintendem]]. Dříve byla známa
 pod jménem Nintendo Revolution, po [[E3]] [[2006]] už jen Nintendo Wii. Wii je
jedním z účastníků souboje konzolí 7. generace. Jejími protivníky jsou [[Xbox 36
0]] od [[Microsoft]]u a [[PlayStation 3]] od [[Sony]]. Konkurence se snažila jít
 cestou vyššího výkonu, na rozdíl od nich ale jde Wii jinou cestou a zlepšeným o
vládáním pomocí takzvaného ovladače [[Wii Remote]], který reaguje s objekty jak
namířením na obrazovku, tak pohybem ve volném prostoru – a to ve všech osách (do
předu/dozadu, nahoru/dolu, doprava/doleva).<ref name="pravo">FIŠER, Miroslav. Co
 umí herní konzole, a co umět budou. Právo. 2010-05-10, 20, 107, s. 8. ISSN 1211
-2119.</ref> Důležitá je i služba [[WiiConnect24]], která umožňuje bez zásahu už
ivatele stahovat [[e-mail|emaily]], [[aktualizace (software)|aktualizace]] a dal
ší.
+ '''Wii''' (má asociovat anglické slovo „We“ – tedy „my“) je pátá videoherní st
olní [[herní konzole|konzole]] vyráběná [[Nintendo|Nintendem]]. Dříve byla známa
 pod jménem Nintendo Revolution, po [[Electronic Entertainment Expo|E3]] [[2006]
] už jen Nintendo Wii. Wii je jedním z účastníků souboje konzolí 7. generace. Je
jími protivníky jsou [[Xbox 360]] od [[Microsoft]]u a [[PlayStation 3]] od [[Son
y]]. Konkurence se snažila jít cestou vyššího výkonu, na rozdíl od nich ale jde
Wii jinou cestou a zlepšeným ovládáním pomocí takzvaného ovladače [[Wii Remote]]
, který reaguje s objekty jak namířením na obrazovku, tak pohybem ve volném pros
toru – a to ve všech osách (dopředu/dozadu, nahoru/dolu, doprava/doleva).<ref na
me="pravo">FIŠER, Miroslav. Co umí herní konzole, a co umět budou. Právo. 2010-0
5-10, 20, 107, s. 8. ISSN 1211-2119.</ref> Důležitá je i služba [[WiiConnect24]]
, která umožňuje bez zásahu uživatele stahovat [[e-mail|emaily]], [[aktualizace
(software)|aktualizace]] a další.


ERROR: page [[Wii]] not saved due to The link does not contain a page title



>>> Nintendo GameCube <<<
== Historie ==
Nintendo GameCube byla poprvé představena na [[E3]] [[1999]]], tehdy ještě pod k
ódovým jménem ''Dolphin''. MěloOption (<number> [1-7], r<number> [1-7], [s]kip l
ink, [e]dit page, [n]ext
page, next disambi[g], [u]nlink, [m]ore context, show [d]isambiguation page,
[l]ist, [a]dd new, [q]uit):

Especially:

  • Wii je jedním z účastníků souOption (<number> [1-7], r<number
  • ERROR: page [[Wii]] not saved due to The link does not contain a page title

The edit wasn't published.

I see but this is not related to rPWBCa11461198335 but rPWBCf4ddd1f0

Change 691589 merged by jenkins-bot:

[pywikibot/core@master] [bugfix] OutputOption.out must be a property not a method

https://gerrit.wikimedia.org/r/691589