Commit Graph

129 Commits

Author SHA1 Message Date
robk-tahoe
9ed5533760 added tweaked sibpath implementation
use of twisted.python.util.sibpath to find files relative to modules doesn't
work when those modules are bundled into a library by py2exe.  this provides
an alternative implementation (in allmydata.util.sibpath) which checks for
the existence of the file, and if it is not found, attempts to find it relative
to sys.executable instead.
2008-01-10 15:23:41 -07:00
robk-tahoe
3a7c688270 fix webish unit tests by making node.url file optional 2008-01-08 12:36:14 -07:00
robk-tahoe
08c3ee73a2 reinstate creation of node.url files upon startup
a recent purge of the start.html code also took away the logic that wrote
'node.url' into the node root.  this is required for the tahoe cli tool to 
find the node.  this puts back a limited fraction of that code, so that the
node writes out a node.url file upon startup.
2008-01-07 18:04:56 -07:00
Zooko O'Whielacronx
5995d11a3c remove automatic private dir
* rename my_private_dir.cap to root_dir.cap
 * move it into the private subdir
 * change the cmdline argument "--root-uri=[private]" to "--dir-uri=[root]"
2008-01-03 17:02:05 -07:00
Brian Warner
6b81ebfd8e refactor webish.py slightly, improve the test coverage a bit. One test is marked SKIP pending improvements in webish.py 2007-12-25 03:48:57 -07:00
Brian Warner
0e804da8d9 webish: use get_args() everywhere, put .fields=None in MyRequest 2007-12-25 00:07:04 -07:00
Brian Warner
4ba1af37a6 test_web: more coverage of URIPOSTHandler error cases 2007-12-24 22:49:35 -07:00
Brian Warner
47761bde93 webish: factor out queryargs-or-formargs extraction, make /uri?t=mkdir work and redirect to a valid url 2007-12-24 17:26:52 -07:00
Zooko O'Whielacronx
a85a4d71f7 webish: add button to make directories and unit test of it
Unfortunately although it passes the unit tests, it doesn't work, because the unit tests and the implementation use the "encode params into URL" technique but the button uses the "encode params into request body" technique.
2007-12-20 15:31:12 -07:00
Zooko O'Whielacronx
a4bc623fa5 make the wapi/wui [*] support creation of a new directory without there already being an existing directory to link the new one into
[*] WebAPI/WebUI
2007-12-20 12:58:17 -07:00
Brian Warner
50bc0d2fb3 the new pyflakes is stricter, complaining about function definitions that overshadow earlier definitions or imports. Fix some of its complaints. 2007-12-18 18:47:28 -07:00
Zooko O'Whielacronx
36e8e4e561 do not put a link from the welcoXme page to the start.html if there is not a private directory 2007-12-17 18:35:59 -07:00
Zooko O'Whielacronx
8c65bdcf9d put all private state in $BASEDIR/private
fixes #219

The only part of #219 that this doesn't include is the part about 
logpublisher, which has been moved out of tahoe into foolscap.
2007-12-17 16:39:54 -07:00
Zooko O'Whielacronx
d3f23d4052 we no longer need to replace "/" with "!" in urls 2007-12-14 18:25:50 -07:00
Zooko O'Whielacronx
ae90016845 fix the overwrite button and add unit test for it 2007-12-14 17:52:05 -07:00
Zooko O'Whielacronx
caa69b007e refactor the feature of getting versions of packages, include the version numbers of more of the packages that we use 2007-12-12 19:37:37 -07:00
Brian Warner
74820cc3de webish: append save=true to a GET URL to save-to-disk. Closes #222. 2007-12-11 18:04:44 -07:00
Zooko O'Whielacronx
8ad2e85fdf add POST /uri?t=upload and tests thereof
Hm...  I refactored processing of segments in a way that I marked as "XXX HELP
I AM YUCKY", and then I ran out of time for rerefactoring it before I
committed.  At least all the tests pass.
2007-12-06 17:17:02 -07:00
Brian Warner
51af1fa2e3 webish: fix overwrite form display 2007-12-05 00:15:13 -07:00
Brian Warner
53e865cf49 test_web.py: add coverage for directory listings that include mutable files 2007-12-04 23:57:40 -07:00
Brian Warner
785f21b9bf test_web.py: add coverage for POST t=check 2007-12-04 23:49:38 -07:00
Brian Warner
56e02b274b webish: add POST t=mutable, make it replace files in-place, add t=overwrite 2007-12-04 23:42:54 -07:00
Zooko O'Whielacronx
3605354a95 fix several bugs and warnings -- thanks, pyflakes 2007-12-03 15:42:35 -07:00
Zooko O'Whielacronx
59d6c3c822 decentralized directories: integration and testing
* use new decentralized directories everywhere instead of old centralized directories
 * provide UI to them through the web server
 * provide UI to them through the CLI
 * update unit tests to simulate decentralized mutable directories in order to test other components that rely on them
 * remove the notion of a "vdrive server" and a client thereof
 * remove the notion of a "public vdrive", which was a directory that was centrally published/subscribed automatically by the tahoe node (you can accomplish this manually by making a directory and posting the URL to it on your web site, for example)
 * add a notion of "wait_for_numpeers" when you need to publish data to peers, which is how many peers should be attached before you start.  The default is 1.
 * add __repr__ for filesystem nodes (note: these reprs contain a few bits of the secret key!)
 * fix a few bugs where we used to equate "mutable" with "not read-only".  Nowadays all directories are mutable, but some might be read-only (to you).
 * fix a few bugs where code wasn't aware of the new general-purpose metadata dict the comes with each filesystem edge
 * sundry fixes to unit tests to adjust to the new directories, e.g. don't assume that every share on disk belongs to a chk file.
