From 3a2faa8de10a5d255ed5c503b092211d847d7617 Mon Sep 17 00:00:00 2001 From: Mark Rages Date: Thu, 14 Sep 2017 11:38:24 -0600 Subject: [PATCH] API change: In Python, we don't need to pass around buffer sizes. --- py/spiffs.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/py/spiffs.py b/py/spiffs.py index a1c2676..6ae59fc 100755 --- a/py/spiffs.py +++ b/py/spiffs.py @@ -160,7 +160,7 @@ class Spiffs(object): def _on_write(self, addr, size, src): #print "on_write",addr,size data = [chr(src[i]) for i in range(size)] - self.on_write(addr, size, data) + self.on_write(addr, data) return 0 @_error_print_traceback @@ -177,9 +177,9 @@ class Spiffs(object): print "base on_read",addr,size return '\xff'*size - def on_write(self, addr, size, data): + def on_write(self, addr, data): "Subclass me!" - print "base on_write",addr,size + print "base on_write",addr,len(data) def on_erase(self, addr, size): "Subclass me!" @@ -295,22 +295,22 @@ class SpiffsFile(object): class SpiffsCharsBack(Spiffs): "list-of-chars as block device" - def __init__(self, chars): + def __init__(self, chars, *args, **kwargs): self.chars = chars - super(SpiffsCharsBack, self).__init__(len(chars)) + super(SpiffsCharsBack, self).__init__(len(chars), *args, **kwargs) def on_read(self, addr, size): return ''.join(self.chars[addr:addr+size]) - def on_write(self, addr, size, data): - was_data = self.chars[addr:addr+size] + def on_write(self, addr, data): + was_data = self.chars[addr:addr+len(data)] is_data = [] for was,new in zip(was_data,data): now = ord(was) & ord(new) is_data.append(chr(now)) - self.chars[addr:addr+size] = is_data + self.chars[addr:addr+len(data)] = is_data def on_erase(self, addr, size): self.chars[addr:addr+size] = ['\xff'] * size @@ -326,9 +326,9 @@ class SpiffsFileBack(Spiffs): self.back_fd.seek(addr) return self.back_fd.read(size) - def on_write(self, addr, size, data): + def on_write(self, addr, data): self.back_fd.seek(addr) - was_data = self.back_fd.read(size) + was_data = self.back_fd.read(len(data)) is_data = [] for was,new in zip(was_data,data): @@ -358,13 +358,13 @@ def _destructive_tests(spiffs_mount): print "erased ok" data = ''.join(chr(x & 0xff) for x in range(size)) - s.on_write(addr,size,data) + s.on_write(addr,data) readback = s.on_read(addr,size) assert readback==data print "wrote ok" data2 = '\0'*10 - s.on_write(addr+10,len(data2),data2) + s.on_write(addr+10,data2) readback = s.on_read(addr,size) assert readback[20:]==data[20:] assert readback[:10]==data[:10] @@ -372,15 +372,15 @@ def _destructive_tests(spiffs_mount): assert readback[10:20]==data2 print "part write ok" - s.on_write(addr+size, size, data) + s.on_write(addr+size, data) s.on_erase(addr,size) readback = s.on_read(addr+size,size) assert readback==data print "erase bounded ok" - s.on_write(addr,size,data) + s.on_write(addr, data) data2 = ''.join(chr(0xff^ord(c)) for c in data) - s.on_write(addr,size,data2) + s.on_write(addr, data2) readback = s.on_read(addr,size) assert readback=='\0'*size print "AND ok"