From 4c32083b8b59a50877633910055313dad7bb117e Mon Sep 17 00:00:00 2001 From: Craig Blaszczyk Date: Wed, 7 Jan 2015 12:01:11 +0000 Subject: use double quotes for user visible strings; end user visible strings in full stops; add some missing translation tags --- rest_framework/versioning.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'rest_framework/versioning.py') diff --git a/rest_framework/versioning.py b/rest_framework/versioning.py index 440efd13..587ba9f1 100644 --- a/rest_framework/versioning.py +++ b/rest_framework/versioning.py @@ -67,7 +67,7 @@ class URLPathVersioning(BaseVersioning): Host: example.com Accept: application/json """ - invalid_version_message = _('Invalid version in URL path.') + invalid_version_message = _("Invalid version in URL path.") def determine_version(self, request, *args, **kwargs): version = kwargs.get(self.version_param, self.default_version) @@ -109,7 +109,7 @@ class NamespaceVersioning(BaseVersioning): Host: example.com Accept: application/json """ - invalid_version_message = _('Invalid version in URL path.') + invalid_version_message = _("Invalid version in URL path.") def determine_version(self, request, *args, **kwargs): resolver_match = getattr(request, 'resolver_match', None) @@ -135,7 +135,7 @@ class HostNameVersioning(BaseVersioning): Accept: application/json """ hostname_regex = re.compile(r'^([a-zA-Z0-9]+)\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+$') - invalid_version_message = _('Invalid version in hostname.') + invalid_version_message = _("Invalid version in hostname.") def determine_version(self, request, *args, **kwargs): hostname, seperator, port = request.get_host().partition(':') @@ -157,7 +157,7 @@ class QueryParameterVersioning(BaseVersioning): Host: example.com Accept: application/json """ - invalid_version_message = _('Invalid version in query parameter.') + invalid_version_message = _("Invalid version in query parameter.") def determine_version(self, request, *args, **kwargs): version = request.query_params.get(self.version_param) -- cgit v1.2.3 From 9a4267049ba37883e3e0c21b5d453b9551343b8d Mon Sep 17 00:00:00 2001 From: Craig Blaszczyk Date: Wed, 7 Jan 2015 12:33:37 +0000 Subject: use double quotes in user messages --- rest_framework/versioning.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'rest_framework/versioning.py') diff --git a/rest_framework/versioning.py b/rest_framework/versioning.py index 587ba9f1..819c32df 100644 --- a/rest_framework/versioning.py +++ b/rest_framework/versioning.py @@ -36,7 +36,7 @@ class AcceptHeaderVersioning(BaseVersioning): Host: example.com Accept: application/json; version=1.0 """ - invalid_version_message = _("Invalid version in 'Accept' header.") + invalid_version_message = _("Invalid version in \"Accept\" header.") def determine_version(self, request, *args, **kwargs): media_type = _MediaType(request.accepted_media_type) -- cgit v1.2.3 From 91e316f7810157474d6246cd0024bd7f7cc31ff7 Mon Sep 17 00:00:00 2001 From: Craig Blaszczyk Date: Wed, 7 Jan 2015 12:46:23 +0000 Subject: prefer single quotes in source and double quotes in user visible strings; add some missing full stops to user visible strings --- rest_framework/versioning.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'rest_framework/versioning.py') diff --git a/rest_framework/versioning.py b/rest_framework/versioning.py index 819c32df..e31c71e9 100644 --- a/rest_framework/versioning.py +++ b/rest_framework/versioning.py @@ -36,7 +36,7 @@ class AcceptHeaderVersioning(BaseVersioning): Host: example.com Accept: application/json; version=1.0 """ - invalid_version_message = _("Invalid version in \"Accept\" header.") + invalid_version_message = _('Invalid version in "Accept" header.') def determine_version(self, request, *args, **kwargs): media_type = _MediaType(request.accepted_media_type) @@ -67,7 +67,7 @@ class URLPathVersioning(BaseVersioning): Host: example.com Accept: application/json """ - invalid_version_message = _("Invalid version in URL path.") + invalid_version_message = _('Invalid version in URL path.') def determine_version(self, request, *args, **kwargs): version = kwargs.get(self.version_param, self.default_version) @@ -109,7 +109,7 @@ class NamespaceVersioning(BaseVersioning): Host: example.com Accept: application/json """ - invalid_version_message = _("Invalid version in URL path.") + invalid_version_message = _('Invalid version in URL path.') def determine_version(self, request, *args, **kwargs): resolver_match = getattr(request, 'resolver_match', None) @@ -135,7 +135,7 @@ class HostNameVersioning(BaseVersioning): Accept: application/json """ hostname_regex = re.compile(r'^([a-zA-Z0-9]+)\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+$') - invalid_version_message = _("Invalid version in hostname.") + invalid_version_message = _('Invalid version in hostname.') def determine_version(self, request, *args, **kwargs): hostname, seperator, port = request.get_host().partition(':') @@ -157,7 +157,7 @@ class QueryParameterVersioning(BaseVersioning): Host: example.com Accept: application/json """ - invalid_version_message = _("Invalid version in query parameter.") + invalid_version_message = _('Invalid version in query parameter.') def determine_version(self, request, *args, **kwargs): version = request.query_params.get(self.version_param) -- cgit v1.2.3 From 3cc39ffbceffc5fdbb511d9a10e7732329e8baa4 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Mon, 19 Jan 2015 15:22:38 +0000 Subject: NotImplemented -> NotImplementedError --- rest_framework/versioning.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'rest_framework/versioning.py') diff --git a/rest_framework/versioning.py b/rest_framework/versioning.py index e31c71e9..a07b629f 100644 --- a/rest_framework/versioning.py +++ b/rest_framework/versioning.py @@ -17,7 +17,7 @@ class BaseVersioning(object): def determine_version(self, request, *args, **kwargs): msg = '{cls}.determine_version() must be implemented.' - raise NotImplemented(msg.format( + raise NotImplementedError(msg.format( cls=self.__class__.__name__ )) -- cgit v1.2.3 From 77d061d234e03004f34058028707ecddfc730fae Mon Sep 17 00:00:00 2001 From: Brandon Cazander Date: Wed, 28 Jan 2015 17:08:34 -0800 Subject: Provide rest_framework.resolve. Fixes #2489 --- rest_framework/versioning.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'rest_framework/versioning.py') diff --git a/rest_framework/versioning.py b/rest_framework/versioning.py index a07b629f..a76da17a 100644 --- a/rest_framework/versioning.py +++ b/rest_framework/versioning.py @@ -1,6 +1,8 @@ # coding: utf-8 from __future__ import unicode_literals from django.utils.translation import ugettext_lazy as _ +from django.core.urlresolvers import resolve as django_resolve +from django.core.urlresolvers import ResolverMatch from rest_framework import exceptions from rest_framework.compat import unicode_http_header from rest_framework.reverse import _reverse @@ -24,6 +26,9 @@ class BaseVersioning(object): def reverse(self, viewname, args=None, kwargs=None, request=None, format=None, **extra): return _reverse(viewname, args, kwargs, request, format, **extra) + def resolve(self, path, urlconf=None): + return django_resolve(path, urlconf) + def is_allowed_version(self, version): if not self.allowed_versions: return True @@ -127,6 +132,17 @@ class NamespaceVersioning(BaseVersioning): viewname, args, kwargs, request, format, **extra ) + def resolve(self, path, urlconf=None, request=None): + match = django_resolve(path, urlconf) + if match.namespace: + _, view_name = match.view_name.split(':') + return ResolverMatch(func=match.func, + args=match.args, + kwargs=match.kwargs, + url_name=view_name, + app_name=match.app_name) + return match + class HostNameVersioning(BaseVersioning): """ -- cgit v1.2.3 From e1c45133126e0c47b8470b4cf7a43c6a7f4fca43 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Thu, 5 Feb 2015 00:58:09 +0000 Subject: Fix NamespaceVersioning with hyperlinked serializer fields --- rest_framework/versioning.py | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) (limited to 'rest_framework/versioning.py') diff --git a/rest_framework/versioning.py b/rest_framework/versioning.py index a76da17a..51b886f3 100644 --- a/rest_framework/versioning.py +++ b/rest_framework/versioning.py @@ -1,8 +1,6 @@ # coding: utf-8 from __future__ import unicode_literals from django.utils.translation import ugettext_lazy as _ -from django.core.urlresolvers import resolve as django_resolve -from django.core.urlresolvers import ResolverMatch from rest_framework import exceptions from rest_framework.compat import unicode_http_header from rest_framework.reverse import _reverse @@ -26,9 +24,6 @@ class BaseVersioning(object): def reverse(self, viewname, args=None, kwargs=None, request=None, format=None, **extra): return _reverse(viewname, args, kwargs, request, format, **extra) - def resolve(self, path, urlconf=None): - return django_resolve(path, urlconf) - def is_allowed_version(self, version): if not self.allowed_versions: return True @@ -127,21 +122,13 @@ class NamespaceVersioning(BaseVersioning): def reverse(self, viewname, args=None, kwargs=None, request=None, format=None, **extra): if request.version is not None: - viewname = request.version + ':' + viewname + viewname = self.get_versioned_viewname(viewname, request) return super(NamespaceVersioning, self).reverse( viewname, args, kwargs, request, format, **extra ) - def resolve(self, path, urlconf=None, request=None): - match = django_resolve(path, urlconf) - if match.namespace: - _, view_name = match.view_name.split(':') - return ResolverMatch(func=match.func, - args=match.args, - kwargs=match.kwargs, - url_name=view_name, - app_name=match.app_name) - return match + def get_versioned_viewname(self, viewname, request): + return request.version + ':' + viewname class HostNameVersioning(BaseVersioning): -- cgit v1.2.3