home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_1708 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  4.6 KB  |  100 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. __all__ = [
  5.     'TermColors',
  6.     'InputTermColors',
  7.     'ColorScheme',
  8.     'ColorSchemeTable']
  9. import os
  10. from IPython.ipstruct import Struct
  11.  
  12. def make_color_table(in_class):
  13.     color_templates = (('Black', '0;30'), ('Red', '0;31'), ('Green', '0;32'), ('Brown', '0;33'), ('Blue', '0;34'), ('Purple', '0;35'), ('Cyan', '0;36'), ('LightGray', '0;37'), ('DarkGray', '1;30'), ('LightRed', '1;31'), ('LightGreen', '1;32'), ('Yellow', '1;33'), ('LightBlue', '1;34'), ('LightPurple', '1;35'), ('LightCyan', '1;36'), ('White', '1;37'), ('BlinkBlack', '5;30'), ('BlinkRed', '5;31'), ('BlinkGreen', '5;32'), ('BlinkYellow', '5;33'), ('BlinkBlue', '5;34'), ('BlinkPurple', '5;35'), ('BlinkCyan', '5;36'), ('BlinkLightGray', '5;37'))
  14.     for name, value in color_templates:
  15.         setattr(in_class, name, in_class._base % value)
  16.     
  17.  
  18.  
  19. class TermColors:
  20.     NoColor = ''
  21.     Normal = '\x1b[0m'
  22.     _base = '\x1b[%sm'
  23.  
  24. make_color_table(TermColors)
  25.  
  26. class InputTermColors:
  27.     NoColor = ''
  28.     if os.name == 'nt' and os.environ.get('TERM', 'dumb') == 'emacs':
  29.         Normal = '\x1b[0m'
  30.         _base = '\x1b[%sm'
  31.     else:
  32.         Normal = '\x01\x1b[0m\x02'
  33.         _base = '\x01\x1b[%sm\x02'
  34.  
  35. make_color_table(InputTermColors)
  36.  
  37. class ColorScheme:
  38.     
  39.     def __init__(self, _ColorScheme__scheme_name_, colordict = None, **colormap):
  40.         self.name = _ColorScheme__scheme_name_
  41.         if colordict is None:
  42.             self.colors = Struct(**colormap)
  43.         else:
  44.             self.colors = Struct(colordict)
  45.  
  46.     
  47.     def copy(self, name = None):
  48.         if name is None:
  49.             name = self.name
  50.         
  51.         return ColorScheme(name, self.colors.__dict__)
  52.  
  53.  
  54.  
  55. class ColorSchemeTable(dict):
  56.     
  57.     def __init__(self, scheme_list = None, default_scheme = ''):
  58.         self.active_scheme_name = ''
  59.         self.active_colors = None
  60.         if scheme_list:
  61.             if default_scheme == '':
  62.                 raise ValueError, 'you must specify the default color scheme'
  63.             default_scheme == ''
  64.             for scheme in scheme_list:
  65.                 self.add_scheme(scheme)
  66.             
  67.             self.set_active_scheme(default_scheme)
  68.         
  69.  
  70.     
  71.     def copy(self):
  72.         return ColorSchemeTable(self.values(), self.active_scheme_name)
  73.  
  74.     
  75.     def add_scheme(self, new_scheme):
  76.         if not isinstance(new_scheme, ColorScheme):
  77.             raise ValueError, 'ColorSchemeTable only accepts ColorScheme instances'
  78.         isinstance(new_scheme, ColorScheme)
  79.         self[new_scheme.name] = new_scheme
  80.  
  81.     
  82.     def set_active_scheme(self, scheme, case_sensitive = 0):
  83.         scheme_names = self.keys()
  84.         
  85.         try:
  86.             scheme_idx = valid_schemes.index(scheme_test)
  87.         except ValueError:
  88.             [] if case_sensitive else []
  89.             [] if case_sensitive else []
  90.             raise ValueError, 'Unrecognized color scheme: ' + scheme + '\nValid schemes: ' + str(scheme_names).replace("'', ", '')
  91.         except:
  92.             [] if case_sensitive else []
  93.  
  94.         active = scheme_names[scheme_idx]
  95.         self.active_scheme_name = active
  96.         self.active_colors = self[active].colors
  97.         self[''] = self[active]
  98.  
  99.  
  100.