From 385df3998104d2de863476f70491b8bb7e9555a7 Mon Sep 17 00:00:00 2001 From: meejah Date: Wed, 7 Aug 2019 17:47:52 -0600 Subject: [PATCH] get rid of .remember() / IOpHandleTable --- src/allmydata/web/common.py | 3 --- src/allmydata/web/directory.py | 10 ++++++---- src/allmydata/web/operations.py | 4 ++-- src/allmydata/webish.py | 3 +-- 4 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/allmydata/web/common.py b/src/allmydata/web/common.py index 463b68f77..b287f4a00 100644 --- a/src/allmydata/web/common.py +++ b/src/allmydata/web/common.py @@ -40,9 +40,6 @@ def get_filenode_metadata(filenode): metadata['size'] = size return metadata -class IOpHandleTable(Interface): - pass - def getxmlfile(name): return loaders.xmlfile(resource_filename('allmydata.web', '%s' % name)) diff --git a/src/allmydata/web/directory.py b/src/allmydata/web/directory.py index a08e89f32..cdcc6730e 100644 --- a/src/allmydata/web/directory.py +++ b/src/allmydata/web/directory.py @@ -22,7 +22,7 @@ from allmydata.blacklist import ProhibitedNode from allmydata.monitor import Monitor, OperationCancelledError from allmydata import dirnode from allmydata.web.common import text_plain, WebError, \ - IOpHandleTable, NeedOperationHandleError, \ + NeedOperationHandleError, \ boolean_of_arg, get_arg, get_root, parse_replace_arg, \ should_create_intermediate_directories, \ getxmlfile, RenderMixin, humanize_failure, convert_children_json, \ @@ -63,6 +63,9 @@ class DirectoryNodeHandler(RenderMixin, rend.Page, ReplaceMeMixin): self.parentnode = parentnode self.name = name + # probably better to just pass this in? can we? + self._operations = client.getServiceNamed("webish").getServiceNamed("operations") + def childFactory(self, ctx, name): name = name.decode("utf-8") if not name: @@ -442,9 +445,8 @@ class DirectoryNodeHandler(RenderMixin, rend.Page, ReplaceMeMixin): return d def _start_operation(self, monitor, renderer, ctx): - table = IOpHandleTable(ctx) - table.add_monitor(ctx, monitor, renderer) - return table.redirect_to(ctx) + self._operations.add_monitor(ctx, monitor, renderer) + return self._operations.redirect_to(ctx) def _POST_start_deep_check(self, ctx): # check this directory and everything reachable from it diff --git a/src/allmydata/web/operations.py b/src/allmydata/web/operations.py index 74c90356a..3f774bede 100644 --- a/src/allmydata/web/operations.py +++ b/src/allmydata/web/operations.py @@ -9,7 +9,7 @@ from twisted.web.http import NOT_FOUND from twisted.web.html import escape from twisted.application import service -from allmydata.web.common import IOpHandleTable, WebError, \ +from allmydata.web.common import WebError, \ get_root, get_arg, boolean_of_arg MINUTE = 60 @@ -18,8 +18,8 @@ DAY = 24*HOUR (MONITOR, RENDERER, WHEN_ADDED) = range(3) -@implementer(IOpHandleTable) class OphandleTable(rend.Page, service.Service): + name = "operations" UNCOLLECTED_HANDLE_LIFETIME = 4*DAY COLLECTED_HANDLE_LIFETIME = 1*DAY diff --git a/src/allmydata/webish.py b/src/allmydata/webish.py index 44556d5f0..d9bfeb222 100644 --- a/src/allmydata/webish.py +++ b/src/allmydata/webish.py @@ -10,7 +10,7 @@ from nevow import appserver, inevow from allmydata.util import log, fileutil from allmydata.web import introweb, root -from allmydata.web.common import IOpHandleTable, MyExceptionHandler +from allmydata.web.common import MyExceptionHandler # we must override twisted.web.http.Request.requestReceived with a version # that doesn't use cgi.parse_multipart() . Since we actually use Nevow, we @@ -167,7 +167,6 @@ class WebishServer(service.MultiService): # XXX FIXME what does this really do? if self.root.child_operations: - self.site.remember(self.root.child_operations, IOpHandleTable) self.root.child_operations.setServiceParent(self) def buildServer(self, webport, nodeurl_path, staticdir):