Skip to content

Commit

Permalink
Remove last compat remnants
Browse files Browse the repository at this point in the history
There are now no compat issues. With some work, the compat files can be
removed completely
  • Loading branch information
Mojken committed Mar 29, 2022
1 parent 27b3073 commit d68df66
Showing 1 changed file with 43 additions and 48 deletions.
91 changes: 43 additions & 48 deletions djedi/compat.py
Expand Up @@ -7,68 +7,63 @@
from django.template.loader import render_to_string
from django.template.response import TemplateResponse as BaseTemplateResponse
from django.urls import NoReverseMatch, reverse
from collections import namedtuple
from inspect import getfullargspec
from django.core.cache import caches


def patterns(*urls):
return list(urls)


if django.VERSION >= (1, 9):

def parse_bits(parser, bits, params, varargs, varkw, defaults, takes_context, name):
from django.template import library

return library.parse_bits(
parser=parser,
bits=bits,
params=params,
varargs=varargs,
varkw=varkw,
defaults=defaults,
kwonly=(),
kwonly_defaults=(),
takes_context=takes_context,
name=name,
)

def generic_tag_compiler(
parser, token, params, varargs, varkw, defaults, name, takes_context, node_class
):
"""
Returns a template.Node subclass.
This got inlined into django.template.library since Django since 1.9, this here
is a copypasta replacement:
https://github.com/django/django/blob/stable/1.8.x/django/template/base.py#L1089
"""
bits = token.split_contents()[1:]
args, kwargs = parse_bits(
parser, bits, params, varargs, varkw, defaults, takes_context, name
)
return node_class(takes_context, args, kwargs)


if django.VERSION >= (1, 8):
# Always use the Django template engine on Django 1.8.
render_to_string = partial(render_to_string, using="django")
render = partial(render, using="django")

class TemplateResponse(BaseTemplateResponse):
def __init__(self, *args, **kwargs):
kwargs["using"] = "django"
super(TemplateResponse, self).__init__(*args, **kwargs)
def parse_bits(parser, bits, params, varargs, varkw, defaults, takes_context, name):
from django.template import library

return library.parse_bits(
parser=parser,
bits=bits,
params=params,
varargs=varargs,
varkw=varkw,
defaults=defaults,
kwonly=(),
kwonly_defaults=(),
takes_context=takes_context,
name=name,
)


from django.core.cache import caches
def generic_tag_compiler(
parser, token, params, varargs, varkw, defaults, name, takes_context, node_class
):
"""
Returns a template.Node subclass.
This got inlined into django.template.library since Django since 1.9, this here
is a copypasta replacement:
https://github.com/django/django/blob/stable/1.8.x/django/template/base.py#L1089
"""
bits = token.split_contents()[1:]
args, kwargs = parse_bits(
parser, bits, params, varargs, varkw, defaults, takes_context, name
)
return node_class(takes_context, args, kwargs)


render_to_string = partial(render_to_string, using="django")
render = partial(render, using="django")


class TemplateResponse(BaseTemplateResponse):
def __init__(self, *args, **kwargs):
kwargs["using"] = "django"
super(TemplateResponse, self).__init__(*args, **kwargs)


def get_cache(name):
return caches[name]


from collections import namedtuple
from inspect import getfullargspec

ArgSpec = namedtuple("ArgSpec", ["args", "varargs", "keywords", "defaults"])


Expand Down

0 comments on commit d68df66

Please sign in to comment.