On Sun, Jul 11, 2010 at 8:13 PM, The Danny Bos <danny...@gmail.com> wrote: > Thanks gang, > I'm gonna paste what I've put together, doesn't seem right. Am I way > off? > > Here's my code. > - It goes through a table Item > - Matches that Item ID to an API call > - Grabs the data, saves it and creates the thumbnail > - It dies due to Timeouts and Other baloney, all silly, nothing code > based. > > items = Item.objects.all().filter(cover='').order_by('-reference_id') > for item in items: > url = "http://someaddress.org/books/?issue=%s" % item.reference_id > > url_array = [] > url_open = urllib.urlopen(url) > url_read = url_open.read().decode('utf-8') > > try: > url_data = simplejson.loads(url_read) > url_array.append(url_data) > > for detail in url_array:
Unless I'm missing something, there's no need for url_array to exist at all. It starts out empty, you append url_data to it, then you iterate over it as `detail`; and you don't touch it anywhere else in the loop. Just s/detail/url_data/ and excise url_array altogether. As a bonus, there'll be one less level of indentation. Also, the reason your code doesn't work (currently, it just skips to the next item upon error) is because you're missing a surrounding `while True` loop (and associated embedded `break`) to do the retrying (see my or MRAB's examples). Additionally, stylistically I'd prefer the try-excepts to cover smaller and more targeted areas of the code, rather than having one giant blanket one for the entire loop body; perhaps that's just me though. Cheers, Chris -- How exactly does one acquire a prenominal "The"? http://blog.rebertia.com -- http://mail.python.org/mailman/listinfo/python-list