Only quote newline characters where necessary. fixes #1484

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
tahoe_ls.py: JSON responses don't need quotemarks or quoted newlines.

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Add test for anti-Ubuntu-crash-reporter exception-catching code. fixes #1746

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Ensure that bin/tahoe and setup.py fail quickly on Python 3.3+. fixes #1775

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Make doubly sure that we fail quickly on future Python 3.x versions. refs #1775

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Require at least Python 2.6. fixes #1658

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
bump 'mock' dependency to >=0.8.0, to get the .call object

The 0.6.0 version that was previously allowed did not provide .call, so
test_cli.py failed during import.
Redesigned Welcome page using Twitter Bootstrap CSS.

Author: Tony Arcieri <tarcieri>
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Update helper.rst to explain new-style config. fixes #1915

Author: Zooko Wilcox-O'Hearn <zooko>
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Tolerate import errors when loading extra commands for "setup.py --help-commands"
and bump zetuptoolz version to 0.6c16dev4. fixes #1405

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Move embedded setuptools egg to reflect new version (0.6c16dev4).

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
test_web.py: relax tests for upload and mkdir forms to tolerate nondeterministic order of attributes.

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
setup.py: add helpful comment on line that is a SyntaxError in Python < 2.6.

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
fileutil.write: accept mode=, and use it in Node.write_config

I want mode="w" (i.e. text, with newline conversion) for code that
writes newline-terminated strings (which should also be human readable)
to files. I like to use things like "cat .tahoe/permutation-seed"
without seeing the seed jammed together with the next command prompt.
introducer.client: use integer seqnums, not time-based. Closes #1767.

This stores the sequence number in BASEDIR/announcement-seqnum, and
increments it each time any service is published (every service
announcement is regenerated with the new sequence number). As everyone
knows, time is an illusion, and occasionally goes backwards, so a
counter is generally safer (and reveals less information about the
node).

Later, we'll improve the introducer client to tolerate rollbacks (where,
perhaps due to a VM being restarted from an earlier checkpoint, the
stored sequence number reverts to an earlier version).
sftpd.py: switch from using bare asserts to assertutil.

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Improve SFTP error handling and remove use of IFinishableConsumer. fixes #1525

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
New Welcome page: ensure 'not connected' status for Introducer and Helper is shown via text as well as bullet colour. refs #1713

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Makefile: re-enable tarball uploads for "master" branch
Remove darcs from setup.py, remove darcsver egg. Closes #1908.

Also remove lingering traces of darcs from MANIFEST.in,
.darcs-boringfile, setup.cfg, and unit tests.