Example #1
0
# -*- coding: utf-8 -*-
__author__ = 'gzp'

from typing import Optional
from jinja2 import Environment, PackageLoader
from urllib.parse import urlunparse

from rimuru.utils.jinja2 import filters

from rimuru.core.doc_generator import (MarkdownGenerator)

from .base import APIDocWorkshop

template_env = Environment(loader=PackageLoader('rimuru', 'templates'))
template_env.cache = None

template_env.filters[
    'success_responses_filter'] = filters.success_responses_filter
template_env.filters['error_responses_filter'] = filters.error_responses_filter


class MarkdownWorkShop(APIDocWorkshop):
    generator_class = MarkdownGenerator
    template = 'zh_hans_doc.md'
    template_env = template_env

    def __init__(self,
                 *args,
                 template: Optional[str] = None,
                 template_env: Optional[Environment] = None,
                 **kwargs):
Example #2
0
# -*- coding: utf-8 -*-
__author__ = 'gzp'

import os
import inspect
import re

from jinja2 import Environment, PackageLoader

from rimuru.definitions import (Header, Param, Response, type_mapper)
from rimuru.utils.jinja2 import filters
from rimuru.utils.handlers import (decode_utf8, json_body_handler)

env = Environment(loader=PackageLoader('rimuru', 'templates'))
env.cache = None

env.filters['success_responses_filter'] = filters.success_responses_filter
env.filters['error_responses_filter'] = filters.error_responses_filter


class APIDocumentGenerator(object):
    template = 'zh_hans_doc.md'
    env = env

    header_class = Header
    param_class = Param
    response_class = Response

    type_mapper = type_mapper
    response_body_handlers = (
        ('text/html', decode_utf8, 'html'),
Example #3
0
        return self.instance().iteritems(*args, **kwargs)

    def values(self, *args, **kwargs):
        return self.instance().values(*args, **kwargs)

    def itervalue(self, *args, **kwargs):
        return self.instance().itervalue(*args, **kwargs)

    def keys(self, *args, **kwargs):
        return self.instance().keys(*args, **kwargs)

    def iterkeys(self, *args, **kwargs):
        return self.instance().iterkeys(*args, **kwargs)

    def __reversed__(self, *args, **kwargs):
        return self.instance().__reversed__(*args, **kwargs)

    def __iter__(self, *args, **kwargs):
        return self.instance().__iter__(*args, **kwargs)

    def __copy__(self, *args, **kwargs):
        return self.instance().__copy__(*args, **kwargs)


jinja_env.cache = LruCachePerCwd(250)


def template(location: Union[str, Path]) -> Template:
    """A shorthand for loading a Jinja2 template from the current working directory."""
    return jinja_env.get_template(str(location))