From 5b696e2244a57f9893fca90afa0dd664ed58cd86 Mon Sep 17 00:00:00 2001
From: "Zooko O'Whielacronx zooko@zooko.com" <zooko@zooko.com>
Date: Sat, 14 Apr 2007 23:22:45 +0530
Subject: [PATCH] pyfec: add easyfec.Decoder(), which is easier to use than
 fec.Decoder()

darcs-hash:95bf3656157b44e5c7eddfae3430d4db0204ef30
---
 pyfec/fec/easyfec.py | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/pyfec/fec/easyfec.py b/pyfec/fec/easyfec.py
index de7e8b9..8fc1506 100644
--- a/pyfec/fec/easyfec.py
+++ b/pyfec/fec/easyfec.py
@@ -7,7 +7,6 @@ def div_ceil(n, d):
     """
     return (n/d) + (n%d != 0)
 
-
 class Encoder(object):
     def __init__(self, k, m):
         self.fec = fec.Encoder(k, m)
@@ -22,8 +21,17 @@ class Encoder(object):
         # padding
         if len(l[-1]) != len(l[0]):
             l[-1] = l[-1] + ('\x00'*(len(l[0])-len(l[-1])))
-        return self.fec.encode(l)
-        
-    def decode(self, blocks):
-        return self.fec.decode(blocks)
+        res = self.fec.encode(l)
+        return res
         
+class Decoder(object):
+    def __init__(self, k, m):
+        self.fec = fec.Decoder(k, m)
+
+    def decode(self, blocks, sharenums, padlen=0):
+        blocks = self.fec.decode(blocks, sharenums)
+        data = ''.join(blocks)
+        if padlen:
+            data = data[:-padlen]
+        return data
+
-- 
2.45.2