From bdf854b3a43158566ae4941d869d3e0cf858cd71 Mon Sep 17 00:00:00 2001 From: playma Date: Wed, 16 Jan 2019 11:01:11 +0800 Subject: [PATCH 1/6] Support two different kinds of style api - django-rest-framework-google-json-style-api - django-rest-framework-json-api --- djangorestframework_camel_case/settings.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/djangorestframework_camel_case/settings.py b/djangorestframework_camel_case/settings.py index 7324564..dde7de1 100644 --- a/djangorestframework_camel_case/settings.py +++ b/djangorestframework_camel_case/settings.py @@ -26,9 +26,13 @@ 'RENDERER_CLASS': ( 'rest_framework.renderers.JSONRenderer', 'rest_framework.renderers.UnicodeJSONRenderer', + 'rest_framework_google_json_style_api.renderers.JSONRenderer', + 'rest_framework_json_api.renderers.JSONRenderer', ), 'PARSER_CLASS': ( 'rest_framework.parsers.JSONParser', + 'rest_framework_google_json_style_api.parsers.JSONParser', + 'rest_framework_json_api.parsers.JSONParser', ) } From 8d73b362b61b0e9a8b4f0bc6dbdc0cadecd0fe62 Mon Sep 17 00:00:00 2001 From: playma Date: Wed, 16 Jan 2019 11:17:21 +0800 Subject: [PATCH 2/6] Update README file --- README.rst | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/README.rst b/README.rst index 9a6f94e..1e37840 100644 --- a/README.rst +++ b/README.rst @@ -38,19 +38,37 @@ Add the render and parser to your django settings file. # ... ================= -Swapping Renderer +Swapping Renderer and Parser ================= -By default the package uses `rest_framework.renderers.JSONRenderer`. If you want -to use another renderer (the only possible alternative is -`rest_framework.renderers.UnicodeJSONRenderer`, only available in DRF < 3.0), you must specify it in your django -settings file. +By default the package uses `rest_framework.renderers.JSONRenderer` and `rest_framework.parsers.JSONParser`. +If you want to use another renderer or parser, you must specify it in your django settings file. + +Currently Support + +.. code-block:: python + + 'RENDERER_CLASS': ( + 'rest_framework.renderers.JSONRenderer', + 'rest_framework.renderers.UnicodeJSONRenderer', # only available in DRF < 3.0 + 'rest_framework_google_json_style_api.renderers.JSONRenderer', + 'rest_framework_json_api.renderers.JSONRenderer', + ), + 'PARSER_CLASS': ( + 'rest_framework.parsers.JSONParser', + 'rest_framework_google_json_style_api.parsers.JSONParser', + 'rest_framework_json_api.parsers.JSONParser', + ) + + +Specify it in your django settings file. .. code-block:: python # ... JSON_CAMEL_CASE = { - 'RENDERER_CLASS': 'rest_framework.renderers.UnicodeJSONRenderer' + 'RENDERER_CLASS': 'rest_framework_google_json_style_api.renderers.JSONRenderer', + 'PARSER_CLASS': 'rest_framework_google_json_style_api.parsers.JSONParser', } # ... From ad231aa38122aca33183016ec0f7d9eeea8c2874 Mon Sep 17 00:00:00 2001 From: playma Date: Wed, 16 Jan 2019 11:20:59 +0800 Subject: [PATCH 3/6] Update setup file --- setup.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/setup.py b/setup.py index 3f3be92..154d5d1 100755 --- a/setup.py +++ b/setup.py @@ -23,9 +23,9 @@ version=djangorestframework_camel_case.__version__, description='Camel case JSON support for Django REST framework.', long_description=readme + '\n\n' + history, - author='Vitaly Babiy', - author_email='vbabiy86@gmail.com', - url='https://github.com/vbabiy/djangorestframework-camel-case', + author="Pocheng, playma", + author_email='pcghuang@gmail.com, scott820914@gmail.com', + url='https://github.com/Envive/djangorestframework-camel-case', packages=[ 'djangorestframework_camel_case', ], From 51c65965133aa1cec8bcc5389dd99b5fd527b1ab Mon Sep 17 00:00:00 2001 From: Chieh Teng Chang Date: Wed, 16 Jan 2019 11:31:40 +0800 Subject: [PATCH 4/6] Support two different kinds of style api (#1) * Support two different kinds of style api - django-rest-framework-google-json-style-api - django-rest-framework-json-api * Update README file * Update setup file --- README.rst | 30 +++++++++++++++++----- djangorestframework_camel_case/settings.py | 4 +++ setup.py | 6 ++--- 3 files changed, 31 insertions(+), 9 deletions(-) diff --git a/README.rst b/README.rst index 9a6f94e..1e37840 100644 --- a/README.rst +++ b/README.rst @@ -38,19 +38,37 @@ Add the render and parser to your django settings file. # ... ================= -Swapping Renderer +Swapping Renderer and Parser ================= -By default the package uses `rest_framework.renderers.JSONRenderer`. If you want -to use another renderer (the only possible alternative is -`rest_framework.renderers.UnicodeJSONRenderer`, only available in DRF < 3.0), you must specify it in your django -settings file. +By default the package uses `rest_framework.renderers.JSONRenderer` and `rest_framework.parsers.JSONParser`. +If you want to use another renderer or parser, you must specify it in your django settings file. + +Currently Support + +.. code-block:: python + + 'RENDERER_CLASS': ( + 'rest_framework.renderers.JSONRenderer', + 'rest_framework.renderers.UnicodeJSONRenderer', # only available in DRF < 3.0 + 'rest_framework_google_json_style_api.renderers.JSONRenderer', + 'rest_framework_json_api.renderers.JSONRenderer', + ), + 'PARSER_CLASS': ( + 'rest_framework.parsers.JSONParser', + 'rest_framework_google_json_style_api.parsers.JSONParser', + 'rest_framework_json_api.parsers.JSONParser', + ) + + +Specify it in your django settings file. .. code-block:: python # ... JSON_CAMEL_CASE = { - 'RENDERER_CLASS': 'rest_framework.renderers.UnicodeJSONRenderer' + 'RENDERER_CLASS': 'rest_framework_google_json_style_api.renderers.JSONRenderer', + 'PARSER_CLASS': 'rest_framework_google_json_style_api.parsers.JSONParser', } # ... diff --git a/djangorestframework_camel_case/settings.py b/djangorestframework_camel_case/settings.py index 7324564..dde7de1 100644 --- a/djangorestframework_camel_case/settings.py +++ b/djangorestframework_camel_case/settings.py @@ -26,9 +26,13 @@ 'RENDERER_CLASS': ( 'rest_framework.renderers.JSONRenderer', 'rest_framework.renderers.UnicodeJSONRenderer', + 'rest_framework_google_json_style_api.renderers.JSONRenderer', + 'rest_framework_json_api.renderers.JSONRenderer', ), 'PARSER_CLASS': ( 'rest_framework.parsers.JSONParser', + 'rest_framework_google_json_style_api.parsers.JSONParser', + 'rest_framework_json_api.parsers.JSONParser', ) } diff --git a/setup.py b/setup.py index 3f3be92..154d5d1 100755 --- a/setup.py +++ b/setup.py @@ -23,9 +23,9 @@ version=djangorestframework_camel_case.__version__, description='Camel case JSON support for Django REST framework.', long_description=readme + '\n\n' + history, - author='Vitaly Babiy', - author_email='vbabiy86@gmail.com', - url='https://github.com/vbabiy/djangorestframework-camel-case', + author="Pocheng, playma", + author_email='pcghuang@gmail.com, scott820914@gmail.com', + url='https://github.com/Envive/djangorestframework-camel-case', packages=[ 'djangorestframework_camel_case', ], From 9a64c12065f311c280a0ab5b5482ccf22c0bb822 Mon Sep 17 00:00:00 2001 From: playma Date: Wed, 16 Jan 2019 12:14:22 +0800 Subject: [PATCH 5/6] Update setup file --- Makefile | 4 ++-- README.rst | 4 ++-- django_rest_framework_camel_case/__init__.py | 8 ++++++++ .../parser.py | 4 ++-- .../render.py | 4 ++-- .../settings.py | 0 .../util.py | 0 djangorestframework_camel_case/__init__.py | 6 ------ setup.py | 18 +++++++++--------- tests.py | 2 +- 10 files changed, 26 insertions(+), 24 deletions(-) create mode 100755 django_rest_framework_camel_case/__init__.py rename {djangorestframework_camel_case => django_rest_framework_camel_case}/parser.py (83%) rename {djangorestframework_camel_case => django_rest_framework_camel_case}/render.py (68%) rename {djangorestframework_camel_case => django_rest_framework_camel_case}/settings.py (100%) rename {djangorestframework_camel_case => django_rest_framework_camel_case}/util.py (100%) delete mode 100755 djangorestframework_camel_case/__init__.py diff --git a/Makefile b/Makefile index b382b7e..226e944 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,7 @@ clean-pyc: find . -name '*~' -exec rm -f {} + lint: - flake8 djangorestframework_camel_case tests + flake8 django_rest_framework_camel_case tests test: python setup.py test @@ -32,7 +32,7 @@ test-all: tox coverage: - coverage run --source djangorestframework_camel_case setup.py test + coverage run --source django_rest_framework_camel_case setup.py test coverage report -m coverage html open htmlcov/index.html diff --git a/README.rst b/README.rst index 1e37840..0793e68 100644 --- a/README.rst +++ b/README.rst @@ -26,12 +26,12 @@ Add the render and parser to your django settings file. REST_FRAMEWORK = { 'DEFAULT_RENDERER_CLASSES': ( - 'djangorestframework_camel_case.render.CamelCaseJSONRenderer', + 'django_rest_framework_camel_case.render.CamelCaseJSONRenderer', # Any other renders ), 'DEFAULT_PARSER_CLASSES': ( - 'djangorestframework_camel_case.parser.CamelCaseJSONParser', + 'django_rest_framework_camel_case.parser.CamelCaseJSONParser', # Any other parsers ), } diff --git a/django_rest_framework_camel_case/__init__.py b/django_rest_framework_camel_case/__init__.py new file mode 100755 index 0000000..2fe5a6d --- /dev/null +++ b/django_rest_framework_camel_case/__init__.py @@ -0,0 +1,8 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +__author__ = 'Pocheng, playma' +__email__ = 'pcghuang@gmail.com, scott820914@gmail.com' +__url__ = 'https://github.com/Envive/djangorestframework-camel-case' +__comapny__ = 'envive.tw' +__version__ = 'v2.0.0' diff --git a/djangorestframework_camel_case/parser.py b/django_rest_framework_camel_case/parser.py similarity index 83% rename from djangorestframework_camel_case/parser.py rename to django_rest_framework_camel_case/parser.py index 8f55dbe..0b06515 100644 --- a/djangorestframework_camel_case/parser.py +++ b/django_rest_framework_camel_case/parser.py @@ -4,8 +4,8 @@ from django.conf import settings from rest_framework.parsers import ParseError, six -from djangorestframework_camel_case.settings import api_settings -from djangorestframework_camel_case.util import underscoreize +from django_rest_framework_camel_case.settings import api_settings +from django_rest_framework_camel_case.util import underscoreize class CamelCaseJSONParser(api_settings.PARSER_CLASS): diff --git a/djangorestframework_camel_case/render.py b/django_rest_framework_camel_case/render.py similarity index 68% rename from djangorestframework_camel_case/render.py rename to django_rest_framework_camel_case/render.py index 1825beb..52ced03 100644 --- a/djangorestframework_camel_case/render.py +++ b/django_rest_framework_camel_case/render.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from djangorestframework_camel_case.settings import api_settings -from djangorestframework_camel_case.util import camelize +from django_rest_framework_camel_case.settings import api_settings +from django_rest_framework_camel_case.util import camelize class CamelCaseJSONRenderer(api_settings.RENDERER_CLASS): diff --git a/djangorestframework_camel_case/settings.py b/django_rest_framework_camel_case/settings.py similarity index 100% rename from djangorestframework_camel_case/settings.py rename to django_rest_framework_camel_case/settings.py diff --git a/djangorestframework_camel_case/util.py b/django_rest_framework_camel_case/util.py similarity index 100% rename from djangorestframework_camel_case/util.py rename to django_rest_framework_camel_case/util.py diff --git a/djangorestframework_camel_case/__init__.py b/djangorestframework_camel_case/__init__.py deleted file mode 100755 index 9a3c87e..0000000 --- a/djangorestframework_camel_case/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -__author__ = 'Vitaly Babiy' -__email__ = 'vbabiy86@gmail.com' -__version__ = '1.0b1' diff --git a/setup.py b/setup.py index 154d5d1..7d06fd7 100755 --- a/setup.py +++ b/setup.py @@ -16,26 +16,26 @@ readme = open('README.rst').read() history = open('HISTORY.rst').read().replace('.. :changelog:', '') -import djangorestframework_camel_case +import django_rest_framework_camel_case setup( - name='djangorestframework-camel-case', - version=djangorestframework_camel_case.__version__, + name='django-rest-framework-camel-case', + version=django_rest_framework_camel_case.__version__, description='Camel case JSON support for Django REST framework.', long_description=readme + '\n\n' + history, - author="Pocheng, playma", - author_email='pcghuang@gmail.com, scott820914@gmail.com', - url='https://github.com/Envive/djangorestframework-camel-case', + author=django_rest_framework_camel_case.__author__, + author_email=django_rest_framework_camel_case.__email__, + url=django_rest_framework_camel_case.__url__, packages=[ - 'djangorestframework_camel_case', + 'django-rest-framework-camel-case', ], - package_dir={'djangorestframework_camel_case': 'djangorestframework_camel_case'}, + package_dir={'django_rest_framework_camel_case': 'django_rest_framework_camel_case'}, include_package_data=True, install_requires=[ ], license="BSD", zip_safe=False, - keywords='djangorestframework_camel_case', + keywords='django_rest_framework_camel_case', classifiers=[ 'Development Status :: 2 - Pre-Alpha', 'Intended Audience :: Developers', diff --git a/tests.py b/tests.py index 04729c5..3c7f4db 100644 --- a/tests.py +++ b/tests.py @@ -3,7 +3,7 @@ from copy import deepcopy from unittest import TestCase -from djangorestframework_camel_case.util import camelize, underscoreize +from django_rest_framework_camel_case.util import camelize, underscoreize class UnderscoreToCamelTestCase(TestCase): From 66862535559014308497ea97bb0a4a5689da8da8 Mon Sep 17 00:00:00 2001 From: playma Date: Wed, 16 Jan 2019 12:18:10 +0800 Subject: [PATCH 6/6] Update setting file --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 7d06fd7..89a1866 100755 --- a/setup.py +++ b/setup.py @@ -27,7 +27,7 @@ author_email=django_rest_framework_camel_case.__email__, url=django_rest_framework_camel_case.__url__, packages=[ - 'django-rest-framework-camel-case', + 'django_rest_framework_camel_case', ], package_dir={'django_rest_framework_camel_case': 'django_rest_framework_camel_case'}, include_package_data=True,