2007-12-03 14:52:42 -07:00
Zooko O'Whielacronx
35aea346d3 don't provide the "overwrite" button if the file is readonly to you 2007-11-10 16:07:05 -07:00
Zooko O'Whielacronx
85b972a4c3 WUI: hook up an "overwrite" button on mutable files 2007-11-10 10:53:45 -07:00
Brian Warner
1f22768dc7 webish: add preliminary mutable file support: upload, download, listings, JSON, URI, RO-URI. No replace yet. 2007-11-09 03:54:27 -07:00
Brian Warner
b257f905a0 webish.py: handle asynchronous checker results.
Thanks to robk for pointing out that Nevow will accept a Deferred almost
everywhere. In this case, we just pass a Deferred into ctx.fillSlots(). One
quirk: nevow doesn't evaluate all rows of the table in parallel: using a slow
Deferred in a slot in one row seems to stall the next row until that one has
fired, probably to simplify the flattening of the HTML.
2007-10-30 17:00:37 -07:00
Brian Warner
42bd2bcf8e webish: tolerate not having a checker, since some unit tests don't make one 2007-10-23 17:35:31 -07:00
Brian Warner
046bda2b47 webish: add checker results and a 'Check' button to the web interface 2007-10-23 17:23:57 -07:00
Zooko O'Whielacronx
d7af8ae677 improve code coverage by removing untested raise RuntimeError and replacing it with tested assert 2007-10-26 18:37:40 -07:00
czooko
d589c385e6 make the anchor text in the WUI be descriptive of the target -- not "Click Here!"! 2007-10-22 16:56:30 -07:00
Brian Warner
a29ab33379 webish: write node.url, for the benefit of CLI tools 2007-10-11 01:38:04 -07:00
Brian Warner
1340c484c6 download.py: use producer/consumer to reduce memory usage, closes #129.
If the DownloadTarget is also an IConsumer, give it control of the brakes
by offering ourselves to target.registerProducer(). When they tell us to
pause, set a flag, which is checked between segment downloads and decodes.
webish.py: make WebDownloadTarget an IConsumer and pass control along to
the http.Request, which already knows how to be an IConsumer.
This reduces the memory footprint of stalled HTTP GETs to a bare minimum,
and thus closes #129.
2007-09-19 00:34:47 -07:00
Brian Warner
b7c18d6505 webish: improve test coverage 2007-09-17 01:53:46 -07:00
Brian Warner
d5ed60e4ad webish: upload: when the localdir= doesn't exist, say so in the HTTP response 2007-09-15 12:49:07 -07:00
Brian Warner
db3f11648c webish: implement 'PUT /uri' (to create anonymous files) 2007-09-05 17:12:27 -07:00
Brian Warner
5946985c07 add a provisioning utility page which shows necessary storage space and transfer rates for grids of various sizes 2007-08-26 23:44:24 -07:00
Brian Warner
0a39430730 webish: strip leading/tailing whitespace from user-provided filenames, to avoid confusion 2007-08-25 12:05:24 -07:00
Brian Warner
44db5fd8a2 webish: strip leading/tailing whitespace from user-provided URIs 2007-08-25 12:05:06 -07:00
Zooko O'Whielacronx
427bf2cdc9 change name of the query "allow_local_access()?" to "local_access_is_allowed()"
So as to avoid confusing it with the setter method  
"allow_local_access(allowed=True)".
2007-08-22 10:32:00 -07:00
Brian Warner
3e1c417f81 webish: modify JSON to match zooko's proposed API changes in #118 2007-08-23 13:00:39 -07:00
Brian Warner
f3353ee5e4 web: replace FILE links with /uri -based ones, to prevent an XSS attack against the secret vdrive URI contained in the current URL 2007-08-22 17:35:01 -07:00
Brian Warner
4de5767c98 web: remove /vdrive/private, replace with a start.html file that points at the /uri/PRIVATE_URI, to prevent XSRF attacks 2007-08-22 14:54:34 -07:00
Brian Warner
ee6a6c79fa webish.py: allow users to delete (but not create) empty-named files. Closes #94. 2007-08-15 23:14:05 -07:00
Brian Warner
c1da0c11bc webish: implement replace= for POST commands 2007-08-15 15:21:38 -07:00
Brian Warner
1752c9e29e webish: implement replace= for PUT commands 2007-08-15 13:22:23 -07:00
Brian Warner
179d5462c0 webish: look for when_done= in POST fields as well as queryargs. Closes #101.
We need to look in the fields because that's how we build the mkdir/upload
forms. Without this, uploading or creating directories would leave us on a
page that had just a URI, instead of something actually useful to a human.
2007-08-13 17:45:02 -07:00
Brian Warner
6c6c62037d fix pyflakes warnings from recent b32decode change 2007-08-12 16:33:51 -07:00
Zooko O'Whielacronx
42f8e57416 don't over-encode the nodeid many times with ascii-encoding 2007-08-12 10:29:38 -07:00