diff --git a/onionr/api.py b/onionr/api.py index afebf1ee..1ef3f7fe 100755 --- a/onionr/api.py +++ b/onionr/api.py @@ -211,12 +211,10 @@ class API: elif action == 'getData': resp = '' if self._utils.validateHash(data): - if os.path.exists('data/blocks/' + data + '.db'): - try: - block = Block(data, core=self._core)() - resp = base64.b64encode(block.getRaw()) - except TypeError: - resp = "" + if not os.path.exists('data/blocks/' + data + '.db'): + block = Block(data.encode(), core=self._core) + resp = base64.b64encode(block.getRaw()).decode() + if len(resp) == 0: abort(404) resp = "" diff --git a/onionr/onionrblockapi.py b/onionr/onionrblockapi.py index 6dc9029a..335d6d23 100644 --- a/onionr/onionrblockapi.py +++ b/onionr/onionrblockapi.py @@ -96,8 +96,10 @@ class Block: if filelocation is None: if self.getHash() is None: return False - - filelocation = 'data/blocks/%s.dat' % self.getHash() + try: + filelocation = 'data/blocks/%s.dat' % self.getHash().decode() + except AttributeError: + filelocation = 'data/blocks/%s.dat' % self.getHash() with open(filelocation, 'rb') as f: blockdata = f.read().decode('utf-8')