# HG changeset patch # User Jeremy Thurgood # Date 1328990450 -7200 # Node ID 85153f42252250e9494d1098b68dc008c0ca4f05 # Parent 1c5ef1e02e3074f08e7e594bc023c995dd3b11f7 Differently yuck get_image(). diff -r 1c5ef1e02e30 -r 85153f422522 pyntnclick/gamescreen.py --- 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)) diff -r 1c5ef1e02e30 -r 85153f422522 pyntnclick/resources.py --- 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) diff -r 1c5ef1e02e30 -r 85153f422522 pyntnclick/scenewidgets.py --- 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 diff -r 1c5ef1e02e30 -r 85153f422522 pyntnclick/state.py --- 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() diff -r 1c5ef1e02e30 -r 85153f422522 pyntnclick/tests/test_resources.py --- 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):