コード例 #1
0
 def get_context(self, data, request):
     return {
         'document': data,
         'langs': self.languages,
         'code_style': pygments_css(self.code_style),
         'request': request
     }
コード例 #2
0
 def get_context(self, data, request):
     return {
         'document': data,
         'langs': self.languages,
         'code_style': pygments_css(self.code_style),
         'request': request
     }
コード例 #3
0
 def get_context(self, data, request):
     return {
         'document': data,
         'langs': self.languages,
         'lang_htmls': ["rest_framework/docs/langs/%s.html" % l for l in self.languages],
         'lang_intro_htmls': ["rest_framework/docs/langs/%s-intro.html" % l for l in self.languages],
         'code_style': pygments_css(self.code_style),
         'request': request
     }
コード例 #4
0
 def get_context(self, data, request):
     return {
         'document': data,
         'langs': self.languages,
         'lang_htmls': ["rest_framework/docs/langs/%s.html" % l for l in self.languages],
         'lang_intro_htmls': ["rest_framework/docs/langs/%s-intro.html" % l for l in self.languages],
         'code_style': pygments_css(self.code_style),
         'request': request
     }
コード例 #5
0
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)

        docs = self.generate_docs()
        context.update({
            'api': docs,
            'code_style': pygments_css(self.code_style),
        })

        return context
コード例 #6
0
 def get_context(self, data, request):
     return {
         "document": data,
         "langs": self.languages,
         "lang_htmls": [
             "rest_framework/docs/langs/%s.html" % l for l in self.languages
         ],
         "lang_intro_htmls": [
             "rest_framework/docs/langs/%s-intro.html" % l for l in self.languages
         ],
         "code_style": pygments_css(self.code_style),
         "request": request,
     }
コード例 #7
0
ファイル: utils.py プロジェクト: sumit4613/django-salesman
def format_json(value: dict, styled: bool = True) -> str:
    """
    Format json and add color using pygments with fallback.

    Args:
        value (dict): Dict to be formated to json
        styled (bool): True if output should be styled

    Returns:
        str: JSON formated html string
    """
    value = json.dumps(value, indent=2)
    value = pygments_highlight(value, 'json', 'tango')
    style = pygments_css('tango')
    if styled and style:
        html = (
            f'<style>{style}</style>'
            f'<pre class="highlight" style="margin: 0; padding: 1em;">{value}</pre>'
        )
    else:
        html = f'<pre style="margin: 0;">{value}</pre>'
    return format_html('<div>{}</div>', mark_safe(html))
コード例 #8
0
def format_json(value: dict, context: dict = {}) -> str:
    """
    Format json and add color using pygments with fallback.

    Args:
        value (dict): Dict to be formated to json
        context (dict, optional): Format context data. Defaults to {}.

    Returns:
        str: JSON formated html string
    """
    value = json.dumps(value, indent=2)
    value = pygments_highlight(value, 'json', 'tango')
    style = pygments_css('tango')
    styled = context.get('styled', True)  # Used for testing.
    if styled and style:
        html = (
            f'<style>{style}</style>'
            f'<pre class="highlight" style="margin: 0; padding: 1em;">{value}</pre>'
        )
    else:
        html = f'<pre style="margin: 0;">{value}</pre>'
    return format_html('<div>{}</div>', mark_safe(html))
