diff options
author | gcode@loowis.durge.org <gcode@loowis.durge.org@67cdc799-7952-0410-af00-57a81ceafa0f> | 2012-08-15 03:07:49 +0000 |
---|---|---|
committer | gcode@loowis.durge.org <gcode@loowis.durge.org@67cdc799-7952-0410-af00-57a81ceafa0f> | 2012-08-15 03:07:49 +0000 |
commit | 721500ce14bc96977d8aa9d9ede22334b1743b5c (patch) | |
tree | 1e3f72f43f5258c76470adccce006c17ce353635 | |
parent | 0ff07d30d2c6a51b676bc07bf76e8fcb682fccb7 (diff) | |
download | pyfilesystem-721500ce14bc96977d8aa9d9ede22334b1743b5c.tar.gz |
Found and fixed some more sneaky Python3 str->bytes problems
git-svn-id: http://pyfilesystem.googlecode.com/svn/trunk@808 67cdc799-7952-0410-af00-57a81ceafa0f
-rw-r--r-- | fs/base.py | 6 | ||||
-rw-r--r-- | fs/ftpfs.py | 2 | ||||
-rw-r--r-- | fs/memoryfs.py | 5 | ||||
-rw-r--r-- | fs/remotefs.py | 9 | ||||
-rw-r--r-- | fs/watch.py | 4 |
5 files changed, 16 insertions, 10 deletions
@@ -39,7 +39,7 @@ from fs.local_functools import wraps import compatibility import six -from six import PY3 +from six import PY3, b class DummyLock(object): """A dummy lock object that doesn't do anything. @@ -112,13 +112,13 @@ class NullFile(object): raise StopIteration def readline(self, *args, **kwargs): - return "" + return b("") def close(self): self.closed = True def read(self, size=None): - return "" + return b("") def seek(self, *args, **kwargs): pass diff --git a/fs/ftpfs.py b/fs/ftpfs.py index 99c7b46..50891af 100644 --- a/fs/ftpfs.py +++ b/fs/ftpfs.py @@ -667,7 +667,7 @@ class _FTPFile(object): break chunks.append(data) self.read_pos += len(data) - return ''.join(chunks) + return b('').join(chunks) remaining_bytes = size while remaining_bytes: diff --git a/fs/memoryfs.py b/fs/memoryfs.py index 5e12a95..91aa4c3 100644 --- a/fs/memoryfs.py +++ b/fs/memoryfs.py @@ -21,6 +21,7 @@ from os import SEEK_END import threading
import six
+from six import b
def _check_mode(mode, mode_chars):
@@ -574,7 +575,7 @@ class MemoryFS(FS): if dir_entry.isdir():
info['st_mode'] = 0755 | stat.S_IFDIR
else:
- info['size'] = len(dir_entry.data or '')
+ info['size'] = len(dir_entry.data or b(''))
info['st_mode'] = 0666 | stat.S_IFREG
return info
@@ -630,7 +631,7 @@ class MemoryFS(FS): raise ResourceNotFoundError(path)
if not dir_entry.isfile():
raise ResourceInvalidError(path, msg="not a file: %(path)s")
- return dir_entry.data or ''
+ return dir_entry.data or b('')
@synchronize
def setcontents(self, path, data, chunk_size=1024*64):
diff --git a/fs/remotefs.py b/fs/remotefs.py index c44179b..77fdfc2 100644 --- a/fs/remotefs.py +++ b/fs/remotefs.py @@ -10,6 +10,9 @@ from json import dumps import Queue as queue import socket +from six import b + + class PacketHandler(threading.Thread): def __init__(self, transport, prelude_callback=None): @@ -99,7 +102,7 @@ class _SocketFile(object): try: return self.socket.recv(size) except: - return '' + return b('') def write(self, data): self.socket.sendall(data) @@ -145,7 +148,7 @@ class RemoteFS(FS): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((self.addr, self.port)) socket_file = _SocketFile(sock) - socket_file.write('pyfs/0.1\n') + socket_file.write(b('pyfs/0.1\n')) return socket_file def _make_call(self, method_name, *args, **kwargs): @@ -185,4 +188,4 @@ if __name__ == "__main__": rfs = RemoteFS() rfs.close() -
\ No newline at end of file + diff --git a/fs/watch.py b/fs/watch.py index 815cf3e..56ff1de 100644 --- a/fs/watch.py +++ b/fs/watch.py @@ -41,6 +41,8 @@ from fs.wrapfs import WrapFS from fs.base import FS from fs.filelike import FileWrapper +from six import b + class EVENT(object): """Base class for change notification events.""" @@ -304,7 +306,7 @@ class WatchableFS(WatchableFSMixin,WrapFS): self.notify_watchers(ACCESSED,path) return WatchedFile(f,self,path,mode) - def setcontents(self, path, data='', chunk_size=64*1024): + def setcontents(self, path, data=b(''), chunk_size=64*1024): existed = self.wrapped_fs.isfile(path) ret = super(WatchableFS, self).setcontents(path, data, chunk_size=chunk_size) if not existed: |