Commits

Josh VanderLinden  committed 0623d03

Updated the __init__.py to not require pygments

  • Participants
  • Parent commits a7288a6

Comments (0)

Files changed (1)

File articles/__init__.py

 
         mail_admins('New Comment', message)
 
-post_save.connect(notify_of_comment, sender=Comment)
+#post_save.connect(notify_of_comment, sender=Comment)
 
 """
-    The Pygments reStructuredText directive
-    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The Pygments reStructuredText directive
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    This fragment is a Docutils_ 0.4 directive that renders source code
-    (to HTML only, currently) via Pygments.
+This fragment is a Docutils_ 0.4 directive that renders source code
+(to HTML only, currently) via Pygments.
 
-    To use it, adjust the options below and copy the code into a module
-    that you import on initialization.  The code then automatically
-    registers a ``sourcecode`` directive that you can use instead of
-    normal code blocks like this::
+To use it, adjust the options below and copy the code into a module
+that you import on initialization.  The code then automatically
+registers a ``sourcecode`` directive that you can use instead of
+normal code blocks like this::
 
-        .. sourcecode:: python
+    .. sourcecode:: python
 
-            My code goes here.
+        My code goes here.
 
-    If you want to have different code styles, e.g. one with line numbers
-    and one without, add formatters with their names in the VARIANTS dict
-    below.  You can invoke them instead of the DEFAULT one by using a
-    directive option::
+If you want to have different code styles, e.g. one with line numbers
+and one without, add formatters with their names in the VARIANTS dict
+below.  You can invoke them instead of the DEFAULT one by using a
+directive option::
 
-        .. sourcecode:: python
-            :linenos:
+    .. sourcecode:: python
+        :linenos:
 
-            My code goes here.
+        My code goes here.
 
-    Look at the `directive documentation`_ to get all the gory details.
+Look at the `directive documentation`_ to get all the gory details.
 
-    .. _Docutils: http://docutils.sf.net/
-    .. _directive documentation:
-       http://docutils.sourceforge.net/docs/howto/rst-directives.html
+.. _Docutils: http://docutils.sf.net/
+.. _directive documentation:
+    http://docutils.sourceforge.net/docs/howto/rst-directives.html
 
-    :copyright: 2007 by Georg Brandl.
-    :license: BSD, see LICENSE for more details.
+:copyright: 2007 by Georg Brandl.
+:license: BSD, see LICENSE for more details.
 """
 
 # Options
 # Set to True if you want inline CSS styles instead of classes
 INLINESTYLES = False
 
-from pygments.formatters import HtmlFormatter
+try:
+    from pygments.formatters import HtmlFormatter
 
-# The default formatter
-DEFAULT = HtmlFormatter(noclasses=INLINESTYLES)
+    # The default formatter
+    DEFAULT = HtmlFormatter(noclasses=INLINESTYLES)
 
-# Add name -> formatter pairs for every variant you want to use
-VARIANTS = {
-    'linenos': HtmlFormatter(noclasses=INLINESTYLES, linenos=True),
-}
+    # Add name -> formatter pairs for every variant you want to use
+    VARIANTS = {
+        'linenos': HtmlFormatter(noclasses=INLINESTYLES, linenos=True),
+    }
 
-from docutils import nodes
-from docutils.parsers.rst import directives
+    from docutils import nodes
+    from docutils.parsers.rst import directives
 
-from pygments import highlight
-from pygments.lexers import get_lexer_by_name, TextLexer
+    from pygments import highlight
+    from pygments.lexers import get_lexer_by_name, TextLexer
 
-def pygments_directive(name, arguments, options, content, lineno,
-                       content_offset, block_text, state, state_machine):
-    try:
-        lexer = get_lexer_by_name(arguments[0])
-    except ValueError:
-        # no lexer found - use the text one instead of an exception
-        lexer = TextLexer()
-    # take an arbitrary option if more than one is given
-    formatter = options and VARIANTS[options.keys()[0]] or DEFAULT
-    parsed = highlight(u'\n'.join(content), lexer, formatter)
-    parsed = '<div class="codeblock">%s</div>' % parsed
-    return [nodes.raw('', parsed, format='html')]
+    def pygments_directive(name, arguments, options, content, lineno,
+                        content_offset, block_text, state, state_machine):
+        try:
+            lexer = get_lexer_by_name(arguments[0])
+        except ValueError:
+            # no lexer found - use the text one instead of an exception
+            lexer = TextLexer()
+        # take an arbitrary option if more than one is given
+        formatter = options and VARIANTS[options.keys()[0]] or DEFAULT
+        parsed = highlight(u'\n'.join(content), lexer, formatter)
+        parsed = '<div class="codeblock">%s</div>' % parsed
+        return [nodes.raw('', parsed, format='html')]
 
-pygments_directive.arguments = (1, 0, 1)
-pygments_directive.content = 1
-pygments_directive.options = dict([(key, directives.flag) for key in VARIANTS])
+    pygments_directive.arguments = (1, 0, 1)
+    pygments_directive.content = 1
+    pygments_directive.options = dict([(key, directives.flag) for key in VARIANTS])
 
-directives.register_directive('sourcecode', pygments_directive)
+    directives.register_directive('sourcecode', pygments_directive)
 
-# create an alias, so we can use it with rst2pdf... leave the other for
-# backwards compatibility
-directives.register_directive('code-block', pygments_directive)
+    # create an alias, so we can use it with rst2pdf... leave the other for
+    # backwards compatibility
+    directives.register_directive('code-block', pygments_directive)
+except:
+    # the user probably doesn't have pygments installed
+    pass