[tahoe-lafs-trac-stream] [tahoe-lafs] #1663: Add a concise table of the URL tree to webapi.rst.

tahoe-lafs trac at tahoe-lafs.org
Sun Jan 22 01:28:50 UTC 2012


#1663: Add a concise table of the URL tree to webapi.rst.
-----------------------------+-----------------------
     Reporter:  nejucomo     |      Owner:  nobody
         Type:  enhancement  |     Status:  new
     Priority:  major        |  Milestone:  undecided
    Component:  unknown      |    Version:  1.9.0
   Resolution:               |   Keywords:
Launchpad Bug:               |
-----------------------------+-----------------------

Comment (by nejucomo):

 As a first attempt to do this automatically, I learned that Nevow Page's
 will delegate requests to sub-url-paths by looking for {{{child_<path
 segment>}}} attributes or methods.  A quick grep gives a basic partial
 picture of the URL namespace (see below).

 The {{{allmydata.web.root.Root}}} class is a good starting point.  There
 are ''at least'' these top-level handlers:

 * {{{/operations}}}
 * {{{/storage}}}
 * {{{/uri}}}
 * {{{/cap}}}
 * {{{/file}}}
 * {{{/named}}}
 * {{{/status}}}
 * {{{/statistics}}}

 This is based on this simplistic grep:

 {{{
 $ find src/allmydata/web -type f -name '*.py' -print0 | xargs -0 grep -E
 '^class |child_' | grep -B 1 'child_'
 src/allmydata/web/directory.py:class DirectoryNodeHandler(RenderMixin,
 rend.Page, ReplaceMeMixin):
 src/allmydata/web/directory.py:        d =
 self.node.move_child_to(from_name, self.node, to_name, replace)
 --
 src/allmydata/web/introweb.py:class IntroducerRoot(rend.Page):
 src/allmydata/web/introweb.py:    child_operations = None
 --
 src/allmydata/web/root.py:class Root(rend.Page):
 src/allmydata/web/root.py:        self.child_operations =
 operations.OphandleTable(clock)
 src/allmydata/web/root.py:        self.child_storage =
 storage.StorageStatus(s)
 src/allmydata/web/root.py:        self.child_uri = URIHandler(client)
 src/allmydata/web/root.py:        self.child_cap = URIHandler(client)
 src/allmydata/web/root.py:        self.child_file = FileHandler(client)
 src/allmydata/web/root.py:        self.child_named = FileHandler(client)
 src/allmydata/web/root.py:        self.child_status =
 status.Status(client.get_history())
 src/allmydata/web/root.py:        self.child_statistics =
 status.Statistics(client.stats_provider)
 src/allmydata/web/root.py:    def child_helper_status(self, ctx):
 src/allmydata/web/root.py:    child_provisioning =
 provisioning.ProvisioningTool()
 src/allmydata/web/root.py:        child_reliability =
 reliability.ReliabilityTool()
 src/allmydata/web/root.py:        child_reliability = NoReliability()
 src/allmydata/web/root.py:    child_report_incident = IncidentReporter()
 src/allmydata/web/root.py:    #child_server # let's reserve this for
 storage-server-over-HTTP
 --
 src/allmydata/web/status.py:class
 DownloadStatusPage(DownloadResultsRendererMixin, rend.Page):
 src/allmydata/web/status.py:    def child_timeline(self, ctx):
 src/allmydata/web/status.py:    def child_event_json(self, ctx):
 }}}

-- 
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1663#comment:1>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list