Commit Graph

1090 Commits

Author SHA1 Message Date
Sajith Sasidharan
4fa2e6ad97 Use twisted web directives in web.operations.ReloadMixin 2020-06-02 11:56:59 -04:00
Sajith Sasidharan
dd14da4a55 Decode name before null check
Make the diff against master a tad bit smaller.
2020-05-29 21:48:04 -04:00
Sajith Sasidharan
dce73f7c2f Make "Refresh" link work
This seems to be a subtle difference from nevow: with `href="."`,
rendered link target will be `/uri/`, so clicking "Refresh" will
result in an error message like so: "GET /uri requires uri=".

With `href=""`, the rendered link target will be `/uri/URI:...`, which
is what we need.
2020-05-29 21:44:10 -04:00
Sajith Sasidharan
31eba00d0f Reject trailing empty path piece in URIs 2020-05-29 21:38:43 -04:00
Sajith Sasidharan
0633623ecc Reject URIs that contain empty segments 2020-05-29 21:38:43 -04:00
Sajith Sasidharan
b6e00d09f9 Render self in DirectoryNodeHandler.getChild()
We need self.render_POST() etc. to be invoked when we have a request
such as "POST /uri/URI:DIR:..."; throwing an error here is probably
not the right thing to do.
2020-05-29 09:22:15 -04:00
Sajith Sasidharan
d3f43d31d9 Remove unused import 2020-05-23 06:17:06 -04:00
Sajith Sasidharan
93d015e468 Document status.Status 2020-05-22 22:24:09 -04:00
Sajith Sasidharan
a6e32135e8 Update status page child route handler and table renderers
Drop nevow-isms and use twisted.web's way of doing things.
2020-05-22 22:15:45 -04:00
Sajith Sasidharan
3357f4c5ce Make Status a MultiFormatResource 2020-05-22 22:12:22 -04:00
Sajith Sasidharan
81dc63b511 Use twisted template tags in status page template 2020-05-22 22:12:22 -04:00
Sajith Sasidharan
03d529c22a Remove unused import 2020-05-22 21:33:30 -04:00
Sajith Sasidharan
9520ad71eb Rearrange imports 2020-05-22 21:24:21 -04:00
Sajith Sasidharan
f8562530be Make Element the superclass of UploadResultsRendererMixin 2020-05-22 21:11:42 -04:00
Sajith Sasidharan
91f8d939f8 Avoid use of RateAndTimeMixin in UploadResultsRendererMixin 2020-05-22 20:22:59 -04:00
Sajith Sasidharan
aecd90858a Render abbreviated rate and time values 2020-05-22 19:39:32 -04:00
Sajith Sasidharan
7be1883910 Document UploadResultsPage parameter 2020-05-22 19:39:32 -04:00
Sajith Sasidharan
5fdd61b146 Document UploadStatusPage 2020-05-22 19:39:32 -04:00
Sajith Sasidharan
54ac2d224a Remove unused imports 2020-05-22 19:39:32 -04:00
Sajith Sasidharan
7a82fd671f Handle "t=upload" in UploadResultsPage POST handling 2020-05-22 19:39:32 -04:00
Sajith Sasidharan
3bfa5a5c29 Use twisted web template in UploadResultsRendererMixin 2020-05-22 19:39:32 -04:00
Sajith Sasidharan
57b1203d17 Make UploadResultsPage a MultiFormatResource 2020-05-22 19:39:32 -04:00
Sajith Sasidharan
6470718691 Use twisted template tags in upload results page template 2020-05-22 19:39:32 -04:00
Sajith Sasidharan
41300097c8 Make UploadStatusPage a MultiFormatResource 2020-05-22 19:39:32 -04:00
Sajith Sasidharan
aac8dee8a0 Use twisted template tags in upload status page template 2020-05-22 19:39:32 -04:00
Sajith Sasidharan
aec6e5a9d4 Force a CircleCI build 2020-05-18 20:05:16 -04:00
Sajith Sasidharan
c23fedbcfe Add related ticket to comment about refactoring 2020-05-18 16:56:32 -04:00
Sajith Sasidharan
0b3db59742 Add related ticket to comment about unimplemented method 2020-05-18 16:56:32 -04:00
Sajith Sasidharan
993b1e225f Use transparent tags to render values 2020-05-18 11:01:14 -04:00
Sajith Sasidharan
c5342d8ae6 Add comments about events tables 2020-05-14 16:48:43 -04:00
Sajith Sasidharan
88e8854ad4 Wrap renderer results in tags 2020-05-14 16:09:54 -04:00
Sajith Sasidharan
68df408229 Add a note about unimplemented DownloadStatus method 2020-05-14 16:09:54 -04:00
Sajith Sasidharan
1fa77d8983 Avoid use of DownloadResultsRendererMixin 2020-05-14 16:09:54 -04:00
Sajith Sasidharan
1f1f3b5f61 Remove unused render_timeline_link()
As it turns out, nothing is using this method.
2020-05-14 16:09:54 -04:00
Sajith Sasidharan
f3edc8a48c Add a note about rendering download events tables 2020-05-14 16:09:54 -04:00
Sajith Sasidharan
b02cfa5bbe Use more descriptive variable names 2020-05-14 16:09:54 -04:00
Sajith Sasidharan
7e02502268 Add comments to DownloadStatusPage 2020-05-14 16:09:54 -04:00
Sajith Sasidharan
e0241655e5 Update results renderer 2020-05-14 16:09:54 -04:00
Sajith Sasidharan
c5b2073bf0 Avoid use of RateAndTimeMixin methods in DownloadStatusElement 2020-05-14 16:09:54 -04:00
Sajith Sasidharan
c4b63ada55 Update events tables renderer 2020-05-14 16:09:29 -04:00
Sajith Sasidharan
c14c437152 Make DownloadStatusPage a MultiFormatResource 2020-05-14 10:21:19 -04:00
Sajith Sasidharan
8a632b6668 Use twisted tags in download status page template 2020-05-14 10:14:52 -04:00
Sajith Sasidharan
a203f9c8d8 Reformat download status page template 2020-05-14 10:14:52 -04:00
Sajith Sasidharan
538503c0f8
Merge pull request #717 from sajith/3289.status-publish-nevow-to-twisted-web
Replace nevow with twisted.web.template in status.PublishStatusPage

