title: Good high-level python ftp/http lib?
body: <p>I'm looking for a good, high-level python ftp client/server library. I'm working on a project that has "evolved" a small http/ftp library on top of ftplib/urllib/urllib2 from what was originally one function, and almost none of it was designed to be built upon. So now it's time to refactor kind of seriously, and I'd like to just switch to a library. The thing I'd most like to not deal with is robust-retry logic (like, keep retrying 15 times, or keep retrying until 12pm).</p>
  
  <p>The problem that we've got right now is that we have about 10 separate <code>grab()</code> and <code>put()</code> functions. Aesthetically speaking, I'd rather have one of each with optional arguments along the lines of <code>try_until=datetime(2009, 10, 7, 19)</code> or <code>retrys=15</code>. We work with both binary and text data, so the functions would have to be reasonably smart about that. And we do way more grabbing than putting, so I can deal without the puts.</p>
  
  <p><a href="http://linux.duke.edu/projects/urlgrabber/" rel="nofollow noreferrer">urlgrabber</a> looks like exactly what I want, but there doesn't seem to have been any development for the last couple years and I'm not sure how compatible it is with 2.6. Anybody got much experience with this? Or opinions?</p>