コード例 #9
0
    def get_context(self, data, accepted_media_type, renderer_context):
        """
        Returns the context used to render.
        """
        view = renderer_context["view"]
        request = renderer_context["request"]
        response = renderer_context["response"]

        renderer = self.get_default_renderer(view)

        raw_data_post_form = self.get_raw_data_form(data, view, "POST",
                                                    request)
        raw_data_put_form = self.get_raw_data_form(data, view, "PUT", request)
        raw_data_patch_form = self.get_raw_data_form(data, view, "PATCH",
                                                     request)
        raw_data_put_or_patch_form = raw_data_put_form or raw_data_patch_form

        response_headers = OrderedDict(sorted(response.items()))
        renderer_content_type = ""
        if renderer:
            renderer_content_type = "%s" % renderer.media_type
            if renderer.charset:
                renderer_content_type += " ;%s" % renderer.charset
        response_headers["Content-Type"] = renderer_content_type

        if getattr(view, "paginator",
                   None) and view.paginator.display_page_controls:
            paginator = view.paginator
        else:
            paginator = None

        csrf_cookie_name = settings.CSRF_COOKIE_NAME
        csrf_header_name = settings.CSRF_HEADER_NAME
        if csrf_header_name.startswith("HTTP_"):
            csrf_header_name = csrf_header_name[5:]
        csrf_header_name = csrf_header_name.replace("_", "-")

        return {
            "content":
            self.get_content(renderer, data, accepted_media_type,
                             renderer_context),
            "code_style":
            pygments_css(self.code_style),
            "view":
            view,
            "request":
            request,
            "response":
            response,
            "user":
            request.user,
            "description":
            self.get_description(view, response.status_code),
            "name":
            self.get_name(view),
            "version":
            VERSION,
            "paginator":
            paginator,
            "breadcrumblist":
            self.get_breadcrumbs(request),
            "allowed_methods":
            view.allowed_methods,
            "available_formats":
            [renderer_cls.format for renderer_cls in view.renderer_classes],
            "response_headers":
            response_headers,
            "put_form":
            self.get_rendered_html_form(data, view, "PUT", request),
            "post_form":
            self.get_rendered_html_form(data, view, "POST", request),
            "delete_form":
            self.get_rendered_html_form(data, view, "DELETE", request),
            "options_form":
            self.get_rendered_html_form(data, view, "OPTIONS", request),
            "extra_actions":
            self.get_extra_actions(view, response.status_code),
            "filter_form":
            self.get_filter_form(data, view, request),
            "raw_data_put_form":
            raw_data_put_form,
            "raw_data_post_form":
            raw_data_post_form,
            "raw_data_patch_form":
            raw_data_patch_form,
            "raw_data_put_or_patch_form":
            raw_data_put_or_patch_form,
            "display_edit_forms":
            bool(response.status_code != 403),
            "api_settings":
            api_settings,
            "csrf_cookie_name":
            csrf_cookie_name,
            "csrf_header_name":
            csrf_header_name,
        }
コード例 #10
0
    def get_context(self, data, accepted_media_type, renderer_context):
        """
        Returns the context used to render.
        """
        view = renderer_context['view']
        request = renderer_context['request']
        response = renderer_context['response']

        renderer = self.get_default_renderer(view)

        raw_data_post_form = self.get_raw_data_form(data, view, 'POST',
                                                    request)
        raw_data_put_form = self.get_raw_data_form(data, view, 'PUT', request)
        raw_data_patch_form = self.get_raw_data_form(data, view, 'PATCH',
                                                     request)
        raw_data_put_or_patch_form = raw_data_put_form or raw_data_patch_form

        response_headers = OrderedDict(sorted(response.items()))
        renderer_content_type = ''
        if renderer:
            renderer_content_type = '%s' % renderer.media_type
            if renderer.charset:
                renderer_content_type += ' ;%s' % renderer.charset
        response_headers['Content-Type'] = renderer_content_type

        if getattr(view, 'paginator',
                   None) and view.paginator.display_page_controls:
            paginator = view.paginator
        else:
            paginator = None

        csrf_cookie_name = settings.CSRF_COOKIE_NAME
        csrf_header_name = settings.CSRF_HEADER_NAME
        if csrf_header_name.startswith('HTTP_'):
            csrf_header_name = csrf_header_name[5:]
        csrf_header_name = csrf_header_name.replace('_', '-')

        return {
            'content':
            self.get_content(renderer, data, accepted_media_type,
                             renderer_context),
            'code_style':
            pygments_css(self.code_style),
            'view':
            view,
            'request':
            request,
            'response':
            response,
            'user':
            request.user,
            'description':
            self.get_description(view, response.status_code),
            'name':
            self.get_name(view),
            'version':
            VERSION,
            'paginator':
            paginator,
            'breadcrumblist':
            self.get_breadcrumbs(request),
            'allowed_methods':
            view.allowed_methods,
            'available_formats':
            [renderer_cls.format for renderer_cls in view.renderer_classes],
            'response_headers':
            response_headers,
            'put_form':
            self.get_rendered_html_form(data, view, 'PUT', request),
            'post_form':
            self.get_rendered_html_form(data, view, 'POST', request),
            'delete_form':
            self.get_rendered_html_form(data, view, 'DELETE', request),
            'options_form':
            self.get_rendered_html_form(data, view, 'OPTIONS', request),
            'extra_actions':
            self.get_extra_actions(view, response.status_code),
            'filter_form':
            self.get_filter_form(data, view, request),
            'raw_data_put_form':
            raw_data_put_form,
            'raw_data_post_form':
            raw_data_post_form,
            'raw_data_patch_form':
            raw_data_patch_form,
            'raw_data_put_or_patch_form':
            raw_data_put_or_patch_form,
            'display_edit_forms':
            bool(response.status_code != 403),
            'api_settings':
            api_settings,
            'csrf_cookie_name':
            csrf_cookie_name,
            'csrf_header_name':
            csrf_header_name
        }