Fixes: ticket:3289
2020-05-14 10:09:57 -04:00
Sajith Sasidharan
78c214b7ff
Merge pull request #716 from sajith/3290.status-retrieve-nevow-to-twisted-web
Replace nevow with twisted.web.template in status.RetrieveStatusPage

Fixes: ticket:3290
2020-05-13 19:39:23 -04:00
Sajith Sasidharan
79a44eac33 Correct docstring to ":param <type> <name>" format 2020-05-13 19:29:41 -04:00
Sajith Sasidharan
9d5d338993 Correct docstring to ":param <type> <name>" format 2020-05-13 19:04:10 -04:00
Sajith Sasidharan
d87dfaf5a0
Merge pull request #714 from sajith/3291.status-mapupdate-nevow-to-twisted-web
Replace nevow with twisted.web.template in status.MapupdatePage

Fixes: ticket:3291
2020-05-13 18:22:16 -04:00
Sajith Sasidharan
ebe80221d5 Add missing "param:" to init method docstring 2020-05-13 17:45:08 -04:00
Sajith Sasidharan
2e0e210c14 Make PublishStatusPage comment a docstring 2020-05-13 17:43:55 -04:00
Sajith Sasidharan
5aa0dd4085 Rename a variable for readability
Noticed in code review: `l` can be confused with `1` for many
typefaces.
2020-05-13 17:12:08 -04:00
Sajith Sasidharan
812f03934a Add missing "param:" to docstring 2020-05-13 17:09:53 -04:00
Sajith Sasidharan
4af2e4b4df Drop an unbalanced quote 2020-05-13 17:08:26 -04:00
Sajith Sasidharan
62760c0997 Make RetrieveStatusPage comment a docstring 2020-05-13 17:07:09 -04:00
Sajith Sasidharan
8e17d203cf Add missing "param:" to docstring 2020-05-13 16:59:52 -04:00
Sajith Sasidharan
c18488872c Make comment on MapupdateStatusPage a docstring 2020-05-13 16:54:39 -04:00
Sajith Sasidharan
3fad9a127c Remove web.common.RenderMixin
Fixes: ticket:3308
2020-05-12 07:40:22 -04:00
Sajith Sasidharan
0ae045ea16 Add comments to PublishStatusPage 2020-05-11 12:47:48 -04:00
Sajith Sasidharan
9e200fc014 Render publish problems only when there are problems 2020-05-11 11:43:04 -04:00
Sajith Sasidharan
0fba615afb Remove RateAndTimeMixin from PublishStatusPage 2020-05-11 11:43:04 -04:00
Sajith Sasidharan
fdf6449ba8 Use MultiFormatResource to implement PublishStatusPage 2020-05-11 11:43:04 -04:00
Sajith Sasidharan
89c4210090 Use twisted tags in publish status template page 2020-05-11 11:43:01 -04:00
Sajith Sasidharan
65cd0e8ecd Reformat publish status template page 2020-05-11 10:38:15 -04:00
Sajith Sasidharan
3aaa87d2ba Add notes to RetrieveStatusPage 2020-05-07 13:15:05 -04:00
Sajith Sasidharan
07f14a19f8 Drop RateAndTimeMixin from RetrieveStatusElement 2020-05-07 11:37:21 -04:00
Sajith Sasidharan
a544e8a55f Stringify tag parameters 2020-05-07 10:55:08 -04:00
Sajith Sasidharan
de41302743 Update RetrieveStatusPage to use twisted renderers 2020-05-07 09:34:42 -04:00
Sajith Sasidharan
5fa7c4c446 Update markup in retrieve status template page 2020-05-07 09:32:01 -04:00
Sajith Sasidharan
d2375e4fe2 Reformat retrieve status page template 2020-05-06 22:42:32 -04:00
Sajith Sasidharan
13bbda1529 Render privkey only when there's a privkey 2020-05-06 13:21:26 -04:00
Sajith Sasidharan
008812d6c8 Render abbreviated time in map update results 2020-05-06 13:11:53 -04:00
Sajith Sasidharan
0c6889274d Render problems only when there's a problem list 2020-05-06 13:10:31 -04:00
Sajith Sasidharan
bbbca6c000 Drop a newline
Party for consistency, partly in order to trigger a CircleCI run.
2020-05-06 10:41:58 -04:00
Sajith Sasidharan
8a71567137 Avoid use of RateAndTimeMixin in MapupdateStatusPage 2020-05-06 09:29:57 -04:00
Sajith Sasidharan
86871363ea Add notes to MapupdateStatusPage 2020-05-06 09:06:56 -04:00
Sajith Sasidharan
1602c66250 Render map update status using twisted.web.template
Fixes: ticket:3291
2020-05-06 09:06:56 -04:00
Sajith Sasidharan
3b0ace1710
Merge pull request #708 from sajith/3293.status-helper-nevow-to-twisted-web
Render helper status page using twisted.web.template

