When the error began occurring, I was using the
Pywikibot nightly dump
from February 25 of this year. It continues to occur with the nightly dump
from yesterday (June 23). I just tried the fileno = lambda: 10 trick and it
had no effect.
As for core, it's been four months since I last tried it so I don't
recall the issues. It's past bedtime for me right now, but I'll look into
giving it another try within the next day or two when I have some time.
On Tue, Jun 24, 2014 at 3:17 AM, Merlijn van Deen <valhallasw(a)arctus.nl>
wrote:
On 24 June 2014 06:17, Jonathan Goble
<jcgoble3(a)gmail.com> wrote:
I've given up trying to solve a bug that popped up in my scripts a
couple days ago. I run a bot for Wookieepedia,
over at Wikia, and run three
simple scripts on a daily basis. They are set up to run automatically
through Windows Task Scheduler. Since they run automatically, they run in
the background through pythonw.exe, i.e. without a console, and therefore I
need a means of getting the output. My solution for the past two months has
been to redirect sys.stdout and sys.stderr to the same StringIO() instance,
then at the end call getvalue() on that and email it to myself.
Could it be you haven't updated in a few years? It sounds like it's
related to a feature that I added two or three years ago, that allowed
Windows users to get full unicode out- and input. However, that does mean
sys.stdin and sys.stdout are no longer being used. We /do/ check whether
the user has redirected the output using normal shell redirection, but your
method doesn't do that.
There are a two options I can think of.
- use normal shell redirection, e.g.
https://stackoverflow.com/questions/8662024/how-do-i-capture-the-output-of-…
- trick the code into thinking you're doing 'regular' redirection by
adding a fileno function to your streams:
see
https://github.com/wikimedia/pywikibot-compat/blob/master/userinterfaces/wi…
you'd need something like x = StringIO.StringIO(); x.fileno =
lambda: 10
and the same for stdout.
(By the way, the answer is NOT "switch to core". I have tried to get
core to run on my system and failed miserably
after two hours of repeated
attempts without even getting it to talk to the wiki. Compat worked
perfectly on the first try. Until such time as core can be installed by a
beginner, it is not for me.)
I would appreciate it if you could clarify what the issues were you ran
into.
Merlijn
_______________________________________________
Pywikipedia-l mailing list
Pywikipedia-l(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/pywikipedia-l
_______________________________________________
Pywikipedia-l mailing list
Pywikipedia-l(a)lists.wikimedia.org