Timothy Smith wrote:
> ok what i am seeing is impossible.
> i DELETED the file from my webserver, uploaded the new one. when my app 
> logs in it checks the file, if it's changed it downloads it. the 
> impossible part, is that on my pc is downloading the OLD file i've 
> deleted! if i download it via IE, i get the new file. SO, my only 
> conculsion is that urllib is caching it some where. BUT i'm already 
> calling urlcleanup(), so what else can i do?

Here are some ideas to use in your hunt.

 - If you are getting a cached local file then the returned object
will have a "name" attribute.

   result = urllib.retrieve(".....")
   print result.fp.name

As far as I can tell, this will only occur if you use
a tempcache or a file URL.


  - You can force some debugging of the open calls, to see if
your program is dealing with a local file.

>>> old_open = open
>>> def my_open(*args):
...   print "opening", args
...   return old_open(*args)
... 
>>> open("/etc/passwd")    
<open file '/etc/passwd', mode 'r' at 0x60da0>
>>> import __builtin__
>>> __builtin__.open = my_open
>>> open("/etc/passwd")
opening ('/etc/passwd',)
<open file '/etc/passwd', mode 'r' at 0x60c20>
>>> 

You'll may also need to change os.fdopen because that's used
by retrieve if it needs a tempfile.

If you want to see where the open is being called from,
use one of the functions in the traceback module to print
the stack trace.

  - for surety's sake, also do 

import webbrowser
webbrowser.open(url)

just before you do 

urllib.retrieve(url, filename)

This will double check that your program is using the URL you
expect it to use.

  - beyond that, check that you've got network activity,

You could check the router lights, or use a web sniffer like
ethereal, or set up a debugging proxy

  - check the headers.  If your ISP is using a cache then
it might insert a header into what it returns.  But if
it was caching then your IE view should have seen the cached
version as well.

                                Andrew
                                [EMAIL PROTECTED]
 
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to