Fixes: ticket:3293
2020-05-05 16:00:24 -04:00
Sajith Sasidharan
ccffd78ac4 Add a comma, for consistency's sake 2020-05-05 09:27:09 -04:00
Sajith Sasidharan
f5dacf9547 Drop a comma introduced by mistake 2020-05-05 09:27:09 -04:00
Sajith Sasidharan
96c8c5e953 Link to storage server the way it used to be 2020-05-05 07:43:39 -04:00
Sajith Sasidharan
7d063995f5 Update copyright years 2020-05-04 15:35:21 -04:00
Sajith Sasidharan
4ebd6250e3 Document root.Root 2020-05-04 14:20:05 -04:00
Sajith Sasidharan
96449bb99b Ensure lists before conversion to dict 2020-05-04 14:05:33 -04:00
Sajith Sasidharan
bf0f8a736a Remove unused imports 2020-05-04 11:48:41 -04:00
Sajith Sasidharan
df9b160a3c Mark describe server method as static 2020-05-01 17:42:46 -04:00
Sajith Sasidharan
80a26e26b1 Refactor methods that describe server/connection 2020-05-01 17:41:51 -04:00
Sajith Sasidharan
7b4d81fe28 Rename root.Root variables 2020-05-01 17:38:24 -04:00
Sajith Sasidharan
ade7f613b8 Remove unused renderer 2020-05-01 17:07:08 -04:00
Sajith Sasidharan
df188c75df Wrap footer elements in tags 2020-05-01 16:50:30 -04:00
Sajith Sasidharan
029c99a241 Render introducers table using SlotsSequenceElement 2020-05-01 16:45:34 -04:00
Sajith Sasidharan
1ddf07d59d Render services table using SlotsSequenceElement 2020-05-01 16:45:04 -04:00
Sajith Sasidharan
0d8eda5e76 Rearrange imports 2020-05-01 16:07:30 -04:00
Sajith Sasidharan
053e614221 Import resource_filename from setuptools
Drop the nevow one
2020-05-01 16:07:21 -04:00
Sajith Sasidharan
e9796eb308 Match against root path first 2020-04-30 18:49:05 -04:00
Sajith Sasidharan
cfe4b2925e Remove an unused method and imports 2020-04-30 18:48:06 -04:00
Sajith Sasidharan
cce6f83054 Remove unused renderers 2020-04-30 18:47:13 -04:00
Sajith Sasidharan
80ba700247 Correct usage of fillSlots 2020-04-29 12:18:39 -04:00
Sajith Sasidharan
a885f14c43 Pass now_fn to RootElement 2020-04-28 11:47:18 -04:00
Sajith Sasidharan
8ce1512501 Render import path 2020-04-28 07:57:15 -04:00
Sajith Sasidharan
32e0c779b6 Add version renderer 2020-04-28 07:56:27 -04:00
Sajith Sasidharan
d064f6b2b7 Add "rendered at" renderer 2020-04-28 07:55:10 -04:00
Sajith Sasidharan
ed6970b168 Correct fill slots usage in connection status 2020-04-28 07:52:57 -04:00
Sajith Sasidharan
5d84a25f21 Add introducers row renderer 2020-04-28 07:50:03 -04:00
Sajith Sasidharan
5155befedc Rewrite total introducers 2020-04-28 07:48:28 -04:00
Sajith Sasidharan
44f16e77cf Add introducers renderer 2020-04-28 07:47:36 -04:00
Sajith Sasidharan
7ba4b945a4 Use introducers renderer method in root template 2020-04-28 07:43:41 -04:00
Sajith Sasidharan
8d4949f96b Render total introducers correctly 2020-04-28 07:42:57 -04:00
Sajith Sasidharan
a646c7decd Fix typo 2020-04-28 07:42:07 -04:00
Sajith Sasidharan
89980a039c Render total introducers 2020-04-28 07:41:29 -04:00
Sajith Sasidharan
2f53b2a67d Add connected introducers renderer 2020-04-28 07:17:22 -04:00
Sajith Sasidharan
164218cf57 Update service table renderer 2020-04-28 07:14:35 -04:00
Sajith Sasidharan
907e8ccf6b Use services renderer method in root template 2020-04-28 07:13:41 -04:00
Sajith Sasidharan
75d41843d7 Use transparent nodes 2020-04-28 04:59:46 -04:00
Sajith Sasidharan
3c4056a947 Replace nevow.static.File with twisted.web.static.File 2020-04-28 04:47:48 -04:00
Sajith Sasidharan
dcea7ea476 Render connected/known storage server status 2020-04-27 17:22:27 -04:00
Sajith Sasidharan
1713076a9d Render services 2020-04-27 17:19:19 -04:00
Sajith Sasidharan
39d616a971 Render helper furl prefix 2020-04-27 17:11:36 -04:00
Sajith Sasidharan
8b4c7296d7 Move helper state to a separate function 2020-04-27 17:07:09 -04:00
Sajith Sasidharan
332bd75fcc Render helper description 2020-04-27 17:03:52 -04:00
Sajith Sasidharan
622d156278 Render "connected to helpers" status 2020-04-27 17:01:37 -04:00
Sajith Sasidharan
a4f86181f9 Render introducer description 2020-04-27 16:55:10 -04:00
Sajith Sasidharan
c86d4341c8 Render "connected to introducers" status 2020-04-27 16:52:54 -04:00
Sajith Sasidharan
65b6daf990 Rewrite incident button using twisted tags 2020-04-27 16:44:06 -04:00
Sajith Sasidharan
110528f569 Handle path "/" when rendering root path 2020-04-27 16:44:06 -04:00
Sajith Sasidharan
f34cdb81ad Create RootElement 2020-04-27 16:44:06 -04:00
Sajith Sasidharan
1c17bb0674 Rewrite welcome page for twisted.web.template 2020-04-27 16:24:50 -04:00
Sajith Sasidharan
e2c6d288bf
Merge pull request #699 from sajith/3294.incident-reporter-to-nevow
Remove nevow from allmydata.web.root.IncidentReporter
2020-04-27 10:12:27 -04:00
Sajith Sasidharan
f02501eadf Update comment on HelperStatus 2020-04-24 10:08:45 -04:00
meejah
c385e958a8 Merge branch 'master' into ticket3252-port-web-directory.remaining.1 2020-04-23 12:24:00 -06:00
Sajith Sasidharan
18d5d3fc49 Wrap rendered nodes in tags 2020-04-22 18:23:43 -04:00
Sajith Sasidharan
65315c4ed0 Render a message when helper isn't running 2020-04-22 17:16:33 -04:00
Sajith Sasidharan
6661b52c33 Reformat helper.xhtml 2020-04-22 17:06:59 -04:00
Sajith Sasidharan
aafe89805d Document helper stats data format 2020-04-22 17:06:39 -04:00
Sajith Sasidharan
4bc7535d02 Derive HelperStatus from MultiFormatResource 2020-04-22 16:54:11 -04:00
Sajith Sasidharan
d844a8f89f Use twisted transparent tag to render data
This way the test suite will be happy, and we won't have extraneous
`<div>` tags in the rendered page.
2020-04-21 11:53:48 -04:00
Sajith Sasidharan
a0eb00b2cc Wrap renderer return values in tags 2020-04-21 11:53:48 -04:00
Sajith Sasidharan
1e3ba25cc3 Add some documentation to Statistics page 2020-04-21 11:53:48 -04:00
Sajith Sasidharan
652b3f5bc0 Use twisted.web.template to render Statistics page 2020-04-21 11:53:48 -04:00
meejah
f8a78c996a URL -> DecodedURL 2020-04-18 02:27:32 -06:00
meejah
73d0151e1b typo 2020-04-18 01:52:31 -06:00
meejah
018e161f19 don't allow trailing slashes
This makes /uri/xxx URIs invalid if they have a trailing slash.
It seems that the former Nevow implementation would allow this, and
some tests (and, notable, "tahoe backup") did rely on using URIs
of this style.
2020-04-18 01:52:18 -06:00
meejah
882c63dab9 methods shouldn't be named like classes 2020-04-18 01:52:18 -06:00
meejah
0acf0d2a7e no addslash here 2020-04-18 01:52:18 -06:00
meejah
bc2f5f8e88 functions shouldn't be named like classes 2020-04-18 01:52:18 -06:00
meejah
6ea6abdb1f no .format yet 2020-04-18 01:52:18 -06:00
meejah
fc4aec7b77 remove comment 2020-04-18 01:52:18 -06:00
meejah
2e9463bd08 compute 'is this a terminal request' differently 2020-04-18 01:52:18 -06:00
meejah
b0c138f7c0 remove empty segments instead of making multiple URI's valid 2020-04-18 01:52:18 -06:00
meejah
8c47b8e2a1 don't need object 2020-04-18 01:52:18 -06:00
meejah
088fcff442 better formatting 2020-04-18 01:52:18 -06:00
meejah
c6f4f0b7d5 betterize comment 2020-04-18 01:52:18 -06:00
meejah
8db16ff8e3 old-style class 2020-04-18 01:52:18 -06:00
meejah
b64f90bcd4 simplify 2020-04-18 01:52:18 -06:00
meejah
95e5029c34 more comment 2020-04-18 01:52:18 -06:00
meejah
d425baed89 remove irrelevant comment 2020-04-18 01:52:18 -06:00
meejah
3c332fec2a empty-string, not None 2020-04-18 01:52:18 -06:00
meejah
733b7932ce clarify further; remove unused user of RenderMixin 2020-04-18 01:52:18 -06:00
meejah
ace99a1724 add clarifying comment 2020-04-18 01:52:18 -06:00
meejah
f9e3fdfaee use % instead of format 2020-04-18 01:52:18 -06:00
meejah
355c78f0d4 irrelevant comment 2020-04-18 01:52:18 -06:00
meejah
98d8c52916 comment 2020-04-18 01:52:18 -06:00
meejah
db7939f766 irrelevant comment 2020-04-18 01:52:18 -06:00
meejah
b81589ca22 irrelevant comment 2020-04-18 01:52:18 -06:00
meejah
965fadb0df irrelevant comment 2020-04-18 01:52:18 -06:00
meejah
956d67b9b8 irrelevant comment 2020-04-18 01:52:17 -06:00
meejah
65ec212779 unused imports 2020-04-18 01:52:17 -06:00
meejah
757bcc5309 cleanup 2020-04-18 01:52:17 -06:00
meejah
203066e8fd better error-code 2020-04-18 01:52:17 -06:00
meejah
9732955eba spelling 2020-04-18 01:52:17 -06:00
meejah
74ce166463 use twisted-web APIs, not nevow 2020-04-18 01:52:17 -06:00
meejah
6415873f0b undo change 2020-04-18 01:52:17 -06:00
meejah
bc04c9b3db detech empty pathname components, hopefully the same way as Nevow 2020-04-18 01:52:17 -06:00
meejah
83a70bb6f3 some fixes 2020-04-18 01:52:17 -06:00
meejah
8268f764aa quote output, render GET 2020-04-18 01:52:17 -06:00
meejah
45bfe743d4 improve comment wording 2020-04-18 01:52:17 -06:00
meejah
c4f49bb377 children must be None on error 2020-04-18 01:52:17 -06:00
meejah
98005bab1f addSlash isn't a thing in twisted.web 2020-04-18 01:52:17 -06:00
meejah
a29f1bec9d doubly-quoted 2020-04-18 01:52:17 -06:00
meejah
effaa6500c filename goes in the dict 2020-04-18 01:52:17 -06:00
meejah
19baba226a Resource needs to be new-style 2020-04-18 01:52:17 -06:00
meejah
dc4669b5e7 fix name decoding 2020-04-18 01:52:17 -06:00
meejah
66f392f7d0 remove debug 2020-04-18 01:52:17 -06:00
meejah
410f0133ab correctly register top-level directory node page 2020-04-18 01:52:17 -06:00
meejah
921926239a Revert "fix getchild for directory"
This reverts commit 8f00f4d4ab2e7edd0ad60a6144e858ece4a4be1f.
2020-04-18 01:52:17 -06:00
meejah
b4d9bfea15 fix deep-stats results 2020-04-18 01:52:17 -06:00
meejah
7a36bdc523 delete 'move to different dir' because it also doesn't work on trunk 2020-04-18 01:52:17 -06:00
meejah
e2304326fd fix rename-form 2020-04-18 01:52:17 -06:00
meejah
d12078abe2 fix form 2020-04-18 01:52:17 -06:00
meejah
8b7e1c30ab remove debug 2020-04-18 01:52:17 -06:00
meejah
d381d3e92b better style 2020-04-18 01:52:17 -06:00
meejah
f4c8eb5e2f not required 2020-04-18 01:52:17 -06:00
meejah
71c97369f0 fix getchild for directory 2020-04-18 01:52:17 -06:00
meejah
8f32936c7a /file works 2020-04-18 01:52:17 -06:00
meejah
c2ff7e260b more ctx -> req 2020-04-18 01:52:17 -06:00
meejah
79c3f919ba cleanup 2020-04-18 01:52:17 -06:00
meejah
b51f144f87 another thing works 2020-04-18 01:52:17 -06:00
meejah
66c0c71a0d a thing works 2020-04-18 01:52:17 -06:00
meejah
ace73a9215 whitespace 2020-04-18 01:52:17 -06:00
meejah
9e0e25cbed WIP FIXME porting directory, need child_ refactor thing 2020-04-18 01:52:17 -06:00
meejah
fd4d2709a5 search-replace "n:" -> "t:" 2020-04-18 01:52:17 -06:00
Sajith Sasidharan
15131a9f71 Handle just POST requests in IncidentReporter 2020-04-17 15:44:39 -04:00
Sajith Sasidharan
a14cee5cce Remove nevow from allmydata.web.root.IncidentReporter
This change calls for an explanation:

