home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2009 May / maximum-cd-2009-05.iso / DiscContents / gimp-2.6.5-i686-setup.exe / {app} / lib / gimp / 2.0 / python / gimpshelf,1.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2009-02-15  |  2.8 KB  |  81 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4.  
  5. try:
  6.     import cPickle as pickle
  7. except ImportError:
  8.     import pickle
  9.  
  10.  
  11. try:
  12.     import cStringIO as StringIO
  13. except ImportError:
  14.     import StringIO
  15.  
  16. import gimp
  17. import copy_reg
  18.  
  19. def _image_id(obj):
  20.     return (gimp._id2image, (obj.ID,))
  21.  
  22.  
  23. def _drawable_id(obj):
  24.     return (gimp._id2drawable, (obj.ID,))
  25.  
  26.  
  27. def _display_id(obj):
  28.     return (gimp._id2display, (obj.ID,))
  29.  
  30.  
  31. def _vectors_id(obj):
  32.     return (gimp._id2vectors, (int(obj.ID),))
  33.  
  34. copy_reg.pickle(gimp.Image, _image_id, gimp._id2image)
  35. copy_reg.pickle(gimp.Layer, _drawable_id, gimp._id2drawable)
  36. copy_reg.pickle(gimp.Channel, _drawable_id, gimp._id2drawable)
  37. copy_reg.pickle(gimp.Display, _display_id, gimp._id2display)
  38. copy_reg.pickle(gimp.Vectors, _vectors_id, gimp._id2vectors)
  39. del copy_reg
  40. del _image_id
  41. del _drawable_id
  42. del _display_id
  43. del _vectors_id
  44.  
  45. class Gimpshelf:
  46.     
  47.     def has_key(self, key):
  48.         
  49.         try:
  50.             s = gimp.get_data(key)
  51.             return 1
  52.         except gimp.error:
  53.             return 0
  54.  
  55.  
  56.     
  57.     def __getitem__(self, key):
  58.         
  59.         try:
  60.             s = gimp.get_data(key)
  61.         except gimp.error:
  62.             raise KeyError, key
  63.  
  64.         f = StringIO.StringIO(s)
  65.         return pickle.Unpickler(f).load()
  66.  
  67.     
  68.     def __setitem__(self, key, value):
  69.         f = StringIO.StringIO()
  70.         p = pickle.Pickler(f)
  71.         p.dump(value)
  72.         gimp.set_data(key, f.getvalue())
  73.  
  74.     
  75.     def __delitem__(self, key):
  76.         gimp.set_data(key, '')
  77.  
  78.  
  79. shelf = Gimpshelf()
  80. del Gimpshelf
  81.