1616
1717
1818if not hasattr (fuse , '__version__' ):
19- raise RuntimeError , \
20- "your fuse-py doesn't know of fuse.__version__, probably it's too old."
19+ raise RuntimeError ("your fuse-py doesn't know of fuse.__version__, probably it's too old." )
2120
2221fuse .fuse_python_api = (0 , 2 )
2322
@@ -43,32 +42,32 @@ class IOCTL:
4342 _IOC_WRITE = 1
4443 _IOC_READ = 2
4544
46- @classmethod
45+ @classmethod
4746 def _IOC (cls , d ,t ,nr ,size ):
48- return (((d ) << cls ._IOC_DIRSHIFT ) |
47+ return (((d ) << cls ._IOC_DIRSHIFT ) |
4948 ((t ) << cls ._IOC_TYPESHIFT ) | \
5049 ((nr ) << cls ._IOC_NRSHIFT ) | \
5150 ((size ) << cls ._IOC_SIZESHIFT ))
5251
53- @classmethod
52+ @classmethod
5453 def _IO (cls , t ,nr ):
5554 return cls ._IOC (cls ._IOC_NONE , t , nr , 0 )
5655
57- @classmethod
56+ @classmethod
5857 def _IOR (cls , t ,nr ,size ):
5958 return cls ._IOC (cls ._IOC_READ , t , nr , size )
6059
61- @classmethod
60+ @classmethod
6261 def _IOW (cls , t ,nr ,size ):
6362 return cls ._IOC (cls ._IOC_WRITE , t , nr , size )
6463
65- @classmethod
64+ @classmethod
6665 def _IOWR (cls ,t ,nr ,size ):
6766 return cls ._IOC (cls ._IOC_WRITE | cls ._IOC_READ , t , nr , size )
6867
6968
7069# IOCTL (as defined in fioc.h)
71- # Note: on my system, size_t is an unsigned long
70+ # Note: on my system, size_t is an unsigned long
7271FIOC_GET_SIZE = IOCTL ._IOR (ord ('E' ),0 , struct .calcsize ("L" ));
7372FIOC_SET_SIZE = IOCTL ._IOW (ord ('E' ),1 , struct .calcsize ("L" ));
7473
@@ -107,7 +106,7 @@ def resize(self, new_size):
107106 if new_size < old_size :
108107 self .buf = self .buf [0 :new_size ]
109108 else :
110- self .buf = self .buf + str ( bytearray ( new_size - old_size ) )
109+ self .buf = self .buf + " \x00 " * ( new_size - old_size )
111110
112111 return 0
113112
@@ -125,10 +124,10 @@ def getattr(self, path):
125124 st = MyStat ()
126125 ft = self .file_type (path )
127126 if ft == FIOC_ROOT :
128- st .st_mode = stat .S_IFDIR | 0755
127+ st .st_mode = stat .S_IFDIR | 0o755
129128 st .st_nlink = 2
130129 elif ft == FIOC_FILE :
131- st .st_mode = stat .S_IFREG | 0444
130+ st .st_mode = stat .S_IFREG | 0o444
132131 st .st_nlink = 1
133132 st .st_size = len (self .buf )
134133 else :
@@ -158,13 +157,12 @@ def read(self, path, size, offset):
158157 return self .do_read (path , size , offset )
159158
160159 def do_write (self , path , buf , size , offset ):
161-
162160 self .buf = self .buf [0 :offset - 1 ] + buf + self .buf [offset + size + 1 :len (self .buf )]
163161
164162 def write (self , path , buf , size , offset ):
165163 if self .file_type (path ) != FIOC_FILE :
166164 return - errno .EINVAL ;
167-
165+
168166 self .do_write (path , buf , size , offset )
169167
170168 def trunate (self , path , size ):
@@ -179,10 +177,10 @@ def readdir(self, path, offset):
179177
180178 def ioctl (self , path , cmd , arg , flags ):
181179 if cmd == FIOC_GET_SIZE :
182- data = struct .pack ("L" ,len (self .buf ))
183- return data
180+ data = struct .pack ("L" ,len (self .buf ))
181+ return data
184182 elif cmd == FIOC_SET_SIZE :
185- (l ,) = struct .unpack ("L" ,arg );
183+ (l ,) = struct .unpack ("L" ,arg );
186184 self .resize (l )
187185 return 0
188186
0 commit comments