From: david-sarah Date: Mon, 17 Jan 2011 23:31:52 +0000 (-0800) Subject: src/allmydata/webish.py: clean-ups and correction to a comment. Also change an open... X-Git-Url: https://git.rkrishnan.org/?a=commitdiff_plain;h=fc98aded8ab7cedfdd0ee029e3402a831cbe67f4;p=tahoe-lafs%2Ftahoe-lafs.git src/allmydata/webish.py: clean-ups and correction to a comment. Also change an open and write to use fileutil.write. See ref #1286 comment 13. --- diff --git a/src/allmydata/webish.py b/src/allmydata/webish.py index 5ab9337d..03ca3bad 100644 --- a/src/allmydata/webish.py +++ b/src/allmydata/webish.py @@ -3,7 +3,7 @@ from twisted.application import service, strports, internet from twisted.web import http from twisted.internet import defer from nevow import appserver, inevow, static -from allmydata.util import log +from allmydata.util import log, fileutil from allmydata.web import introweb, root from allmydata.web.common import IOpHandleTable, MyExceptionHandler @@ -157,15 +157,19 @@ class WebishServer(service.MultiService): self._scheme = None self._portnum = None self._url = None - self.listener = s # stash it so the tests can query for the portnum + self._listener = s # stash it so we can query for the portnum self._started = defer.Deferred() if nodeurl_path: - self._started.addCallback(self._write_nodeurl_file, nodeurl_path) + def _write_nodeurl_file(ign): + # this file will be created with default permissions + fileutil.write(nodeurl_path, self.getURL() + "\n") + self._started.addCallback(_write_nodeurl_file) def getURL(self): assert self._url return self._url + def getPortnum(self): assert self._portnum return self._portnum @@ -183,7 +187,7 @@ class WebishServer(service.MultiService): return f service.MultiService.startService(self) - s = self.listener + s = self._listener if hasattr(s, 'endpoint') and hasattr(s, '_waitingForPort'): # Twisted 10.2 gives us a StreamServerEndpointService. This is # ugly but should do for now. @@ -206,13 +210,6 @@ class WebishServer(service.MultiService): self._started.errback(AssertionError("couldn't find out the scheme or port for the web-API server")) - def _write_nodeurl_file(self, junk, nodeurl_path): - if self._url: - f = open(nodeurl_path, 'wb') - # this file is world-readable - f.write(self._url + "\n") - f.close() - class IntroducerWebishServer(WebishServer): def __init__(self, introducer, webport, nodeurl_path=None, staticdir=None): service.MultiService.__init__(self)