From 04b690ac9ec239e38f749730b8755b826529d601 Mon Sep 17 00:00:00 2001 From: Brian Warner Date: Wed, 26 Mar 2008 18:20:07 -0700 Subject: [PATCH] web-status: client methods like list_all_uploads() return Upload instances, not status instances. Fix this. The symptom was that following a link like 'up-123' that referred to an old operation (no longer in memory) while an upload was active would get an ugly traceback instead of a "no such resource" message. --- src/allmydata/web/status.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/allmydata/web/status.py b/src/allmydata/web/status.py index 8203e5b1..64e69fa5 100644 --- a/src/allmydata/web/status.py +++ b/src/allmydata/web/status.py @@ -729,28 +729,33 @@ class Status(rend.Page): for s in client.list_recent_uploads(): if s.get_counter() == count: return UploadStatusPage(s) - for s in client.list_all_uploads(): + for u in client.list_all_uploads(): + # u is an uploader object + s = u.get_upload_status() if s.get_counter() == count: return UploadStatusPage(s) if stype == "down": for s in client.list_recent_downloads(): if s.get_counter() == count: return DownloadStatusPage(s) - for s in client.list_all_downloads(): + for d in client.list_all_downloads(): + s = d.get_download_status() if s.get_counter() == count: return DownloadStatusPage(s) if stype == "publish": for s in client.list_recent_publish(): if s.get_counter() == count: return PublishStatusPage(s) - for s in client.list_all_publish(): + for p in client.list_all_publish(): + s = p.get_status() if s.get_counter() == count: return PublishStatusPage(s) if stype == "retrieve": for s in client.list_recent_retrieve(): if s.get_counter() == count: return RetrieveStatusPage(s) - for s in client.list_all_retrieve(): + for r in client.list_all_retrieve(): + s = r.get_status() if s.get_counter() == count: return RetrieveStatusPage(s) -- 2.45.2