Fab86 wrote:
On Mar 4, 1:40 am, "Gabriel Genellina" <gagsl-...@yahoo.com.ar> wrote:
En Tue, 03 Mar 2009 23:11:30 -0200, Fab86 <fabien.h...@gmail.com> escribió:



On Mar 4, 12:00 am, MRAB <goo...@mrabarnett.plus.com> wrote:
Fab86 wrote:
On Mar 3, 8:59 pm, "Gabriel Genellina" <gagsl-...@yahoo.com.ar> wrote:
How to "spell" exactly the exception name should appear in the documentation; might be yahoo.SearchError, or
yahoo.search.SearchError, or
yahoo.errors.SearchError, or similar.
I have been trying except SearchError: however I get the error:
Traceback (most recent call last):
  File "C:\Downloads\MoS\yws-2.12\Python\pYsearch-3.1\timeDelay.py",
line 19, in <module>
    except SearchError:
NameError: name 'SearchError' is not defined
I have searched all documents for terms along the lines of searcherror
but am finding nothing..
It's defined in the module you imported to get the search functionality.
I imported:
from yahoo.search.web import WebSearch
However there is nothing re SearchError in that doc or in the .py.
I can only find a reference to SearchError in the __init__ file as a
class called SearchError
The __init__.py indicates a package <http://docs.python.org/tutorial/modules.html#packages> You didn't tell the package name (the name of the directory containing __init__.py) so this is somewhat generic. If the package name is foo, use:
 from foo import SearchError
If foo is a subpackage under bar, use:
 from bar.foo import SearchError

It *might* be:
 from yahoo.search.web import WebSearch
or perhaps:
 from yahoo.search import WebSearch

You can enter those lines in the interactive interpreter to discover the right form. (This really ought to have been documented)

--
Gabriel Genellina

Ok, I managed to import the correct error class (was in a non expected
place)

Just as I thought I was finished, I encountered a final problem. I am
running a while loop which is constantly adding search results to a
file, like this (print >> f, res.total_results_available). I have put
an exception in that if it times out, it simply tries again until its
finished. The problem is that the loop re-write all new results
continuing on from the previous searches. I would like to somehow
delete all in that file and start again.

I thought this could simply be achieved by putting f.close() in the
exception and then it re-writes it however I am getting this error:

Traceback (most recent call last):
  File "/home/csunix/scs5fjnh/FYProj/Python/pYsearch-3.1/test9.py",
line 17, in <module>
    print >> f, res.total_results_available
ValueError: I/O operation on closed file

Is there another way rather than closing the file? Is it possible to
delete all within the file?

You could do:

    f.seek(0)
    f.truncate()

I hope you don't just discard all the results you've got so far and then
start from the beginning again.
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to