Brian Warner [Wed, 11 Jul 2007 02:37:10 +0000 (19:37 -0700)]
makefile: use --single-version-externally-managed for simplejson
Brian Warner [Wed, 11 Jul 2007 02:13:55 +0000 (19:13 -0700)]
startstop_node.py: refactor find_twistd() out so it is only run when you need to start a node
Brian Warner [Wed, 11 Jul 2007 02:05:18 +0000 (19:05 -0700)]
runner.py: further refactoring
Brian Warner [Wed, 11 Jul 2007 01:41:52 +0000 (18:41 -0700)]
runner.py: start to refactor into separate files
Brian Warner [Tue, 10 Jul 2007 23:26:05 +0000 (16:26 -0700)]
tahoe-ls.py: hush a pyflakes warning
Brian Warner [Tue, 10 Jul 2007 23:11:11 +0000 (16:11 -0700)]
patch simplejson's ezsetup to take a min_version, and patch setup.py to use it, to allow installs on edgy machines with setuptools-0.6c3
Brian Warner [Tue, 10 Jul 2007 22:52:26 +0000 (15:52 -0700)]
finish removing simplejson.egg-info from the repo
Brian Warner [Tue, 10 Jul 2007 22:51:58 +0000 (15:51 -0700)]
remove simplejson.egg-info from the repo (and boringfile it), it should never have been in the original tarball
Brian Warner [Tue, 10 Jul 2007 22:49:32 +0000 (15:49 -0700)]
import simplejson directly, and remove our local copies of the component .py files from util/json*
Brian Warner [Tue, 10 Jul 2007 22:34:55 +0000 (15:34 -0700)]
tahoe-ls.py: initial version of an 'ls' CLI utility
Brian Warner [Tue, 10 Jul 2007 22:34:36 +0000 (15:34 -0700)]
boringfile: add simplejson generated files
Brian Warner [Tue, 10 Jul 2007 22:28:38 +0000 (15:28 -0700)]
makefile: build simplejson along with zfec/foolscap/etc
Brian Warner [Tue, 10 Jul 2007 22:22:53 +0000 (15:22 -0700)]
import simplejson-1.7.1 into src/simplejson
Brian Warner [Tue, 10 Jul 2007 20:24:10 +0000 (13:24 -0700)]
webapi: normalized API: use t=upload or t=download when providing localdir= or localfile=
Brian Warner [Tue, 10 Jul 2007 20:12:40 +0000 (13:12 -0700)]
import the decoder portion of simplejson-1.7.1 too
Brian Warner [Tue, 10 Jul 2007 17:36:37 +0000 (10:36 -0700)]
webapi.txt: note that the 'curl' utility can be used to exercise most of this interface
Brian Warner [Tue, 10 Jul 2007 17:33:19 +0000 (10:33 -0700)]
webish: cosmetic: fix missing whitespace in HTML
Zooko O'Whielacronx [Tue, 10 Jul 2007 01:47:16 +0000 (18:47 -0700)]
tahoe-get.py: fix bug: actually respect the optional server argument
Zooko O'Whielacronx [Tue, 10 Jul 2007 01:27:11 +0000 (18:27 -0700)]
tahoe-get.py: add optional target-local-file argument
Zooko O'Whielacronx [Tue, 10 Jul 2007 01:20:02 +0000 (18:20 -0700)]
tahoe-get.py: accept vdrive and server options (using optparse)
Zooko O'Whielacronx [Tue, 10 Jul 2007 01:19:53 +0000 (18:19 -0700)]
tahoe-get.py: the first, most primitive command-line client
Brian Warner [Mon, 9 Jul 2007 06:27:46 +0000 (23:27 -0700)]
storage: wrap buckets in a local proxy
This will make it easier to change RIBucketWriter in the future to reduce the wire
protocol to just open/write(offset,data)/close, and do all the structuring on the
client end. The ultimate goal is to store each bucket in a single file, to reduce
the considerable filesystem-quantization/inode overhead on the storage servers.
Brian Warner [Sun, 8 Jul 2007 07:44:08 +0000 (00:44 -0700)]
directory.xhtml: oops, missed a comma
Brian Warner [Sun, 8 Jul 2007 07:33:20 +0000 (00:33 -0700)]
directory.xhtml: remove the leftover XML link
Brian Warner [Sun, 8 Jul 2007 07:23:23 +0000 (00:23 -0700)]
web: indent the JSON to make it easier for humans to read, but slightly larger
Brian Warner [Sun, 8 Jul 2007 07:17:11 +0000 (00:17 -0700)]
web: use real JSON instead of the fake stubs
Also include the encoder portion of Bob Ippolito's simplejson-1.7.1 as
allmydata.util.json_encoder . simplejson is distributed under a more liberal
license than Tahoe (looks to be modified BSD), so redistributing it should be ok.
Brian Warner [Sun, 8 Jul 2007 06:22:52 +0000 (23:22 -0700)]
test_web.test_welcome: give the rooturl a trailing slash, otherwise older versions of twisted complain
Brian Warner [Sun, 8 Jul 2007 06:00:09 +0000 (23:00 -0700)]
figleaf.excludes: ignore allmydata.Crypto, since so little of it gets used by allmydata.test
Brian Warner [Sun, 8 Jul 2007 05:55:15 +0000 (22:55 -0700)]
web: remove t=XML, and other dead code
Brian Warner [Sun, 8 Jul 2007 05:47:18 +0000 (22:47 -0700)]
web: improve test coverage
Brian Warner [Sun, 8 Jul 2007 05:21:20 +0000 (22:21 -0700)]
web: make sure we present read-only directories properly
Brian Warner [Sun, 8 Jul 2007 05:20:03 +0000 (22:20 -0700)]
web: remove more dead code
Brian Warner [Sun, 8 Jul 2007 05:12:46 +0000 (22:12 -0700)]
webish.py: remove dead code
Brian Warner [Sun, 8 Jul 2007 05:06:52 +0000 (22:06 -0700)]
web: /uri/ must escape slashes, we use bangs for this
Brian Warner [Sun, 8 Jul 2007 05:06:22 +0000 (22:06 -0700)]
web: replace welcome-page download-URI form with new version
Brian Warner [Sun, 8 Jul 2007 04:31:18 +0000 (21:31 -0700)]
web: survive bogus URIs when displaying sizes
Brian Warner [Sun, 8 Jul 2007 04:31:02 +0000 (21:31 -0700)]
web: show the root name of the vdrive
Brian Warner [Sun, 8 Jul 2007 04:30:38 +0000 (21:30 -0700)]
web: change title to say 'Tahoe', not tahoe2
Brian Warner [Sun, 8 Jul 2007 04:30:04 +0000 (21:30 -0700)]
web: add a 'return to welcome page' link
Brian Warner [Sun, 8 Jul 2007 04:17:48 +0000 (21:17 -0700)]
web: add when_done to all POST operations, use it from upload/mkdir/mount/delete forms
Brian Warner [Sun, 8 Jul 2007 03:46:30 +0000 (20:46 -0700)]
web: make 'delete' buttons work again
Brian Warner [Sun, 8 Jul 2007 03:35:47 +0000 (20:35 -0700)]
web: change per-directory forms to match new POST scheme
Brian Warner [Sun, 8 Jul 2007 03:11:30 +0000 (20:11 -0700)]
web: remove debug prints
Brian Warner [Sun, 8 Jul 2007 03:06:58 +0000 (20:06 -0700)]
web: more test work, now all tests pass, POST too, only XMLRPC left to implement
Brian Warner [Sun, 8 Jul 2007 03:06:44 +0000 (20:06 -0700)]
test_system.py: change/remove the tests that currently fail due to web changes
Brian Warner [Sat, 7 Jul 2007 18:31:07 +0000 (11:31 -0700)]
webish.py: add links to JSON/etc representations of directory contents to the listing
Brian Warner [Sat, 7 Jul 2007 18:17:32 +0000 (11:17 -0700)]
runner.py: add --force flag to restart, to restart a not-already-running node
Brian Warner [Sat, 7 Jul 2007 18:15:31 +0000 (11:15 -0700)]
webish: fix ?t=manifest, ?t=xml so they don't throw exceptions, prune directory.xhtml
Brian Warner [Sat, 7 Jul 2007 17:34:05 +0000 (10:34 -0700)]
web: more test work, now all tests either pass or are skipped (POST, XMLRPC, and URI/)
Brian Warner [Sat, 7 Jul 2007 07:16:36 +0000 (00:16 -0700)]
webapi: checkpointing more test progress
Brian Warner [Sat, 7 Jul 2007 02:43:55 +0000 (19:43 -0700)]
checkpointing new webapi: not all tests pass yet
Brian Warner [Sat, 7 Jul 2007 02:43:03 +0000 (19:43 -0700)]
web: missed a IndexError-to-KeyError conversion
Brian Warner [Sat, 7 Jul 2007 02:40:08 +0000 (19:40 -0700)]
web: use KeyError (rather than IndexError) to signal a missing child
Brian Warner [Sat, 7 Jul 2007 02:39:47 +0000 (19:39 -0700)]
interfaces: remove spurious 'self' from interface declarations
Brian Warner [Sat, 7 Jul 2007 02:38:37 +0000 (19:38 -0700)]
add IDirectoryNode.get_child_at_path
Brian Warner [Sat, 7 Jul 2007 17:37:07 +0000 (10:37 -0700)]
webapi updates
Brian Warner [Thu, 5 Jul 2007 21:55:11 +0000 (14:55 -0700)]
update .darcs-boringfile to match the debian-moves-to-misc/ change
Brian Warner [Thu, 5 Jul 2007 21:49:09 +0000 (14:49 -0700)]
move debian files down into misc/
Brian Warner [Thu, 5 Jul 2007 21:38:31 +0000 (14:38 -0700)]
munin plugins: fix labels
Brian Warner [Thu, 5 Jul 2007 20:38:15 +0000 (13:38 -0700)]
add some munin plugins
Brian Warner [Thu, 5 Jul 2007 20:36:03 +0000 (13:36 -0700)]
add webapi.txt: explain our plans for the node's webserver
Brian Warner [Wed, 4 Jul 2007 00:40:09 +0000 (17:40 -0700)]
roadmap: move Storage to milestone v3
Brian Warner [Wed, 4 Jul 2007 00:38:49 +0000 (17:38 -0700)]
storageserver: include metadata in the sizelimit, at least after the bucket has been closed
Brian Warner [Wed, 4 Jul 2007 00:27:07 +0000 (17:27 -0700)]
activate storage size limits in the client. Closes #34.
To use this, write a number like 10MB or 5Gb or
5000000000 to a file
named 'sizelimit' in the client's base directory. The node will not grant
leases for shares that would take it much beyond this many bytes of
storage. Note that metadata is not included in the allocation count until
a restart, so the actual space consumed may grow beyond the limit if
the node is not restarted very frequently and the amount of metadata is
significant.
Brian Warner [Wed, 4 Jul 2007 00:08:02 +0000 (17:08 -0700)]
storageserver: implement size limits. No code to enable them yet, though
Brian Warner [Tue, 3 Jul 2007 22:49:45 +0000 (15:49 -0700)]
fileutil: add du() function
Brian Warner [Tue, 3 Jul 2007 22:09:00 +0000 (15:09 -0700)]
webish: provide a valid Content-Length header on downloads
Brian Warner [Tue, 3 Jul 2007 20:47:37 +0000 (13:47 -0700)]
webish: improve reporting of web download errors that occur early enough
If the error occurs before any data has been sent, we can give a sensible
error message (code 500, stack trace, etc). This will cover most of the error
cases. The ones that aren't covered are when we run out of good peers after
successfully decoding the first segment, either because they go away or
because their shares are corrupt.
Brian Warner [Tue, 3 Jul 2007 20:18:14 +0000 (13:18 -0700)]
webish.py: handle errors during download better. Addresses #65.
Previously, exceptions during a web download caused a hang rather than some
kind of exception or error message. This patch improves the situation by
terminating the HTTP download rather than letting it hang forever. The
behavior still isn't ideal, however, because the error can occur too late to
abort the HTTP request cleanly (i.e. with an error code). In fact, the
Content-Type header and response code have already been set by the time any
download errors have been detected, so the browser is committed to displaying
an image or whatever (thus any error message we put into the stream is
unlikely to be displayed in a meaningful way).
Brian Warner [Tue, 3 Jul 2007 20:16:48 +0000 (13:16 -0700)]
dirnodes.txt: minor edits
Brian Warner [Tue, 3 Jul 2007 18:15:05 +0000 (11:15 -0700)]
test_util: improve test coverage of allmydata.util.fileutil
Brian Warner [Tue, 3 Jul 2007 00:32:24 +0000 (17:32 -0700)]
document our current directory node (dirnode) design
Brian Warner [Mon, 2 Jul 2007 22:22:49 +0000 (15:22 -0700)]
makefile: pass COVERAGEDIR= properly to the target makefile
Brian Warner [Mon, 2 Jul 2007 22:10:20 +0000 (15:10 -0700)]
makefile: change upload-figleaf target to create a 'current' link
Zooko O'Whielacronx [Thu, 5 Jul 2007 01:59:26 +0000 (18:59 -0700)]
relnotes.txt: reflow to 70-char width
Zooko O'Whielacronx [Sat, 30 Jun 2007 00:02:54 +0000 (17:02 -0700)]
TAG allmydata-tahoe-0.4.0
Brian Warner [Sat, 30 Jun 2007 00:01:49 +0000 (17:01 -0700)]
relnotes.txt: mention the private filesystem
Zooko O'Whielacronx [Fri, 29 Jun 2007 23:58:27 +0000 (16:58 -0700)]
relnotes.txt reflow column width and editing
Zooko O'Whielacronx [Fri, 29 Jun 2007 23:58:05 +0000 (16:58 -0700)]
relnotes.txt update for v0.4 release
Zooko O'Whielacronx [Fri, 29 Jun 2007 23:55:38 +0000 (16:55 -0700)]
relnotes.txt: formatting for thinner columns
Zooko O'Whielacronx [Fri, 29 Jun 2007 23:43:20 +0000 (16:43 -0700)]
roadmap.txt: add mention of decentralized introduction (#68)
Zooko O'Whielacronx [Fri, 29 Jun 2007 22:33:38 +0000 (15:33 -0700)]
edit README and require Nevow 0.9.18
If anybody out there is running with Nevow < v0.9.18 and wants to vouch for it, then we can relax that requirement.
Zooko O'Whielacronx [Fri, 29 Jun 2007 22:28:15 +0000 (15:28 -0700)]
clarify licence
Brian Warner [Fri, 29 Jun 2007 18:17:18 +0000 (11:17 -0700)]
webish: make each link in the directory name an href to that directory
Brian Warner [Fri, 29 Jun 2007 17:43:27 +0000 (10:43 -0700)]
update roadmap.txt a bit
Brian Warner [Fri, 29 Jun 2007 02:20:28 +0000 (19:20 -0700)]
test_system: stall for a second while bouncing the client, it might help windows
Brian Warner [Fri, 29 Jun 2007 02:07:52 +0000 (19:07 -0700)]
webish: fix link to private_vdrive
Brian Warner [Fri, 29 Jun 2007 01:01:00 +0000 (18:01 -0700)]
client.py: remove unused import
Brian Warner [Fri, 29 Jun 2007 01:00:30 +0000 (18:00 -0700)]
roadmap: update filesystem/filetree/dirnode items
Brian Warner [Fri, 29 Jun 2007 00:55:13 +0000 (17:55 -0700)]
client.py: remove unused code
Brian Warner [Fri, 29 Jun 2007 07:50:00 +0000 (00:50 -0700)]
interfaces.py: remove some unused 'pass' lines
Brian Warner [Fri, 29 Jun 2007 00:46:14 +0000 (17:46 -0700)]
change IVirtualDrive.get_node_at_path to accept either a list or a single slash-separated string
Brian Warner [Thu, 28 Jun 2007 22:05:33 +0000 (15:05 -0700)]
test_system.py: more vdrive coverage
Brian Warner [Thu, 28 Jun 2007 18:00:03 +0000 (11:00 -0700)]
vdrive: add get_node_at_path(pathlist)
Brian Warner [Thu, 28 Jun 2007 17:59:51 +0000 (10:59 -0700)]
vdrive: make sure we really record global/private root directory uris
Brian Warner [Thu, 28 Jun 2007 00:11:06 +0000 (17:11 -0700)]
Add the 'vdrive' service, for clients to access the public/private root dirs.
These allow client-side code to conveniently retrieve the IDirectoryNode
instances for both the global shared public root directory, and the per-user
private root directory.
Brian Warner [Wed, 27 Jun 2007 02:55:21 +0000 (19:55 -0700)]
webish.py: add a web page to display the manifest for any particular directory
Brian Warner [Wed, 27 Jun 2007 02:41:20 +0000 (19:41 -0700)]
dirnode: add build_manifest() and introduce 'refresh capabilities'
Brian Warner [Wed, 27 Jun 2007 00:25:23 +0000 (17:25 -0700)]
remove unused/obsoleted workqueue.py
Brian Warner [Wed, 27 Jun 2007 00:16:58 +0000 (17:16 -0700)]
merge vdrive.py and filetable.py into a single dirnode.py