# HG changeset patch # User Neil Muller # Date 1673463305 -7200 # Node ID ffb0134be5785489513a9b9d2dde948696ec7b90 # Parent f7c11fc2a3e7f73ab0477dbb775bcc3759ea25bc Hack network level parsing diff -r f7c11fc2a3e7 -r ffb0134be578 mamba/habitats/userlevelmenu.py --- a/mamba/habitats/userlevelmenu.py Wed Jan 11 20:54:49 2023 +0200 +++ b/mamba/habitats/userlevelmenu.py Wed Jan 11 20:55:05 2023 +0200 @@ -2,7 +2,7 @@ from urllib import request import zipfile -from io import StringIO +from io import BytesIO from mamba.habitats.levelmenu import LevelMenu from mamba.level import Level @@ -51,14 +51,15 @@ except: print("Failed to download online level zip.") return - level_zip = zipfile.ZipFile(StringIO(data), "r") + level_zip = zipfile.ZipFile(BytesIO(data), "r") levels = level_zip.namelist() for level in levels: try: - source = level_zip.read(level) + source = level_zip.read(level).decode('utf-8') self.cache[level] = Level(level, self.level_namespace, source) - except: + except Exception as e: print("Failed to parse online level %r" % level) + print('Error: ', e) def list_levels(self): if not self.cache: