changeset 592:ffb0134be578

Hack network level parsing
author Neil Muller <drnlmuller@gmail.com>
date Wed, 11 Jan 2023 20:55:05 +0200
parents f7c11fc2a3e7
children 72539d49c426
files mamba/habitats/userlevelmenu.py
diffstat 1 files changed, 5 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- 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: