diff mamba/habitats/editor.py @ 590:2d3dee657638

Game runs, although weirdly
author Neil Muller <drnlmuller@gmail.com>
date Wed, 11 Jan 2023 20:41:40 +0200
parents fca61cd8fc33
children 16c690a7dc27
line wrap: on
line diff
--- a/mamba/habitats/editor.py	Wed Jan 11 20:29:36 2023 +0200
+++ b/mamba/habitats/editor.py	Wed Jan 11 20:41:40 2023 +0200
@@ -5,9 +5,8 @@
         K_LEFT, K_RIGHT, K_DOWN, K_UP, K_SPACE)
 import sys
 import traceback
-from StringIO import StringIO
-import urllib
-import urllib2
+from io import StringIO
+from urllib import request, parse
 
 from mamba.engine import (Habitat, NewHabitatEvent, SnakeDiedEvent,
         LevelCompletedEvent)
@@ -311,7 +310,7 @@
         if message is None:
             try:
                 self.level.validate_level()
-            except InvalidMapError, error:
+            except InvalidMapError as error:
                 message = MessageBox((300, 300), "Map isn't valid\n%s" % error)
 
         return message
@@ -327,7 +326,7 @@
             self.refresh_display()
             message = MessageBox((300, 300),
                     'Success!\nYou have saved a user level')
-        except Exception, e:
+        except Exception as e:
             # Catch-all if things go wrong
             message = MessageBox((300, 300),
                     "Disaster! Level not saved:\n%s" % e)
@@ -346,9 +345,9 @@
         self.level.save_level(save_file=save_file)
 
         url = "%ssave/%s" % (LEVEL_SERVER, self.level.level_name)
-        args = urllib.urlencode([('data', save_file.getvalue())])
+        args = parse.urlencode([('data', save_file.getvalue())])
         try:
-            result = urllib2.urlopen(url, args)
+            result = request.urlopen(url, args)
             mtxt = result.read()
         except:
             mtxt = "Failed to upload level. :("
@@ -384,7 +383,7 @@
             source = load_file("%s/%s.txt" % (level_dir, level_name),
                                is_user_dir=is_user_dir)
             new_level = Level(level_name, 'user', source.read())
-        except (IOError, InvalidMapError, pygame.error), error:
+        except (IOError, InvalidMapError, pygame.error) as error:
             message = MessageBox((300, 300),
                     'Loading Level Failed: %s' % error, color='red')
             self.display_dialog(message)
@@ -408,7 +407,7 @@
         if new_mode == 'Test':
             try:
                 self.level.validate_level()
-            except InvalidMapError, error:
+            except InvalidMapError as error:
                 # Fail to change mode on invalid maps
                 message = MessageBox((300, 300), "Map isn't valid\n%s" % error)
                 self.display_dialog(message)
@@ -468,7 +467,7 @@
             self.level.tileset = Tileset(new_tileset)
             self.level.restart()
             return None
-        except pygame.error, error:
+        except pygame.error as error:
             self.level.tileset = old_tileset
             return MessageBox(
                 (300, 300), 'Unable to change tileset:: %s' % error,