~xaav/wikkid/auth-provider

« back to all changes in this revision

Viewing changes to wikkid/formatter/registry.py

  • Committer: Tim Penhey
  • Date: 2010-11-22 09:13:56 UTC
  • mfrom: (50.1.21 wikkid-improvments)
  • Revision ID: tim@penhey.net-20101122091356-s4xzl4rwx2dyg6wc
Textile and markdown formatters, an option to specify the default formatter and a view for attempting to list a missing resource - Thomi Richards

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- coding: utf-8 -*-
1
2
#
2
3
# Copyright (C) 2010 Wikkid Developers
3
4
#
12
13
from wikkid.formatter.pygmentsformatter import PygmentsFormatter
13
14
from wikkid.formatter.restformatter import RestructuredTextFormatter
14
15
 
 
16
# Both textile and markdown are optional.
 
17
try:
 
18
    from wikkid.formatter.markdownformatter import MarkdownFormatter
 
19
    has_markdown = True
 
20
except ImportError:
 
21
    has_markdown = False
 
22
try:
 
23
    from wikkid.formatter.textileformatter import TextileFormatter
 
24
    has_textile = True
 
25
except ImportError:
 
26
    has_textile = False
 
27
 
15
28
 
16
29
class FormatterRegistry(object):
17
30
    """Has a dictionary of formatters based on name."""
18
31
 
19
32
    def __init__(self):
20
 
        self._formatters = {
 
33
        self.formatters = {
 
34
            'creole': CreoleFormatter(),
 
35
            'pygments': PygmentsFormatter(),
21
36
            'rest': RestructuredTextFormatter(),
22
 
            'creole': CreoleFormatter(),
23
 
            'pygments': PygmentsFormatter()
24
37
            }
 
38
        if has_markdown:
 
39
            self.formatters['markdown'] = MarkdownFormatter()
 
40
        if has_textile:
 
41
            self.formatters['textile'] = TextileFormatter()
25
42
 
26
43
    def __getitem__(self, formatter):
27
 
        return self._formatters[formatter]
 
44
        return self.formatters[formatter]
28
45
 
29
46
 
30
47
formatter_registry = FormatterRegistry()