home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- __all__ = [
- 'TermColors',
- 'InputTermColors',
- 'ColorScheme',
- 'ColorSchemeTable']
- import os
- from IPython.ipstruct import Struct
-
- def make_color_table(in_class):
- 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'))
- for name, value in color_templates:
- setattr(in_class, name, in_class._base % value)
-
-
-
- class TermColors:
- NoColor = ''
- Normal = '\x1b[0m'
- _base = '\x1b[%sm'
-
- make_color_table(TermColors)
-
- class InputTermColors:
- NoColor = ''
- if os.name == 'nt' and os.environ.get('TERM', 'dumb') == 'emacs':
- Normal = '\x1b[0m'
- _base = '\x1b[%sm'
- else:
- Normal = '\x01\x1b[0m\x02'
- _base = '\x01\x1b[%sm\x02'
-
- make_color_table(InputTermColors)
-
- class ColorScheme:
-
- def __init__(self, _ColorScheme__scheme_name_, colordict = None, **colormap):
- self.name = _ColorScheme__scheme_name_
- if colordict is None:
- self.colors = Struct(**colormap)
- else:
- self.colors = Struct(colordict)
-
-
- def copy(self, name = None):
- if name is None:
- name = self.name
-
- return ColorScheme(name, self.colors.__dict__)
-
-
-
- class ColorSchemeTable(dict):
-
- def __init__(self, scheme_list = None, default_scheme = ''):
- self.active_scheme_name = ''
- self.active_colors = None
- if scheme_list:
- if default_scheme == '':
- raise ValueError, 'you must specify the default color scheme'
- default_scheme == ''
- for scheme in scheme_list:
- self.add_scheme(scheme)
-
- self.set_active_scheme(default_scheme)
-
-
-
- def copy(self):
- return ColorSchemeTable(self.values(), self.active_scheme_name)
-
-
- def add_scheme(self, new_scheme):
- if not isinstance(new_scheme, ColorScheme):
- raise ValueError, 'ColorSchemeTable only accepts ColorScheme instances'
- isinstance(new_scheme, ColorScheme)
- self[new_scheme.name] = new_scheme
-
-
- def set_active_scheme(self, scheme, case_sensitive = 0):
- scheme_names = self.keys()
-
- try:
- scheme_idx = valid_schemes.index(scheme_test)
- except ValueError:
- [] if case_sensitive else []
- [] if case_sensitive else []
- raise ValueError, 'Unrecognized color scheme: ' + scheme + '\nValid schemes: ' + str(scheme_names).replace("'', ", '')
- except:
- [] if case_sensitive else []
-
- active = scheme_names[scheme_idx]
- self.active_scheme_name = active
- self.active_colors = self[active].colors
- self[''] = self[active]
-
-
-