Commit 268e4af5 authored by ana's avatar ana

adding colors library, dependency for glove reader & sentiment thermometer

parent 698747e6
*.pyc
*.egg-info
build/
dist/
# Copyright (c) 2012 Giorgos Verigakis <verigak@gmail.com>
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
ANSI colors for Python
======================
A simple module to add ANSI colors and decorations to your strings.
Example Usage
-------------
You can choose one of the 8 basic ANSI colors: black, red, green, yellow, blue,
magenta, cyan, white.
::
from colors import red, green, blue
print red('This is red')
print green('This is green')
print blue('This is blue')
Optionally you can specify a background color.
::
print red('red on blue', bg='blue')
print green('green on black', bg='black')
You can additionally specify one of the supported styles: bold, faint, italic,
underline, blink, blink2, negative, concealed, crossed. Not all styles are
supported by all terminals.
::
from colors import bold, underline
print bold('This is bold')
print underline('underline red on blue', fg='red', bg='blue')
print green('bold green on black', bg='black', style='bold')
You can also use more than one styles at once.
::
print red('This is very important', style='bold+underline')
xterm-256 colors are supported as well, to use them give an integer instead of
a color name.
::
from colors import color
for i in range(256):
print color('Color #%d' % i, fg=i)
License
-------
colors is licensed under the ISC license.
# Copyright (c) 2012 Giorgos Verigakis <verigak@gmail.com>
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
import re
from functools import partial
__version__ = '1.0.2'
COLORS = ('black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan',
'white')
STYLES = ('bold', 'faint', 'italic', 'underline', 'blink', 'blink2',
'negative', 'concealed', 'crossed')
def color(s, fg=None, bg=None, style=None):
sgr = []
if fg:
if fg in COLORS:
sgr.append(str(30 + COLORS.index(fg)))
elif isinstance(fg, int) and 0 <= fg <= 255:
sgr.append('38;5;%d' % int(fg))
else:
raise Exception('Invalid color "%s"' % fg)
if bg:
if bg in COLORS:
sgr.append(str(40 + COLORS.index(bg)))
elif isinstance(bg, int) and 0 <= bg <= 255:
sgr.append('48;5;%d' % bg)
else:
raise Exception('Invalid color "%s"' % bg)
if style:
for st in style.split('+'):
if st in STYLES:
sgr.append(str(1 + STYLES.index(st)))
else:
raise Exception('Invalid style "%s"' % st)
if sgr:
prefix = '\x1b[' + ';'.join(sgr) + 'm'
suffix = '\x1b[0m'
return prefix + s + suffix
else:
return s
def strip_color(s):
return re.sub('\x1b\[.+?m', '', s)
# Foreground shortcuts
black = partial(color, fg='black')
red = partial(color, fg='red')
green = partial(color, fg='green')
yellow = partial(color, fg='yellow')
blue = partial(color, fg='blue')
magenta = partial(color, fg='magenta')
cyan = partial(color, fg='cyan')
white = partial(color, fg='white')
# Style shortcuts
bold = partial(color, style='bold')
faint = partial(color, style='faint')
italic = partial(color, style='italic')
underline = partial(color, style='underline')
blink = partial(color, style='blink')
blink2 = partial(color, style='blink2')
negative = partial(color, style='negative')
concealed = partial(color, style='concealed')
crossed = partial(color, style='crossed')
#!/usr/bin/env python
from setuptools import setup
import colors
setup(
name='ansicolors',
version=colors.__version__,
description='ANSI colors for Python',
long_description=open('README.rst').read(),
author='Giorgos Verigakis',
author_email='verigak@gmail.com',
url='http://github.com/verigak/colors/',
license='ISC',
py_modules=['colors'],
classifiers=[
'Environment :: Console',
'Intended Audience :: Developers',
'License :: OSI Approved :: ISC License (ISCL)',
'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3'
]
)
#!/usr/bin/env python
from __future__ import print_function
from colors import color, COLORS, STYLES
for bg in (None,) + COLORS:
for fg in (None,) + COLORS:
for style in (None,) + STYLES:
text = ('%s' % (fg or 'normal')).ljust(7)
print(color(text, fg=fg, bg=bg, style=style), end=' ')
print()
for i in range(256):
if i % 64 == 0:
print()
print(color(' ', bg=i), end='')
print()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment