Source

mezzanine-mdown / mdown / management / commands / pygments_styles.py

Full commit
from django.core.management.base import BaseCommand, CommandError

try:
    from pygments.styles import get_all_styles
    from pygments.formatters import HtmlFormatter
except ImportError:
    raise CommandError('Unable to load pygments. Please install pygments to '
                       'use this command.')

class Command(BaseCommand):

    def handle(self, scheme=None, **options):
        if not scheme:
            print """
Usage: ./manage.py pygments_styles <scheme_name>
Available color schemes:
""" + '\n'.join(["  %s" % name for name in get_all_styles()])
        else:
            try:
                assert(scheme in list(get_all_styles()))
            except AssertionError:
                raise CommandError('Invalid scheme name "% s"\n' % scheme +
                                   'Please use one of the available color'
                                   ' schemes on your system:\n' +
                                   '\n'.join(["  %s" % name for name in \
                                              get_all_styles()]))
            print HtmlFormatter(style=scheme).get_style_defs('.codehilite')