- `RenderMixin` doesn't seem to be adding anything here, so it is
   gone.

- The web browser was unhappy without a charset in the response
  (Firefox 74 was anyway), so `content-type` header also gets a
  `charset=UTF-8`.

- Returning a Unicode string made nevow appserver unhappy, so it is
  just a `str`.  The precise error message was:

  exceptions.TypeError: ('Could not adapt', u'An incident report has been saved to logs/incidents/ in the node directory.', <InterfaceClass nevow.inevow.IResource>)

Fixes: ticket:3294
2020-04-17 15:44:39 -04:00
Sajith Sasidharan
3e7dea7dda Wrap renderer results in tags 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
9c7357bc61 Remove an extraneous directive
`t:data` is not really a Twisted template directive.  Added my
mistake, removing now.
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
bae32179bf Remove StorageStatus.renderHTTP
This was added to please the test suite. Pleased to remove it!
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
554c477cea Prefix member variable with "_" 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
6c3256517a Use slots to render storage stats table 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
0cbe2871fd Give the suite the precise string it wants 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
7625d959bc Use <t:transparent> to render node nickname and id
CI did not like the old way, but it passed in my system.  Odd.
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
36a486426e Mark format_recovered as static method 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
0382b1ec63 Use Unicode strings to render space 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
aab940f65f Remove redundant None-checks on self.storage
When no storage is up, `storage_running()` renderer will return a big
honking `no storage server running` message, and no further renderers
will be invoked.  Therefore the extra defense is probably not
required.

(I tested this hypothesis.  The extra defense is not required, unless
there's something I have not seen.)
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
e2fc1fc07e Move renderSynchronously to test suite 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
7a053ddeff Use explicit None-check on self.storage 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
9b51bdf7fa Return result from renderHTTP
Bogus renderHTTP, but test failures are now down to three. We just
need to handle requests for JSON now.
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
6e9a4e30d7 Add a docstring 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
f22417e51b Rename function for clarity 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
227d06fe64 Add docstrings to StorageStatusElement 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
b1c78244ab Use parentheses in import statement 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
2df2ae92d5 Fix test_storage.WebStatus.test_no_server failure 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
b14f36082c Use <t:transparent /> within table cells 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
d46df30bd0 Use render_space methods to render space 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
0993e61046 Drop unused ctx argument from render_space methods 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
c7a63f957d Refactor so that test_util pass 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
c88c97aad5 Use right syntax for twisted.web.template tags 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
4e81a3a0a2 Check storage server status before using it 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
c019c7e955 Second version of renderSynchronously 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
d3790a4d42 Add missing flattenString import 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
b29652e0f0 Add StorageStatus::renderSynchronously
Related to ticket:3247

test_storage.py wants a `StorageStatus::renderSynchronously()` method
and a `StorageStatus::renderHTTP()` method.  Let us begin with the
goofy first-cut.

Both these methods are not only wrong, but they will also not please
the test suite.  However error messages produced in CI can be shared,
and that way I can hopefully get unstuck.
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
d142ccb159 Use twisted.web.template in web/storage.py
Related to ticket:3247.  Nevow usage has been removed, and generated
page looks the same as its former self, but tests are failing because
test_storage.py assumes that we're using nevow.
2020-04-17 15:25:42 -04:00
Jean-Paul Calderone
ef73e18f3d
Remove the greater part of the implementation 2020-02-13 10:43:50 -05:00
meejah
67bd9c0b2f refactor capability-checks 2019-12-21 16:01:23 -07:00
meejah
a21e31aed8 irrelevant comment/assignment 2019-12-21 03:57:00 -07:00
meejah
bffc2f9f2c already new-style, better docstring 2019-12-21 03:57:00 -07:00
meejah
14a39821be use hyperlink, better unicode 2019-12-21 03:57:00 -07:00
meejah
8f5e9089ca timedelta, not int 2019-12-21 03:57:00 -07:00
meejah
7ccfe44be6 port manifest to twisted.web.template 2019-12-21 03:56:13 -07:00
meejah
4a73f8055c imports whitespace 2019-12-21 03:56:13 -07:00
Jean-Paul Calderone
1fef619819 Add a test for persistent state and make it pass 2019-11-19 12:56:38 -05:00
Jean-Paul Calderone
c80c753e5d Late bind storage so init_storage can run after init_web 2019-11-08 14:12:38 -05:00
Jean-Paul Calderone
c2257685c2 Merge remote-tracking branch 'origin/master' into integration/storage-economics 2019-11-08 10:42:26 -05:00
Jean-Paul Calderone
8c1f536ba4 Merge remote-tracking branch 'origin/master' into integration/storage-economics 2019-10-04 12:02:00 -04:00
meejah
2b4b8e11ce urls are bytes in Twisted 2019-09-27 12:41:14 -06:00
meejah
4a226c7633 use Twisted API, and some hypothesis tests 2019-09-27 11:51:03 -06:00
meejah
dc19e7379e validate capability before doing anything 2019-09-27 11:51:03 -06:00
meejah
488e40ce86 unused import 2019-09-27 11:51:03 -06:00
meejah
da882df23b comment 2019-09-27 11:51:03 -06:00
meejah
a7c8407127 use hyperlink.URL instead of custom code 2019-09-27 11:51:03 -06:00
meejah
24faca46a9 more-correct URI 2019-09-27 11:51:03 -06:00
meejah
c507971e62 unused import 2019-09-27 11:51:03 -06:00
meejah
6195b2680b fix up ctx/req and add docstrings 2019-09-27 11:51:03 -06:00
meejah
2897b5767e do the weird redirect thing properly 2019-09-27 11:51:03 -06:00
meejah
0f6fc706ed port URIHandler to twisted.web 2019-09-27 11:51:03 -06:00
hab
029695399a
Merge pull request #652 from habnabit/move-to-twt--info
Port allmydata.web.info to twisted.web.template
2019-09-17 12:22:22 +01:00
meejah
9050fdcea6 explicitly save refs to webish and operations (instead of using Service methods) 2019-08-24 12:31:08 -06:00
meejah
168bf33e1c remove comment 2019-08-20 00:18:14 -06:00
meejah
0a5aa61a70 must be new-style class (and I guess Resource isn't?) 2019-08-20 00:18:14 -06:00
meejah
ec70fa7090 fail gracefully on invalid URLs 2019-08-20 00:17:28 -06:00
meejah
a307adb7f5 there's no download timeline anymore 2019-08-20 00:17:28 -06:00
meejah
ba9a4e590b remove debug 2019-08-20 00:17:28 -06:00
meejah
baa773588e comment 2019-08-20 00:17:28 -06:00
meejah
3f8954be08 refactor download status to get rid of a 'def child_' 2019-08-20 00:17:28 -06:00
meejah
569454b1a3 get rid of child_operations from root 2019-08-20 00:17:28 -06:00
meejah
385df39981 get rid of .remember() / IOpHandleTable 2019-08-20 00:17:28 -06:00
meejah
217e32e385 make '/operations' work again 2019-08-20 00:17:28 -06:00
meejah
9e999d0c68 work around lack of getChild in nevow.rend.Page 2019-08-20 00:17:28 -06:00
meejah
d873a041bf remove some child_ usage 2019-08-20 00:17:28 -06:00
meejah
48cb51097f keep using Page 2019-08-20 00:17:28 -06:00
meejah
5cdf5a667a more hacky test 2019-08-20 00:17:28 -06:00
meejah
3a2182309d whitespace 2019-08-20 00:17:28 -06:00
hab
77e6803f3c Add some docstrings. 2019-08-19 19:57:45 +01:00
hab
a01c375327 Port info.xhtml to twt. 2019-08-19 19:57:45 +01:00
Jean-Paul Calderone
4053b6c56f make it new-style 2019-08-19 11:26:32 -04:00
Jean-Paul Calderone
21bf7fc25c Merge remote-tracking branch 'origin/master' into integration/storage-economics 2019-08-16 15:39:31 -04:00
hab
a5dfcd0d8c Add another docstring. 2019-08-16 17:49:39 +01:00
hab
e670bb5d3b Add more docstrings; add a test hook.
In place of nevow's renderSynchronously, I think it'll be good enough
to return the Element directly so it can be flattened. It still gets
flattened with a None request, which might need to change.
2019-08-16 17:43:31 +01:00
hab
e2c2c30574 Add more docstrings. 2019-08-16 17:36:48 +01:00
hab
4e6ff4c7c7 Style fixups; be explicit about literals. 2019-08-16 16:59:15 +01:00
hab
46cc5ab8ed Remove unused imports. 2019-08-14 20:35:15 +01:00
hab
258dde98ed Correct the documentation for these new classes.
The old documentation was copy-pasted or didn't exist.

Also, I forgot that tag() doesn't copy a tag, even if as written this
_did_ work for my purposes.
2019-08-14 20:25:06 +01:00
hab
8ce18541c6 Tidy up introweb.
Fix imports; make all parameter names the same; use " for string
literals.
2019-08-14 20:24:35 +01:00
hab
b6d9d58449 Remove all nevow from introweb.
These were the last references to it, and I think it's still working
fine without. I'm not _entirely_ positive but I think t.w.Static's
File has caught up to the features that were added to nevow's File.
2019-08-14 19:05:37 +01:00
hab
be735208a3 Kludge JSON/multi-format support back in.
I need to fix these docstrings but this is the right idea at
least. Maybe MultiFormatResource could use a name less easily confused
with its predecessor MultiFormatPage.
2019-08-14 19:05:37 +01:00
hab
4e8e35a7d6 Sequence headers are always shown.
I wasn't sure if that was the case, but I've checked nevow now.
2019-08-14 19:05:37 +01:00
hab
c96de2c4ed Remove unused methods. 2019-08-14 19:05:36 +01:00
hab
ae1f41af98 Preliminary port of introweb to t.w.template.
It doesn't do JSON yet, so this is more of a proof of a concept than
anything usable yet.
2019-08-14 19:05:36 +01:00
Jean-Paul Calderone
3d2d61f853 Merge remote-tracking branch 'origin/master' into 3239.python2-new-style-regression-test 2019-08-13 18:27:23 -04:00
Jean-Paul Calderone
b7e3633056 Fix a lot of classic classes in Tahoe-LAFS 2019-08-13 16:55:40 -04:00
Jean-Paul Calderone
13409a2449 Move the remaining package checking machinery to its own module. 2019-08-13 15:11:01 -04:00
Jean-Paul Calderone
d69de15664 implement the feature
improve the test slightly, too, to verify the configuration supplied to the
plugin is as expected.
2019-08-03 06:39:31 -04:00
meejah
f9d1c4b06d delete ancient jquery, d3 and the thing that depends on them 2019-07-15 19:40:31 -06:00
heartsucker
9e31bfe2f4 update code/test to use new ed25512 module 2019-06-13 22:19:28 -06:00
tpltnt
c8f11dc2d3 ported old-style classes to new-style 2019-05-26 08:28:18 +02:00
heartsucker
be910fe269
updated syntax in directory.py to make whole allmydata.web python3 compatible 2019-03-28 12:32:13 +01:00
Jean-Paul Calderone
a26b9ca8af workaround https://github.com/crossbario/autobahn-python/issues/1151 2019-03-25 12:01:36 -04:00
Jean-Paul Calderone
336e69c270 Hotfix for nevow#106 2019-03-24 11:26:58 -04:00
Jean-Paul Calderone
febfa50a83 make sure we get bytes here 2019-03-22 16:42:50 -04:00
Jean-Paul Calderone
794314668a this is not unicode, it came from a file, I guess 2019-03-22 15:50:58 -04:00
Jean-Paul Calderone
9de97dbdd5 Use guard and add some tests (integration failing) 2019-03-22 13:47:32 -04:00
Jean-Paul Calderone
58deb54cfc import cleanups 2019-03-21 15:01:25 -04:00
Jean-Paul Calderone
d00c4212a8 futurize 2019-03-21 15:01:14 -04:00
Jean-Paul Calderone
5f4f8d9dbb Create the /private hierarchy 2019-03-21 15:00:57 -04:00
Jean-Paul Calderone
2877c9b3c1 unused import 2019-03-21 15:00:19 -04:00
Jean-Paul Calderone
e02962c3a3 Remove one more webport thingy 2019-03-21 14:39:52 -04:00
Jean-Paul Calderone
edf01d7817 don't compute the url, it doesn't seem to be necessary 2019-03-21 13:58:46 -04:00
meejah
956a39a6c1 clarify 2019-03-21 02:01:33 -06:00
meejah
dbea69c2d2 refactor 2019-03-21 01:52:45 -06:00
meejah
816ceb12cb make more things work 2019-03-21 01:37:47 -06:00
meejah
b734c893df prototype token-authenticated WebSocket stream 2019-03-20 18:14:47 -06:00
Jean-Paul Calderone
e36c850da4 == instead of is for string comparison 2019-01-24 09:53:02 -05:00
Jean-Paul Calderone
20084506b3 Handle all the status cases 2018-05-23 13:59:42 -04:00
Jean-Paul Calderone
b6d33c92ff Remove disabled ad hoc debug logging 2018-04-26 15:26:17 -04:00
meejah
0ebb587666 report download sizes in magic-folder status 2018-03-20 11:40:49 -06:00
meejah
42766da553 add a 'size' to pending uploads 2018-03-20 11:40:49 -06:00
tpltnt
95acd57fdd removed exact version info from header 2018-01-04 22:29:57 +01:00
tpltnt
48b442f8c1 mentioned ctx 2018-01-04 22:29:57 +01:00
tpltnt
6d4f4f4a65 adjusted doc string 2018-01-04 22:29:57 +01:00
tpltnt
68b1271190 added docstring 2018-01-04 22:29:57 +01:00
tpltnt
005bcf5012 added code as described in ticket 1307 2018-01-04 22:29:57 +01:00
Brian Warner
da4e7dcfbe hush a bunch of not-really-problems caught by the lgtm.com static analyzer
This is all minor stuff: unreachable debug code (that should be commented-out
instead of in an 'if False:' block), unnecessary 'pass' and 'global'
statements, redundantly-initialized variables. No behavior changes. Nothing
here was actually broken, it just looked suspicious to the static analysis at
https://lgtm.com/projects/g/tahoe-lafs/tahoe-lafs/alerts/?mode=list .
2017-12-31 00:19:41 +01:00
meejah
672475cb2b Multiple magic-folders
This moves all magic-folder configs to a single YAML
file. We load legacy config fine and don't mess with
legacy config unless you use a magic-folder command that
changes the config.

Increase test coverage
2017-12-05 10:34:48 -07:00
Jean-Paul Calderone
e32f581d07 Get rid of the reliance on rref
It provides information more correctly obtained from
get_connection_status().
2017-07-27 16:31:41 -04:00
Jean-Paul Calderone
1f16a173f0 flatten the result structure
flat is better than nested
2017-07-27 15:32:47 -04:00
Jean-Paul Calderone
7027547ecc fix buggy test; restructure data
scared about duplicate nodeids in the data getting lost, switch to a list
2017-07-27 15:26:30 -04:00
Jean-Paul Calderone
754304e4d5 Switch Root over to MultiFormatPage 2017-07-27 15:26:30 -04:00
Jean-Paul Calderone
f518c2a521 Switch over to stdlib json 2017-07-27 15:26:30 -04:00
David Stainton
16e56611f3 web: set json welcome content type to json utf8 2017-07-27 15:26:29 -04:00
David Stainton
876a7b6602 Fix indention 2017-07-27 15:26:29 -04:00
David Stainton
ad66caeaff Make sure server.rref is not None 2017-07-27 15:26:29 -04:00
David Stainton
180975b0af Make sure version is not None 2017-07-27 15:26:29 -04:00
David Stainton
b2d4374976 Add more server info to welcome json page 2017-07-27 15:26:29 -04:00
David Stainton
32110bfc68 Add storage and introducer summaries to json welcome output 2017-07-27 15:26:29 -04:00
David Stainton
822ed78b13 Add rough sketch of json welcome page 2017-07-27 15:26:29 -04:00
Jean-Paul Calderone
1e885fa40b Convert storage.py over to MultiFormatPage 2017-07-27 13:57:02 -04:00
Jean-Paul Calderone
6e4c4b7abc Convert status.py over to MultiFormatPage 2017-07-27 13:57:02 -04:00
Jean-Paul Calderone
5a30bd6169 Convert introweb.py over to MultiFormatPage 2017-07-27 13:57:02 -04:00
Jean-Paul Calderone
0581ce7270 Convert directory.py over to MultiFormatPage 2017-07-27 13:57:02 -04:00
Jean-Paul Calderone
7c8c63a01f a helper for the ?t=json resources 2017-07-27 13:57:02 -04:00
meejah
4f1dd95963 Add a 'tahoe status' command
This required also fixing the JSON output from
the "recent and active operations" page.
2017-04-04 12:48:41 -06:00
Brian Warner
2ceea6df0d Merge PR406: use @implementer instead of implements
This also updates several classes to be new-style (inheriting from 'object').
2017-03-23 19:25:56 -07:00
Brian Warner
0abcbe3339 update some comments where plain cut+paste was confusing 2017-03-23 19:19:00 -07:00
meejah
49ae2c5eb7 use @implementer instead of implements
Also, derive some more things from 'object'
2017-02-27 11:01:30 -07:00
meejah
031a88c25f simplejson -> json 2017-02-23 15:21:36 -07:00
Stefan Lew
12844220ec use rel="noreferrer" to prevent leakage of dircap 2016-12-23 23:20:52 -05:00
Brian Warner
5cbe580d90 improve ConnectionStatus and welcome-page display
* replace "last_details" with "non_connected_statuses" dict
* rename "last_connection_summary" to just "summary"
* for connected servers, show other hints in a tooltip
* for not-yet-connected servers, show all hints in a list
* build the list (in STAN) on the server side, not using IContainer
2016-12-09 18:41:38 -08:00
meejah
74209e643e Show the connection-status of all hints until we're connected to one 2016-12-09 18:41:38 -08:00
Brian Warner
70a616826c welcome.xhtml: update copyright year
Not sure why we have this in there, but it might as well be current.
2016-12-09 11:19:26 -08:00
Brian Warner
77fd41b66e update WUI welcome page with new connection-status info
This shows current-connection info, and provides per-hint status details in a
tooltip.

The "Connection" section no longer shows seconds-since-loss when the server
was not connected (previously it showed seconds-since-connect when connected,
and flipped to seconds-since-loss when disconnected). We already have the
"Last RX" column, which is arguably more meaningful (and I can't think of a
good case when these would differ), so we don't really need
seconds-since-loss, and the new ConnectionStatus doesn't track it anyways.

So now the "Connection" timestamp for non-connected servers is just
"N/A" (both the main text and the tooltip). The "Introducers" section was
changed the same way.

This moves the per-server connection timestamp out of the nickname/serverid
box and over into the Connection box. It also right-floats all timestamps,
regardless of which box they're in, which makes them share the box with
connection_status more politely.

Internally, this adds code to create ConnectionStatus objects when necessary.
2016-12-08 16:24:32 -08:00
David Stainton
4f717ba808 Add a multi-introducer implementation
this is based the previous work of warner, killyourtv and leif
 fixes ticket #68
2016-09-13 00:15:52 +00:00
Brian Warner
ed91398a3f WUI: disable google timing chart on mapupdate page
The google image chart API has been deprecated since 2012, sending the
URL to google leaks server IDs and the client's IP address (especially
important when the client is otherwise behind Tor), and the X-axis has
no units anyways.

refs ticket:1942 , which is both about removing the URL-based chart, and
eventually replacing it with a browser-rendered d3.js-based one
2016-09-02 16:30:21 -07:00