Daira Hopwood
e88e07a278
Improved error handling and cosmetics for ctypes calls on Windows.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-12-28 21:17:32 +00:00
Zooko
a9b152780e
remove dead code: NamedTemporaryDirectory
...
fixes #2433
2015-05-26 17:20:11 +00:00
Daira Hopwood
143af61518
fileutil.py: use ctypes.get_last_error() instead of GetLastError(). refs #1531
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-05-18 01:42:01 +01:00
Daira Hopwood
4794666df6
On Windows, the user's home directory may be either %USERPROFILE% or %HOMEDRIVE%%HOMEPATH% depending on the Windows version. fixes ticket:2417
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-05-13 14:42:31 +01:00
Daira Hopwood
eb34e0d625
Ensure the 'base' argument to abspath_expanduser_unicode takes effect on Windows. fixes #2398
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-04-21 21:04:20 +01:00
Daira Hopwood
fc90607eec
Further refine error handling in windows_getenv to correctly handle zero-length environment values. refs #1674
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-02-04 17:02:02 +00:00
Daira Hopwood
d756ef1765
More robust error handling in windows_getenv. refs #1674
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-02-03 23:47:53 +00:00
Daira Hopwood
c1d5c4f07a
Fix user-path-expansion on Windows for non-ASCII home directories. refs #1674
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-30 00:50:24 +00:00
Daira Hopwood
14f783086f
Change uses of os.path.expanduser and os.path.abspath. refs #2235
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-30 00:50:18 +00:00
Daira Hopwood
21b477f235
Add support in abspath_expanduser_unicode for expanding relative to a base path. refs #2235
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-30 00:47:09 +00:00
Daira Hopwood
c20a3525b7
Use "long" paths prefixed with \\?\ on Windows. refs #2235
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-30 00:05:14 +00:00
Daira Hopwood
9a401b760e
fileutil cleanup: delete the unused open_or_create function.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-29 18:19:57 +00:00
Daira Hopwood
c85060c436
Revert [603f5eba32c98d4bfbc354530dcd36dfcd58887a] which was applied unintentionally.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-05-05 22:09:33 +01:00
Daira Hopwood
603f5eba32
Use "long" paths prefixed with \\?\ on Windows. refs #2235
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-05-04 17:05:48 +01:00
Brian Warner
ff64a0fef5
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.
2013-03-18 17:34:57 -07:00
david-sarah
3738c3e2d1
fileutil.py: use try/finally to close file in write_atomically.
2012-05-16 23:08:39 +00:00
Brian Warner
c4d7b7b109
write node.url and portnum files atomically, to fix race in test_runner
...
Previously, test_runner sometimes fails because the _node_has_started()
poller fires after the portnum file has been opened, but before it has
actually been filled, allowing the test process to observe an empty file,
which flunks the test.
This adds a new fileutil.write_atomically() function (using the usual
write-to-.tmp-then-rename approach), and uses it for both node.url and
client.port . These files are written a bit before the node is really up and
running, but they're late enough for test_runner's purposes, which is to know
when it's safe to read client.port and use 'tahoe restart' (and therefore
SIGINT) to restart the node.
The current node/client code doesn't offer any better "are you really done
with startup" indicator.. the ideal approach would be to either watch the
logfile, or connect to its flogport, but both are a hassle. Changing the node
to write out a new "all done" file would be intrusive for regular
operations.
2012-05-14 15:03:14 -07:00
david-sarah
d21f4071c3
Eliminate direct dependencies of Tahoe-LAFS on pywin32 (rebased to trunk). refs #1274
2011-01-18 23:59:11 -08:00
Zooko O'Whielacronx
d5e71c2940
fileutil: copy in the get_disk_stats() and get_available_space() functions from storage/server.py
2010-09-10 08:35:20 -08:00
david-sarah
013954c265
fileutil: change WindowsError to OSError in abspath_expanduser_unicode, because WindowsError might not exist.
2010-07-25 15:26:03 -07:00
david-sarah
11b18824c7
util.fileutil, test.test_util: add abspath_expanduser_unicode function, to work around < http://bugs.python.org/issue3426 >. util.encodingutil: add a convenience function argv_to_abspath.
2010-07-21 16:15:07 -07:00
david-sarah
752897450d
fileutil: docstrings for non-obvious usage restrictions on methods of EncryptedTemporaryFile.
2010-07-16 22:46:47 -07:00
david-sarah
05022dca36
Move EncryptedTemporaryFile from SFTP frontend to allmydata.util.fileutil, and make the FTP frontend also use it (fixing #1083 ).
2010-07-11 14:37:21 -07:00
david-sarah
a8161c915a
Correct stringutils->encodingutil patch to be the newer version, rather than the old version that was committed in error.
2010-07-17 18:34:35 -07:00
david-sarah
11077ea74d
Rename stringutils to encodingutil, and drop listdir_unicode and open_unicode (since the Python stdlib functions work fine with Unicode paths). Also move some utility functions to fileutil.
2010-07-11 17:30:15 -07:00
david-sarah
c984a09fe7
Fix race conditions and missing callback in allmydata.test.test_cli.Cp.test_copy_using_filecap, add utilities for one-liner reading and writing of files, and fix cases in test_cli where files were not being closed after writing.
2010-02-05 17:37:27 -08:00
Zooko O'Whielacronx
603e08c4a9
doc: licensing cleanups
...
Use nice utf-8 © instead of "(c)". Remove licensing statements on utility modules that have been assigned to allmydata.com by their original authors. (Nattraverso was not assigned to allmydata.com -- it was LGPL'ed -- but I checked and src/allmydata/util/iputil.py was completely rewritten and doesn't contain any line of code from nattraverso.) Add notes to misc/debian/copyright about licensing on files that aren't just allmydata.com-licensed.
2009-09-20 10:16:31 -07:00
Zooko O'Whielacronx
2a63fc9159
docs: update relnotes.txt, relnotes-short.txt, and others documentation bits for v1.5.0 release!
2009-08-01 19:57:10 -07:00
Brian Warner
89f041ac83
fileutil: add move_into_place(), to perform the standard unix trick of atomically replacing a file, with a fallback for windows
2009-02-18 23:13:10 -07:00
Zooko O'Whielacronx
9247dc70e5
trivial: whitespace
2009-01-18 10:54:58 -07:00
Zooko O'Whielacronx
9c35ca76a4
util: copy in pyutil.fileutil.ReopenableNamedTemporaryFile
2008-11-04 17:47:15 -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
Brian Warner
9ddb929651
fileutil: add du() function
2007-07-03 15:49:45 -07:00
Zooko O'Whielacronx
723f4078a3
pyutil: fileutil.open_or_create()
2007-04-17 20:14:26 -07:00
Zooko O'Whielacronx
62456b2a01
import fileutil, some of which came from amdlib.util and some of which came from the pyutil library
2007-03-30 12:12:23 -07:00