]> git.phdru.name Git - extfs.d.git/blobdiff - torrent
Read-only filesystem.
[extfs.d.git] / torrent
diff --git a/torrent b/torrent
index 712a653be9948ecf56d81c9797f70dbd7dc611c7..43bb2b74dc1b4395b5320e1362e34fcbb9d7b5da 100755 (executable)
--- a/torrent
+++ b/torrent
@@ -71,10 +71,11 @@ def mctorrent_list():
         torrent_error('Unknown name')
 
     name = info['name']
+    encoding = torrent.get('encoding', None)
+
     if 'files' in info:
         files = info['files']
         paths = []
-        encoding = torrent.get('encoding', None)
         for file in files:
             if 'path' not in file:
                 torrent_error('Unknown path')
@@ -89,6 +90,8 @@ def mctorrent_list():
         if 'length' not in info:
             torrent_error('Unknown length')
         length = info['length']
+        if charset and encoding and (charset != encoding):
+            name = name.decode(encoding, 'replace').encode(charset, 'replace')
         paths = [(name, length)]
 
     meta = []
@@ -159,17 +162,17 @@ def mctorrent_copyout():
 
 def mctorrent_copyin():
     """Put a file to the VFS"""
-    sys.exit("Torrent VFS doesn't support adding files")
+    sys.exit("Torrent VFS doesn't support adding files (read-only filesystem)")
 
 def mctorrent_rm():
     """Remove a file from the VFS"""
-    sys.exit("Torrent VFS doesn't support removing files/directories")
+    sys.exit("Torrent VFS doesn't support removing files/directories (read-only filesystem)")
 
 mctorrent_rmdir = mctorrent_rm
 
 def mctorrent_mkdir():
     """Create a directory in the VFS"""
-    sys.exit("Torrent VFS doesn't support creating directories")
+    sys.exit("Torrent VFS doesn't support creating directories (read-only filesystem)")
 
 
 def torrent_error(error_str):