Skip to content
This repository has been archived by the owner on Oct 29, 2019. It is now read-only.

Commit

Permalink
Support Python 3.5, Django 1.9 and CMS 3.3 (#391)
Browse files Browse the repository at this point in the history
* Add coverage for Python 3.5, Django 1.9 and CMS 3.3

* Declare Python 3.5

* Fix up tox.ini, allow FE tests to fail

* Adjust requirements

* Fixes tests for recent template change

* Support multiple versions in test, update classifiers

* Fix flake issue

* Remove nonsensical combinations

* Fix cms 3.1 builds

* Silly commit to trigger Travis

* Adds changelog, bump to 1.2.2

* Remove allow_failures block (doesn’t work with TOX)

* Removes ordereddict from tox.ini
  • Loading branch information
mkoistinen committed May 20, 2016
1 parent 269bea7 commit cc69d86
Show file tree
Hide file tree
Showing 14 changed files with 83 additions and 108 deletions.
33 changes: 20 additions & 13 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
language: python

python: 3.5

# Use container based infrastructure
sudo: false

Expand All @@ -22,31 +24,36 @@ env:
# NOTE: FE-TESTS ARE DISABLED UNTIL THEY ARE FIXED FOR CMS 3.2
# NOTE: MYSQL AND POSTGRES TESTS ARE DISABLED UNTIL #339 IS MERGED.
- TOXENV=flake8
- TOXENV=py34-dj19-sqlite-cms32-fe
- TOXENV=py35-dj19-sqlite-cms33
- TOXENV=py35-dj19-sqlite-cms32
- TOXENV=py34-dj19-sqlite-cms33
- TOXENV=py34-dj19-sqlite-cms32
- TOXENV=py34-dj18-sqlite-cms32-fe
# - TOXENV=py34-dj18-mysql-cms32
# - TOXENV=py34-dj18-postgres-cms32
- TOXENV=py34-dj18-sqlite-cms31
- TOXENV=py27-dj19-sqlite-cms33
- TOXENV=py27-dj19-sqlite-cms32
- TOXENV=py35-dj18-sqlite-cms33
- TOXENV=py35-dj18-sqlite-cms32
- TOXENV=py34-dj18-sqlite-cms33
- TOXENV=py34-dj18-sqlite-cms32
- TOXENV=py34-dj18-sqlite-cms31
- TOXENV=py27-dj18-sqlite-cms33
- TOXENV=py27-dj18-sqlite-cms32
- TOXENV=py27-dj18-sqlite-cms31
- TOXENV=py34-dj17-sqlite-cms32
# - TOXENV=py34-dj17-mysql-cms32
# - TOXENV=py34-dj17-postgres-cms32
- TOXENV=py34-dj17-sqlite-cms31
- TOXENV=py34-dj17-sqlite-cms30
- TOXENV=py27-dj17-sqlite-cms32-fe
# - TOXENV=py27-dj17-mysql-cms32
# - TOXENV=py27-dj17-postgres-cms32
- TOXENV=py33-dj17-sqlite-cms32
- TOXENV=py33-dj17-sqlite-cms31
- TOXENV=py33-dj17-sqlite-cms30
- TOXENV=py27-dj17-sqlite-cms32
- TOXENV=py27-dj17-sqlite-cms31
- TOXENV=py27-dj17-sqlite-cms30
- TOXENV=py33-dj16-sqlite-cms32
- TOXENV=py33-dj16-sqlite-cms31
- TOXENV=py33-dj16-sqlite-cms30
- TOXENV=py27-dj16-sqlite-cms32
- TOXENV=py27-dj16-sqlite-cms31
- TOXENV=py27-dj16-sqlite-cms30
- TOXENV=py26-dj16-sqlite-cms32-fe
# - TOXENV=py26-dj16-oldmysql-cms32
# - TOXENV=py26-dj16-postgres-cms32
- TOXENV=py26-dj16-sqlite-cms32
- TOXENV=py26-dj16-sqlite-cms31
- TOXENV=py26-dj16-sqlite-cms30

Expand Down
14 changes: 10 additions & 4 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,30 +1,36 @@
CHANGELOG
=========

1.2.2 (2016-05-19)
------------------
* Adds support for Python 3.5
* Adds support for Django 1.9
* Adds support for CMS 3.3.x


1.2.1 (2016-03-18)
-------------------
------------------
* Adapt pagenav to hide too many entries
* Pagenav shows "..." if there are to many pages forward or backwards
* Add pagenav settings to apphook configs


1.2.0 (2016-03-10)
-------------------
------------------

* Remove unused render_placeholder configs
* Add static_placeholders where necessary
* Simplify templates


1.1.1 (2016-02-12)
-------------------
------------------

* Change default for app config setting ``default_published`` to False


1.1.0 (2016-02-12)
-------------------
------------------

* Add Django 1.9 compatibility
* Add stripped default django templates to `/aldryn_newsblog/templates`
Expand Down
2 changes: 1 addition & 1 deletion aldryn_newsblog/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from __future__ import unicode_literals

__version__ = '1.2.1'
__version__ = '1.2.2'


default_app_config = 'aldryn_newsblog.apps.AldrynNewsBlog'
12 changes: 7 additions & 5 deletions aldryn_newsblog/tests/test_plugins.py
Original file line number Diff line number Diff line change
Expand Up @@ -133,17 +133,16 @@ def test_authors_plugin(self):

response = self.client.get(self.plugin_page.get_absolute_url())
response_content = force_text(response.content)
pattern = '<p>\s*<a href="{url}">\s*</a>\s*</p>'
pattern += '\s*<p>{num}</p>'
# This pattern tries to accommodate all the templates from all the
# versions of this package.
pattern = '<a href="{url}">\s*</a>'
author1_pattern = pattern.format(
num=3,
url=reverse(
'{0}:article-list-by-author'.format(self.app_config.namespace),
args=[author1.slug]
)
)
author2_pattern = pattern.format(
num=5,
url=reverse(
'{0}:article-list-by-author'.format(self.app_config.namespace),
args=[author2.slug]
Expand Down Expand Up @@ -188,7 +187,10 @@ def test_categories_plugin(self):

response = self.client.get(self.plugin_page.get_absolute_url())
response_content = force_text(response.content)
pattern = '<a href=[^>]*>{name}</a>\s*<span[^>]*>{num}</span>'
# We use two different patterns in alternation because different
# versions of newsblog have different templates
pattern = '<span[^>]*>{num}</span>\s*<a href=[^>]*>{name}</a>'
pattern += '|<a href=[^>]*>{name}</a>\s*<span[^>]*>{num}</span>'
needle1 = pattern.format(num=3, name=self.category1.name)
needle2 = pattern.format(num=5, name=self.category2.name)
self.assertRegexpMatches(response_content, needle1)
Expand Down
2 changes: 2 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
'Framework :: Django :: 1.6',
'Framework :: Django :: 1.7',
'Framework :: Django :: 1.8',
'Framework :: Django :: 1.9',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Operating System :: OS Independent',
Expand All @@ -43,6 +44,7 @@
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
'Topic :: Internet :: WWW/HTTP :: Dynamic Content :: News/Diary',
'Topic :: Software Development',
Expand Down
17 changes: 10 additions & 7 deletions test_requirements/base.txt
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
aldryn-search
aldryn-search>=0.2.12
coverage>=3.7.1
dj-database-url
django-classy-tags
django-haystack
django-sekizai
django-treebeard>=2.0
djangocms-admin-style
# djangocms-helper has issues with management command which is fixed but
# not released yet, so use develop branch temporary.
# TODO: please replace with a release >0.9.0
https://github.com/nephila/djangocms-helper/archive/develop.zip
djangocms_text_ckeditor
djangocms-helper>0.9.0
# djangocms_text_ckeditor
docopt
flake8
html5lib
Expand All @@ -24,5 +21,11 @@ sphinx-rtd-theme
sphinxcontrib-spelling
pyenchant

# Requires 1.0.4+, just running can use earlier versions of aldryn-reversion.
aldryn-reversion>=1.0.4

https://github.com/aldryn/aldryn-people/archive/feature/future-release-1-2-0.zip
# This is the last version to support Django 1.6
# django-filer>=1.1.1

# Updated version of Aldryn People
# -e https://github.com/mkoistinen/aldryn-people/archive/feature/update_for_cms33.zip
27 changes: 0 additions & 27 deletions test_requirements/django-1.6.in

This file was deleted.

9 changes: 5 additions & 4 deletions test_requirements/django-1.6.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
django>=1.6,<1.7
# Requires 1.0.4+, just running can use earlier versions of aldryn-reversion.
aldryn-reversion>=1.0.4
django-reversion<1.8.3
South
django-reversion<1.8.3




# NOTE: These are for Filer
django-mptt>=0.6,<0.8
django-polymorphic>=0.5.4

-r base.txt
-r base.txt
10 changes: 0 additions & 10 deletions test_requirements/django-1.7.in

This file was deleted.

8 changes: 4 additions & 4 deletions test_requirements/django-1.7.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
django>=1.7.4,<1.8

# Requires 1.0.4+, just running can use earlier versions of aldryn-reversion.
aldryn-reversion>=1.0.4

django-reversion>=1.8.2,<1.9




# NOTE: These are for Filer
django-mptt>=0.6,<0.8
django-polymorphic>=0.5.6

-r base.txt
-r base.txt
11 changes: 0 additions & 11 deletions test_requirements/django-1.8.in

This file was deleted.

4 changes: 2 additions & 2 deletions test_requirements/django-1.8.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
django>=1.8,<1.9

django-reversion>=1.9.3,<1.10

# Requires 1.0.4+, just running can use earlier versions of aldryn-reversion.
aldryn-reversion>=1.0.4


# NOTE: These are for Filer
django-mptt>=0.7
Expand Down
15 changes: 2 additions & 13 deletions test_requirements/django-1.9.txt
Original file line number Diff line number Diff line change
@@ -1,21 +1,10 @@
django>=1.9,<1.10

django-reversion>=1.9.4,<1.11

# Django 1.9 compatible packages
aldryn-boilerplates>=0.7.4

# filer
django-filer>=1.1.1

# TODO: remove repo URL from base.txt, replace with an appropriate version
# after changes would be merged
# aldryn-people

aldryn-reversion>=1.0.8

# TODO: replace with appropriate version after changes would be merged
# aldryn-categories
https://github.com/aldryn/aldryn-categories/archive/master.zip

# NOTE: These are for Filer
django-mptt>=0.7
django-polymorphic>=0.7
Expand Down
27 changes: 20 additions & 7 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[tox]
envlist =
flake8
py{34,27}-dj19-{sqlite,mysql,postgres}-cms32
py{34,33,27}-dj18-{sqlite,mysql,postgres}-cms{32,31}
py{35,34,27}-dj19-{sqlite,mysql,postgres}-cms{33,32}
py{34,33,27}-dj18-{sqlite,mysql,postgres}-cms{33,32,31}
py{34,33,27}-dj17-{sqlite,mysql,postgres}-cms{32,31,30}
py{33,27}-dj16-{sqlite,mysql,postgres}-cms{32,31,30}
py{26}-dj16-{sqlite,oldmysql,postgres}-cms{32,31,30}
Expand All @@ -24,20 +24,33 @@ deps =
py26: unittest2
py26: django-taggit<0.18
py26: ordereddict
py26: django-filer<=1.1.1

dj16: -rtest_requirements/django-1.6.txt
dj17: -rtest_requirements/django-1.7.txt
dj18: -rtest_requirements/django-1.8.txt
dj19: -rtest_requirements/django-1.9.txt

cms30: django-cms>=3.0.12,<3.1
cms30: djangocms-text-ckeditor<=2.7
cms30: aldryn-apphook-reload>=0.2.3

cms31: django-cms>=3.1,<3.2
# NOTE: tests will fail if we restrict to 2.7.0 on 3.1
cms32: djangocms-text-ckeditor>2.7,<=2.9.3
cms31: aldryn-apphook-reload>=0.2.3

cms32: django-cms>=3.2,<3.3
cms32: djangocms-text-ckeditor>2.7,<=2.9.3

cms33: https://github.com/divio/django-cms/archive/develop.zip#egg=django-cms
cms33: https://github.com/divio/djangocms-text-ckeditor/archive/develop.zip#egg=djangocms-text-ckeditor

# Does not support Python 2.6 or lower
mysql: mysqlclient
# Does not support Python 3+
oldmysql: MySQL-python
postgres: psycopg2
cms30: django-cms<3.1 # rq.filter: <3.1
cms30: aldryn-apphook-reload
cms31: django-cms<3.2 # rq.filter: <3.2
cms31: aldryn-apphook-reload
cms32: django-cms>=3.2,<3.3 # rq.filter: <3.3
commands =
{envpython} --version
- coverage erase
Expand Down

0 comments on commit cc69d86

Please sign in to comment.