changeset 625:85153f422522 pyntnclick

Differently yuck get_image().
author Jeremy Thurgood <firxen@gmail.com>
date Sat, 11 Feb 2012 22:00:50 +0200
parents 1c5ef1e02e30
children cc1085432faf
files pyntnclick/gamescreen.py pyntnclick/resources.py pyntnclick/scenewidgets.py pyntnclick/state.py pyntnclick/tests/test_resources.py
diffstat 5 files changed, 20 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/pyntnclick/gamescreen.py	Sat Feb 11 21:52:42 2012 +0200
+++ b/pyntnclick/gamescreen.py	Sat Feb 11 22:00:50 2012 +0200
@@ -264,7 +264,7 @@
     """A placeholder 'Game Over' screen so people can get started easily"""
 
     def setup(self):
-        self.background = self.resource.get_image(('pyntnclick', 'end.png'))
+        self.background = self.resource.get_image('pyntnclick/end.png')
 
     def draw(self, surface):
         surface.blit(self.background, (0, 0))
@@ -274,7 +274,7 @@
     """A placeholder Start screen so people can get started easily"""
 
     def setup(self):
-        self.background = self.resource.get_image(('pyntnclick', 'start.png'))
+        self.background = self.resource.get_image('pyntnclick/start.png')
 
     def draw(self, surface):
         surface.blit(self.background, (0, 0))
--- a/pyntnclick/resources.py	Sat Feb 11 21:52:42 2012 +0200
+++ b/pyntnclick/resources.py	Sat Feb 11 22:00:50 2012 +0200
@@ -58,23 +58,24 @@
             paths.append(resource_filename(module, resource_path))
         return paths
 
-    def get_image(self, image_name_fragments, transforms=(), basedir='images'):
+    def get_image(self, *image_name_fragments, **kw):
         """Load an image and optionally apply mutators.
 
-        The `image_name_fragments` parameter may be either a string or a list
-        of strings. The latter is a convenience for things that compose an
-        image name out of several fragments.
+        All positional params end up in `image_name_fragments` and are joined
+        with the path separator.
+
+        Two keyword parameters are also accepted:
 
-        The `transforms` param may contain transforms, which modify an image
-        in-place to apply various effects.
+         * `transforms` may contain transforms, which modify an image in-place
+           to apply various effects.
 
-        The `basedir` param defaults to 'images', but may be overriden to load
-        images from other places. ('icons', for example.)
+         * `basedir` defaults to 'images', but may be overridden to load images
+           from other places. ('icons', for example.)
         """
 
-        # Juggle our various params and find an appropriate image path.
-        if isinstance(image_name_fragments, basestring):
-            image_name_fragments = [image_name_fragments]
+        transforms = kw.get('transforms', ())
+        basedir = kw.get('basedir', 'images')
+
         image_path = self.get_resource_path(basedir, *image_name_fragments)
 
         key = (image_path, transforms)
--- a/pyntnclick/scenewidgets.py	Sat Feb 11 21:52:42 2012 +0200
+++ b/pyntnclick/scenewidgets.py	Sat Feb 11 22:00:50 2012 +0200
@@ -77,7 +77,7 @@
         self._image_name = image_name
 
     def set_thing(self, thing):
-        self.image = get_image((thing.folder, self._image_name))
+        self.image = get_image(thing.folder, self._image_name)
         self.rect = Rect(self._pos, self.image.get_size())
         self.interact_rect = self.rect
 
@@ -109,7 +109,7 @@
         self._delay = delay
 
     def set_thing(self, thing):
-        self._anim_seq = [get_image((thing.folder, x)) for x in self._names]
+        self._anim_seq = [get_image(thing.folder, x) for x in self._names]
         self.image = self._anim_seq[0]
         self.rect = Rect(self._pos, self.image.get_size())
         self.interact_rect = self.rect
--- a/pyntnclick/state.py	Sat Feb 11 21:52:42 2012 +0200
+++ b/pyntnclick/state.py	Sat Feb 11 22:00:50 2012 +0200
@@ -327,7 +327,7 @@
     def _cache_background(self):
         if self.BACKGROUND and not self._background:
             self._background = self.resource.get_image(
-                    (self.FOLDER, self.BACKGROUND))
+                self.FOLDER, self.BACKGROUND)
 
     def draw_background(self, surface):
         self._cache_background()
@@ -394,7 +394,7 @@
         return self._background.get_size()
 
     def get_image(self, *image_name_fragments, **kw):
-        return self.resource.get_image(image_name_fragments, **kw)
+        return self.resource.get_image(*image_name_fragments, **kw)
 
 
 class InteractiveMixin(object):
@@ -555,7 +555,7 @@
     def _cache_inventory_image(self):
         if not self.inventory_image:
             self.inventory_image = self.resource.get_image(
-                    ('items', self.INVENTORY_IMAGE))
+                    'items', self.INVENTORY_IMAGE)
 
     def get_inventory_image(self):
         self._cache_inventory_image()
--- a/pyntnclick/tests/test_resources.py	Sat Feb 11 21:52:42 2012 +0200
+++ b/pyntnclick/tests/test_resources.py	Sat Feb 11 22:00:50 2012 +0200
@@ -53,7 +53,7 @@
         self.assertTrue(isinstance(image, Surface))
 
     def test_get_image_fragments(self):
-        image = self.res.get_image(['pyntnclick', 'hand.png'])
+        image = self.res.get_image('pyntnclick', 'hand.png')
         self.assertTrue(isinstance(image, Surface))
 
     def test_get_image_different_basedir(self):