I will check. Would you like me to create one if I don't find one? ~ Nathan
On Tue, Oct 9, 2012 at 3:00 AM, Adam Bark <[email protected]> wrote: > I should have some time to check it over tonight. Is there an issue for > this in the tracker? > On Oct 9, 2012 4:03 AM, "Nathan" <[email protected]> wrote: > >> Sooo, would anyone be willing to commit this? Or...? >> >> ~ Nathan >> >> On Thu, Oct 4, 2012 at 9:36 AM, Nathan <[email protected]> wrote: >> >>> Andre, I'm not combining paths. I'm using the string representation of >>> the current state of the list of paths to add a unique prefix to the key >>> used to cache the image. >>> >>> For example, if pyglet.resource.path is ['my_sad_theme', >>> 'my_happy_theme'], >>> >>> ...then the key will end up being the string "['my_sad_theme', >>> 'my_happy_theme']imagename" >>> >>> If you change the path in any way, then the string representation of the >>> entire path list changes, which results in a different unique key, and a >>> new image searched for and cached using the new string representation of >>> the list as a prefix to the key. >>> >>> Not quite as elegant as making a hash of the path state and using that >>> as a shorter prefix, but it definitely works. >>> >>> ~ Nathan >>> >>> >>> On Thu, Oct 4, 2012 at 5:35 AM, Andre D <[email protected]> wrote: >>> >>>> Please use os.path.join to combine paths >>>> >>>> On Thu, Oct 4, 2012 at 12:58 AM, Nathan <[email protected]> >>>> wrote: >>>> > Currently, if you set pyglet.resource.path to ["foo"] and load >>>> "abc.png" >>>> > (foo/abc.png), and then change pyglet.resource.path to ["bar"] and >>>> try to >>>> > load "abc.png", you still get foo/abc.png, since the caching looks at >>>> the >>>> > name of the image file only. >>>> > >>>> > This simple patch makes it so that the images are cached per specific >>>> > setting of pyglet.resource.path. I included the patch as an >>>> attachment and >>>> > inline below since it's so tiny. >>>> > >>>> > # HG changeset patch >>>> > # User Nathan Stocks <[email protected]> >>>> > # Date 1349326606 21600 >>>> > # Node ID f8102f9ee5b19c43c6129dac070bf393f82e3ef7 >>>> > # Parent bf7f6c05275664ed76aab926944fe3a6a74ff022 >>>> > Made it so that once you load an image, you can still load more >>>> images of >>>> > the same name by changing pyglet.resource.path. >>>> > >>>> > diff -r bf7f6c052756 -r f8102f9ee5b1 pyglet/resource.py >>>> > --- a/pyglet/resource.py Sat Sep 15 16:48:08 2012 -0500 >>>> > +++ b/pyglet/resource.py Wed Oct 03 22:56:46 2012 -0600 >>>> > @@ -504,9 +504,9 @@ >>>> > ''' >>>> > self._require_index() >>>> > if name in self._cached_images: >>>> > - identity = self._cached_images[name] >>>> > + identity = self._cached_images[str(self.path)+name] >>>> > else: >>>> > - identity = self._cached_images[name] = >>>> self._alloc_image(name, >>>> > + identity = self._cached_images[str(self.path)+name] = >>>> > self._alloc_image(name, >>>> > atlas=atlas) >>>> > >>>> > if not rotate and not flip_x and not flip_y: >>>> > >>>> > >>>> > Works great for me! >>>> > >>>> > Thoughts? >>>> > >>>> > ~ Nathan >>>> > >>>> > -- >>>> > You received this message because you are subscribed to the Google >>>> Groups >>>> > "pyglet-users" group. >>>> > To post to this group, send email to [email protected]. >>>> > To unsubscribe from this group, send email to >>>> > [email protected]. >>>> > For more options, visit this group at >>>> > http://groups.google.com/group/pyglet-users?hl=en. >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "pyglet-users" group. >>>> To post to this group, send email to [email protected]. >>>> To unsubscribe from this group, send email to >>>> [email protected]. >>>> For more options, visit this group at >>>> http://groups.google.com/group/pyglet-users?hl=en. >>>> >>>> >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "pyglet-users" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> For more options, visit this group at >> http://groups.google.com/group/pyglet-users?hl=en. >> > -- > You received this message because you are subscribed to the Google Groups > "pyglet-users" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/pyglet-users?hl=en. > -- You received this message because you are subscribed to the Google Groups "pyglet-users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/pyglet-users?hl=en.
