From 9316a2e900ac162cde80225344ccc6f8187dc831 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 10 Jan 2019 16:37:37 -0500 Subject: [PATCH 01/14] upgrading django --- .travis.yml | 8 ++++++++ jsonate/widgets.py | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 597fe8a..1a71f57 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,6 +13,14 @@ env: - DJANGO=1.9 - DJANGO=1.10 - DJANGO=1.11 + - DJANGO=2.0 + - DJANGO=2.1 + matrix: + exclude: + - python: "2.7" + env: DJANGO=2.0 + - python: "2.7" + env: DJANGO=2.1 install: - pip install django==${DJANGO} Pillow psycopg2 - pip install . diff --git a/jsonate/widgets.py b/jsonate/widgets.py index 7d05952..84e3fff 100644 --- a/jsonate/widgets.py +++ b/jsonate/widgets.py @@ -11,7 +11,7 @@ class JsonateWidget(forms.Textarea): - def render(self, name, value, attrs=None): + def render(self, name, value, attrs=None, renderer=None): if not isinstance(value, basestring): value = jsonate(value, indent=2) - return super(JsonateWidget, self).render(name, value, attrs) \ No newline at end of file + return super(JsonateWidget, self).render(name, value, attrs, renderer) From dbfd790a13ff653de222d1ff7efb91e1af058c46 Mon Sep 17 00:00:00 2001 From: igor Date: Thu, 3 Oct 2019 09:32:14 +0200 Subject: [PATCH 02/14] no more Python 2.7 and Django <1.9 --- jsonate/django_ver.py | 3 -- jsonate/fields.py | 5 ---- jsonate/json_encoder.py | 28 ++++--------------- jsonate/widgets.py | 1 - setup.py | 3 +- test_project/manage.py | 2 -- .../test_app/migrations/0001_initial.py | 2 -- .../0002_mymodelwithjsonatefield.py | 2 -- .../0003_withjsonatefieldexpectinglist.py | 2 -- .../migrations/0004_auto_20180914_1341.py | 2 -- .../migrations/0005_auto_20180914_1343.py | 2 -- .../migrations/0006_auto_20180914_1352.py | 2 -- .../migrations/0007_auto_20180914_1355.py | 2 -- test_project/test_app/models.py | 3 +- test_project/test_app/tests.py | 8 +----- 15 files changed, 8 insertions(+), 59 deletions(-) delete mode 100644 jsonate/django_ver.py diff --git a/jsonate/django_ver.py b/jsonate/django_ver.py deleted file mode 100644 index 17137f7..0000000 --- a/jsonate/django_ver.py +++ /dev/null @@ -1,3 +0,0 @@ -import django -django_19 = (django.VERSION >= (1,9)) -django_18 = (django.VERSION >= (1,8)) \ No newline at end of file diff --git a/jsonate/fields.py b/jsonate/fields.py index 8a2cddb..8e6eb0c 100644 --- a/jsonate/fields.py +++ b/jsonate/fields.py @@ -1,4 +1,3 @@ -from past.builtins import basestring try: import json except ImportError: @@ -7,14 +6,10 @@ from django.db import models from .utils import jsonate -from .django_ver import django_19 from .widgets import JsonateWidget from .form_fields import JsonateFormField class JsonateField(models.TextField): - if not django_19: - __metaclass__ = models.SubfieldBase - def _deserialize(self, value): if value == "": return None diff --git a/jsonate/json_encoder.py b/jsonate/json_encoder.py index 5b771dc..4889be5 100644 --- a/jsonate/json_encoder.py +++ b/jsonate/json_encoder.py @@ -5,12 +5,7 @@ except ImportError: from django.utils import simplejson as json -from .django_ver import django_19 -if django_19: - from django.db.models.query import ModelIterable -else: - from django.db.models.query import ValuesQuerySet - +from django.db.models.query import ModelIterable from django.db.models.query import QuerySet from django.db.models import Model, Manager from django.db.models.fields.related import ForeignKey @@ -72,14 +67,6 @@ def map_object(obj): raise CouldntSerialize return to_json() - -if not django_19: - # Must come before map_queryset because ValuesQuerySet is - # a subclass of Queryset and will cause an infinite loop :( - @register_typemap(ValuesQuerySet) - def map_values_queryset(obj): - return list(obj) - @register_typemap(QuerySet) def map_queryset(obj): # if the model wants to serialize itself, go with that... @@ -87,17 +74,12 @@ def map_queryset(obj): return list(obj) # otherwise using values is faster - if django_19: - if obj._iterable_class == ModelIterable: - - fields = jsonate_fields(obj.model) - obj = obj.values(*[field.name for field in fields]) + if obj._iterable_class == ModelIterable: - return list(obj) - - else: fields = jsonate_fields(obj.model) - return obj.values(*[field.name for field in fields]) + obj = obj.values(*[field.name for field in fields]) + + return list(obj) # Managers are typically hidden fields, and must be specified via meta fields @register_typemap(Manager) diff --git a/jsonate/widgets.py b/jsonate/widgets.py index 84e3fff..b0ad32e 100644 --- a/jsonate/widgets.py +++ b/jsonate/widgets.py @@ -1,4 +1,3 @@ -from past.builtins import basestring try: import json except ImportError: diff --git a/setup.py b/setup.py index 4fc0510..d88ab71 100644 --- a/setup.py +++ b/setup.py @@ -16,8 +16,7 @@ url='http://jsonate.com', install_requires=[ - "django>=1.7", - "future >= 0.16.0", + "django>=2.0", ], packages=[ diff --git a/test_project/manage.py b/test_project/manage.py index c4815f0..2e635c7 100755 --- a/test_project/manage.py +++ b/test_project/manage.py @@ -1,6 +1,4 @@ #!/usr/bin/env python -from __future__ import absolute_import - import os import sys diff --git a/test_project/test_app/migrations/0001_initial.py b/test_project/test_app/migrations/0001_initial.py index e5989d6..bf46577 100644 --- a/test_project/test_app/migrations/0001_initial.py +++ b/test_project/test_app/migrations/0001_initial.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.9 on 2015-12-15 14:16 -from __future__ import unicode_literals - import datetime from decimal import Decimal from django.conf import settings diff --git a/test_project/test_app/migrations/0002_mymodelwithjsonatefield.py b/test_project/test_app/migrations/0002_mymodelwithjsonatefield.py index 8b70196..2690fe9 100644 --- a/test_project/test_app/migrations/0002_mymodelwithjsonatefield.py +++ b/test_project/test_app/migrations/0002_mymodelwithjsonatefield.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations import jsonate.fields diff --git a/test_project/test_app/migrations/0003_withjsonatefieldexpectinglist.py b/test_project/test_app/migrations/0003_withjsonatefieldexpectinglist.py index 04e44ed..6aa3b48 100644 --- a/test_project/test_app/migrations/0003_withjsonatefieldexpectinglist.py +++ b/test_project/test_app/migrations/0003_withjsonatefieldexpectinglist.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations import jsonate.fields import test_app.models diff --git a/test_project/test_app/migrations/0004_auto_20180914_1341.py b/test_project/test_app/migrations/0004_auto_20180914_1341.py index 00022b4..d0084d4 100644 --- a/test_project/test_app/migrations/0004_auto_20180914_1341.py +++ b/test_project/test_app/migrations/0004_auto_20180914_1341.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.11.15 on 2018-09-14 13:41 -from __future__ import unicode_literals - from django.db import migrations, models import jsonate.fields import test_app.models diff --git a/test_project/test_app/migrations/0005_auto_20180914_1343.py b/test_project/test_app/migrations/0005_auto_20180914_1343.py index af577f5..2285646 100644 --- a/test_project/test_app/migrations/0005_auto_20180914_1343.py +++ b/test_project/test_app/migrations/0005_auto_20180914_1343.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.11.15 on 2018-09-14 13:43 -from __future__ import unicode_literals - from django.db import migrations, models import django.db.models.deletion diff --git a/test_project/test_app/migrations/0006_auto_20180914_1352.py b/test_project/test_app/migrations/0006_auto_20180914_1352.py index b344278..108a75f 100644 --- a/test_project/test_app/migrations/0006_auto_20180914_1352.py +++ b/test_project/test_app/migrations/0006_auto_20180914_1352.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.11.15 on 2018-09-14 13:52 -from __future__ import unicode_literals - from django.db import migrations diff --git a/test_project/test_app/migrations/0007_auto_20180914_1355.py b/test_project/test_app/migrations/0007_auto_20180914_1355.py index ee4d8fb..36cdaf8 100644 --- a/test_project/test_app/migrations/0007_auto_20180914_1355.py +++ b/test_project/test_app/migrations/0007_auto_20180914_1355.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.11.15 on 2018-09-14 13:55 -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/test_project/test_app/models.py b/test_project/test_app/models.py index 0df22ee..0cb6df3 100644 --- a/test_project/test_app/models.py +++ b/test_project/test_app/models.py @@ -1,4 +1,3 @@ -from builtins import object from datetime import datetime, date from decimal import Decimal @@ -26,7 +25,7 @@ class MyModel(models.Model): boolean_field = models.BooleanField(default=True) null_field = models.NullBooleanField(default=None) - class Meta(object): + class Meta: jsonate_exclude = ('sensitive_field1',) class MyModelWithRelation(models.Model): diff --git a/test_project/test_app/tests.py b/test_project/test_app/tests.py index 6b0ec03..d09f0b7 100755 --- a/test_project/test_app/tests.py +++ b/test_project/test_app/tests.py @@ -1,9 +1,3 @@ -from __future__ import unicode_literals - -from builtins import range -from past.builtins import basestring -from builtins import object - from os import unlink, rmdir from os.path import join from glob import glob @@ -86,7 +80,7 @@ def assertJSONField(to_write): def assertJsonateFieldForm(self, model_class, data_to_store): class JsonateFieldForm(ModelForm): - class Meta(object): + class Meta: model = model_class fields = '__all__' From 65d7a2809a78fae2164295590290139d841f29d9 Mon Sep 17 00:00:00 2001 From: igor Date: Thu, 3 Oct 2019 09:33:04 +0200 Subject: [PATCH 03/14] upgrade travis config accordingly --- .travis.yml | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1a71f57..e0b0b70 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,25 +2,17 @@ sudo: false dist: trusty language: python python: - - "2.7" - "3.6" + - "3.7" addons: postgresql: "9.5" env: global: - DJANGO_SETTINGS_MODULE=test_project.settings matrix: - - DJANGO=1.9 - - DJANGO=1.10 - - DJANGO=1.11 - DJANGO=2.0 - DJANGO=2.1 - matrix: - exclude: - - python: "2.7" - env: DJANGO=2.0 - - python: "2.7" - env: DJANGO=2.1 + - DJANGO=2.2 install: - pip install django==${DJANGO} Pillow psycopg2 - pip install . From cfdb63e362ec1030cafa532b921abf6088254469 Mon Sep 17 00:00:00 2001 From: igor Date: Thu, 3 Oct 2019 09:42:53 +0200 Subject: [PATCH 04/14] old django and python remnants --- jsonate/fields.py | 4 ++-- jsonate/widgets.py | 2 +- test_project/test_app/tests.py | 10 +++------- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/jsonate/fields.py b/jsonate/fields.py index 8e6eb0c..260ef54 100644 --- a/jsonate/fields.py +++ b/jsonate/fields.py @@ -15,7 +15,7 @@ def _deserialize(self, value): return None try: - if isinstance(value, basestring): + if isinstance(value, str): return json.loads(value) except ValueError: pass @@ -32,7 +32,7 @@ def get_db_prep_value(self, value, connection, prepared=False): if value == "": return None - if not isinstance(value, basestring): + if not isinstance(value, str): value = jsonate(value) return value diff --git a/jsonate/widgets.py b/jsonate/widgets.py index b0ad32e..52ae7b4 100644 --- a/jsonate/widgets.py +++ b/jsonate/widgets.py @@ -11,6 +11,6 @@ class JsonateWidget(forms.Textarea): def render(self, name, value, attrs=None, renderer=None): - if not isinstance(value, basestring): + if not isinstance(value, str): value = jsonate(value, indent=2) return super(JsonateWidget, self).render(name, value, attrs, renderer) diff --git a/test_project/test_app/tests.py b/test_project/test_app/tests.py index d09f0b7..0316599 100755 --- a/test_project/test_app/tests.py +++ b/test_project/test_app/tests.py @@ -11,7 +11,6 @@ from django.forms import ModelForm from jsonate import jsonate -from jsonate.django_ver import django_18 from .models import MyModel, MyModelWithJsonateField, WithJsonateFieldExpectingList, MyModelWithRelation @@ -46,7 +45,7 @@ def tearDown(self): def assertJsonEqual(self, obj1, obj2, *args, **kwargs): obj1 = json.loads(obj1) - if isinstance(obj2, basestring): + if isinstance(obj2, str): obj2 = json.loads(obj2) self.assertEqual(obj1, obj2, *args, **kwargs) @@ -56,7 +55,7 @@ def assertJSONField(to_write): obj.some_json_data = to_write obj.save() - expected = json.loads(to_write) if isinstance(to_write, basestring) else to_write + expected = json.loads(to_write) if isinstance(to_write, str) else to_write self.assertEqual( MyModelWithJsonateField.objects.first().some_json_data, @@ -112,10 +111,7 @@ def test_jsonate_field_in_values_list_gets_deserialized(self): to_create = {"some_name": "name{}".format(i), "some_json_data": {"item_{}".format(i): i}} MyModelWithJsonateField.objects.create(**to_create) - if django_18: - expected.append((to_create["some_name"], to_create["some_json_data"])) - else: - expected.append((to_create["some_name"], json.dumps(to_create["some_json_data"]))) + expected.append((to_create["some_name"], json.dumps(to_create["some_json_data"]))) vl = MyModelWithJsonateField.objects.order_by("id").values_list("some_name", "some_json_data") for (index, elem) in enumerate(vl): From 8dac3ea3065e9d05d77ad4c5be100be929d73066 Mon Sep 17 00:00:00 2001 From: igor Date: Thu, 3 Oct 2019 10:18:42 +0200 Subject: [PATCH 05/14] add requirements for easier testing --- requirements.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..b1b6265 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +psycopg2-binary==2.7.6.1 +django==2.2.6 +pillow==5.0.0 From 094a7b0bcf6888823a75fb8ea77e44812379c50a Mon Sep 17 00:00:00 2001 From: igor Date: Thu, 3 Oct 2019 10:23:00 +0200 Subject: [PATCH 06/14] no json expected + style it --- test_project/test_app/tests.py | 76 ++++++++++++++++++++++------------ 1 file changed, 50 insertions(+), 26 deletions(-) diff --git a/test_project/test_app/tests.py b/test_project/test_app/tests.py index 0316599..6cfe1f8 100755 --- a/test_project/test_app/tests.py +++ b/test_project/test_app/tests.py @@ -12,42 +12,55 @@ from jsonate import jsonate -from .models import MyModel, MyModelWithJsonateField, WithJsonateFieldExpectingList, MyModelWithRelation +from .models import ( + MyModel, MyModelWithJsonateField, WithJsonateFieldExpectingList, + MyModelWithRelation +) def destroy_media_folder(folder): path = join(settings.MEDIA_ROOT, folder) [unlink(f) for f in glob(join(path, "*"))] - try: rmdir(path) - except: pass - -class JsonateTests(TestCase): - maxDiff = 10**4 + try: + rmdir(path) + except: + pass + + +class JsonateTests(TestCase): + maxDiff = 10 ** 4 + def setUp(self): destroy_media_folder("files") destroy_media_folder("images") - - self.user = User.objects.create_user("asdf", 'asdf@example.com', "password") + + self.user = User.objects.create_user( + "asdf", 'asdf@example.com', "password" + ) self.model = MyModel( - foreign_key=self.user - ) - self.model.file_field.save("text_file.txt", ContentFile("Any Old Content")) - self.model.image_field.save("image_file.wbm", ContentFile('\x00\x00\x01\x01\x80')) + foreign_key=self.user + ) + self.model.file_field.save( + "text_file.txt", ContentFile("Any Old Content") + ) + self.model.image_field.save( + "image_file.wbm", ContentFile('\x00\x00\x01\x01\x80') + ) self.model.save() self.related_model = MyModelWithRelation(name="related_model") self.related_model.save() self.related_model.to_many.add(self.model) - + def tearDown(self): destroy_media_folder("files") destroy_media_folder("images") - + def assertJsonEqual(self, obj1, obj2, *args, **kwargs): obj1 = json.loads(obj1) - + if isinstance(obj2, str): obj2 = json.loads(obj2) - + self.assertEqual(obj1, obj2, *args, **kwargs) def test_jsonate_field(self): @@ -66,8 +79,9 @@ def assertJSONField(to_write): test_data = [ None, - {"red":3, "orange":451}, - [{"red":3, "orange":451}, {"green":"dark", "white":"bright"}, None, ["A", "B"]], + {"red": 3, "orange": 451}, + [{"red": 3, "orange": 451}, {"green": "dark", "white": "bright"}, + None, ["A", "B"]], '["house", "mouse", "strauss"]' ] @@ -97,23 +111,29 @@ class Meta: ) def test_jsonate_field_clean_form(self): - dict_to_store = {"red":3, "orange":451} + dict_to_store = {"red": 3, "orange": 451} self.assertJsonateFieldForm(MyModelWithJsonateField, dict_to_store) def test_jsonate_field_clean_form_with_validation(self): list_to_store = ["house", "mouse", "strauss"] - self.assertJsonateFieldForm(WithJsonateFieldExpectingList, list_to_store) + self.assertJsonateFieldForm(WithJsonateFieldExpectingList, + list_to_store) def test_jsonate_field_in_values_list_gets_deserialized(self): expected = [] for i in range(0, 5): - - to_create = {"some_name": "name{}".format(i), "some_json_data": {"item_{}".format(i): i}} + to_create = { + "some_name": f"name{i}", "some_json_data": {f"item_{i}": i} + } MyModelWithJsonateField.objects.create(**to_create) - expected.append((to_create["some_name"], json.dumps(to_create["some_json_data"]))) + expected.append( + (to_create["some_name"], to_create["some_json_data"]) + ) - vl = MyModelWithJsonateField.objects.order_by("id").values_list("some_name", "some_json_data") + vl = MyModelWithJsonateField.objects.order_by("id").values_list( + "some_name", "some_json_data" + ) for (index, elem) in enumerate(vl): self.assertEqual(elem, expected[index]) @@ -133,11 +153,14 @@ def test_basic_serialization(self): "file_field": "files/text_file.txt" } - self.assertJsonEqual(jsonate(self.model.many_to_my_model), [{"id": 1, "name": "related_model"}]) + self.assertJsonEqual( + jsonate(self.model.many_to_my_model), + [{"id": 1, "name": "related_model"}] + ) self.assertJsonEqual(jsonate(self.model), mymodel_data) self.assertJsonEqual(jsonate(MyModel.objects.all()), [mymodel_data]) - + user_data_values = [{ "username": 'asdf', "password": self.user.password @@ -159,6 +182,7 @@ def test_basic_serialization(self): user_data_values_list_flat ) + from django.core import management if __name__ == "__main__": From b61191546ed4d3f58f2ce1024c218f3a86ee93e8 Mon Sep 17 00:00:00 2001 From: igor Date: Thu, 3 Oct 2019 10:55:46 +0200 Subject: [PATCH 07/14] no need for admin here, cleaner travis --- .travis.yml | 7 +++---- test_project/settings.py | 3 +-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index e0b0b70..5e60c72 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,10 +9,9 @@ addons: env: global: - DJANGO_SETTINGS_MODULE=test_project.settings - matrix: - - DJANGO=2.0 - - DJANGO=2.1 - - DJANGO=2.2 + - DJANGO=2.0 + - DJANGO=2.1 + - DJANGO=2.2 install: - pip install django==${DJANGO} Pillow psycopg2 - pip install . diff --git a/test_project/settings.py b/test_project/settings.py index 718e2ec..f33a2a9 100644 --- a/test_project/settings.py +++ b/test_project/settings.py @@ -43,8 +43,7 @@ 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', - 'django.contrib.admin', - + 'jsonate', 'test_app', ) From f1578be707576c207cac02098d1f17b8791fcdb7 Mon Sep 17 00:00:00 2001 From: igor Date: Thu, 3 Oct 2019 11:05:24 +0200 Subject: [PATCH 08/14] no more trusty --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5e60c72..e2edaa3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,3 @@ -sudo: false -dist: trusty language: python python: - "3.6" From 26cb9c4fde60cb02eafff701c319955b44678503 Mon Sep 17 00:00:00 2001 From: igor Date: Thu, 3 Oct 2019 11:58:12 +0200 Subject: [PATCH 09/14] fix travis --- .travis.yml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index e2edaa3..f59c019 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,17 +1,15 @@ +env: + - DJANGO=2.0 + - DJANGO=2.1 + - DJANGO=2.2 language: python python: - "3.6" - "3.7" addons: - postgresql: "9.5" -env: - global: - - DJANGO_SETTINGS_MODULE=test_project.settings - - DJANGO=2.0 - - DJANGO=2.1 - - DJANGO=2.2 + postgresql: "10" install: - - pip install django==${DJANGO} Pillow psycopg2 + - pip install django==${DJANGO} Pillow psycopg2-binary - pip install . before_script: - psql -c 'create database test_jsonate;' -U postgres From c5da57ce83de55a2a1b4fb52e3e01dd0beed02a1 Mon Sep 17 00:00:00 2001 From: Marc Schwarzschild Date: Wed, 25 Mar 2020 11:22:46 -0400 Subject: [PATCH 10/14] Upgraded dependencies. --- requirements.txt | 6 +++--- setup.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/requirements.txt b/requirements.txt index b1b6265..6f75dfc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ -psycopg2-binary==2.7.6.1 -django==2.2.6 -pillow==5.0.0 +psycopg2-binary==2.8.4 +django==3.0.4 +pillow==7.0.0 diff --git a/setup.py b/setup.py index d88ab71..914ebb8 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ setup( name='jsonate', - version='0.5.1', + version='0.6.1', author='James Robert', author_email='jiaaro@gmail.com', From 1f32399d662d0cb0642700304e9ab8a07b0d28c9 Mon Sep 17 00:00:00 2001 From: Kevin Chang Date: Mon, 22 Jun 2020 16:13:13 -0400 Subject: [PATCH 11/14] Bumping version number --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 4fc0510..4356b9d 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ setup( name='jsonate', - version='0.5.1', + version='0.6.0', author='James Robert', author_email='jiaaro@gmail.com', From 11be9df3dd3b2893913024b3b10d4f6b45164243 Mon Sep 17 00:00:00 2001 From: Kevin Chang Date: Mon, 22 Jun 2020 16:19:57 -0400 Subject: [PATCH 12/14] excluding old Django versions from newer python --- .travis.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.travis.yml b/.travis.yml index bcc92ee..716ea0d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,6 +29,18 @@ matrix: env: DJANGO=3.0 - python: "2.7" env: DJANGO=3.0.7 + - python: "3.7" + env: DJANGO=1.9 + - python: "3.7" + env: DJANGO=1.10 + - python: "3.7" + env: DJANGO=1.11 + - python: "3.8" + env: DJANGO=1.9 + - python: "3.8" + env: DJANGO=1.10 + - python: "3.8" + env: DJANGO=1.11 install: - pip install django==${DJANGO} Pillow psycopg2 - pip install . From 747303cb7263becf12409f2b8afe5df0350eb165 Mon Sep 17 00:00:00 2001 From: Kevin Chang Date: Mon, 22 Jun 2020 16:39:58 -0400 Subject: [PATCH 13/14] bumping setup number --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 4fc0510..16b94b7 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ setup( name='jsonate', - version='0.5.1', + version='0.7.0', author='James Robert', author_email='jiaaro@gmail.com', From 1d133719753294f920d28cef6f1d9c3d4209ce22 Mon Sep 17 00:00:00 2001 From: Kevin Chang Date: Mon, 22 Jun 2020 16:46:38 -0400 Subject: [PATCH 14/14] fixing long_description --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index 16b94b7..1aa5784 100644 --- a/setup.py +++ b/setup.py @@ -9,6 +9,7 @@ description=('Django library that can make ANYTHING into json'), long_description=open('README.markdown').read(), + long_description_content_type="text/markdown", license='MIT', keywords='django json templatetags',