home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / lib / gimp / 2.0 / python / gimpshelf.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2006-08-31  |  2.1 KB  |  75 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.4)
  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, int(obj))
  29.  
  30. copy_reg.pickle(gimp.Image, _image_id, gimp._id2image)
  31. copy_reg.pickle(gimp.Layer, _drawable_id, gimp._id2drawable)
  32. copy_reg.pickle(gimp.Channel, _drawable_id, gimp._id2drawable)
  33. copy_reg.pickle(gimp.Display, _display_id, gimp._id2display)
  34. del copy_reg
  35. del _image_id
  36. del _drawable_id
  37. del _display_id
  38.  
  39. class Gimpshelf:
  40.     
  41.     def has_key(self, key):
  42.         
  43.         try:
  44.             s = gimp.get_data(key)
  45.             return 1
  46.         except gimp.error:
  47.             return 0
  48.  
  49.  
  50.     
  51.     def __getitem__(self, key):
  52.         
  53.         try:
  54.             s = gimp.get_data(key)
  55.         except gimp.error:
  56.             raise KeyError, key
  57.  
  58.         f = StringIO.StringIO(s)
  59.         return pickle.Unpickler(f).load()
  60.  
  61.     
  62.     def __setitem__(self, key, value):
  63.         f = StringIO.StringIO()
  64.         p = pickle.Pickler(f)
  65.         p.dump(value)
  66.         gimp.set_data(key, f.getvalue())
  67.  
  68.     
  69.     def __delitem__(self, key):
  70.         gimp.set_data(key, '')
  71.  
  72.  
  73. shelf = Gimpshelf()
  74. del Gimpshelf
  75.