コード例 #11
0
    def get_context(self, data, accepted_media_type, renderer_context):
        """
        Returns the context used to render.
        """
        view = renderer_context['view']
        request = renderer_context['request']
        response = renderer_context['response']

        renderer = self.get_default_renderer(view)

        raw_data_post_form = self.get_raw_data_form(data, view, 'POST', request)
        raw_data_put_form = self.get_raw_data_form(data, view, 'PUT', request)
        raw_data_patch_form = self.get_raw_data_form(data, view, 'PATCH', request)
        raw_data_put_or_patch_form = raw_data_put_form or raw_data_patch_form

        response_headers = OrderedDict(sorted(response.items()))
        renderer_content_type = ''
        if renderer:
            renderer_content_type = '%s' % renderer.media_type
            if renderer.charset:
                renderer_content_type += ' ;%s' % renderer.charset
        response_headers['Content-Type'] = renderer_content_type

        if getattr(view, 'paginator', None) and view.paginator.display_page_controls:
            paginator = view.paginator
        else:
            paginator = None

        csrf_cookie_name = settings.CSRF_COOKIE_NAME
        csrf_header_name = settings.CSRF_HEADER_NAME
        if csrf_header_name.startswith('HTTP_'):
            csrf_header_name = csrf_header_name[5:]
        csrf_header_name = csrf_header_name.replace('_', '-')

        return {
            'content': self.get_content(renderer, data, accepted_media_type, renderer_context),
            'code_style': pygments_css(self.code_style),
            'view': view,
            'request': request,
            'response': response,
            'user': request.user,
            'description': self.get_description(view, response.status_code),
            'name': self.get_name(view),
            'version': VERSION,
            'paginator': paginator,
            'breadcrumblist': self.get_breadcrumbs(request),
            'allowed_methods': view.allowed_methods,
            'available_formats': [renderer_cls.format for renderer_cls in view.renderer_classes],
            'response_headers': response_headers,

            'put_form': self.get_rendered_html_form(data, view, 'PUT', request),
            'post_form': self.get_rendered_html_form(data, view, 'POST', request),
            'delete_form': self.get_rendered_html_form(data, view, 'DELETE', request),
            'options_form': self.get_rendered_html_form(data, view, 'OPTIONS', request),

            'extra_actions': self.get_extra_actions(view),

            'filter_form': self.get_filter_form(data, view, request),

            'raw_data_put_form': raw_data_put_form,
            'raw_data_post_form': raw_data_post_form,
            'raw_data_patch_form': raw_data_patch_form,
            'raw_data_put_or_patch_form': raw_data_put_or_patch_form,

            'display_edit_forms': bool(response.status_code != 403),

            'api_settings': api_settings,
            'csrf_cookie_name': csrf_cookie_name,
            'csrf_header_name': csrf_header_name
        }