+++ /dev/null
-# HG changeset patch
-# User Gary Wilson Jr. <gary@thegarywilson.com>
-# Date 1397849538 18000
-# Branch python3-iteritems
-# Node ID 3753b49ca9f3d34c94156622b380def245d88e80
-# Parent 0e17add9b5e0f30f7cf5acf47961eea6a7f4032c
-Fixed a Python 3 incompatibility by replacing dict.iteritems() usage with an iteritems py3 util function from six.
-
-diff --git a/south/migration/migrators.py b/south/migration/migrators.py
---- a/south/migration/migrators.py
-+++ b/south/migration/migrators.py
-@@ -16,7 +16,7 @@
- from south.db import DEFAULT_DB_ALIAS
- from south.models import MigrationHistory
- from south.signals import ran_migration
--from south.utils.py3 import StringIO
-+from south.utils.py3 import StringIO, iteritems
-
-
- class Migrator(object):
-@@ -161,7 +161,7 @@
- if self.verbosity:
- print(" - Migration '%s' is marked for no-dry-run." % migration)
- return
-- for name, db in south.db.dbs.iteritems():
-+ for name, db in iteritems(south.db.dbs):
- south.db.dbs[name].dry_run = True
- # preserve the constraint cache as it can be mutated by the dry run
- constraint_cache = deepcopy(south.db.db._constraint_cache)
-@@ -181,7 +181,7 @@
- if self._ignore_fail:
- south.db.db.debug = old_debug
- south.db.db.clear_run_data(pending_creates)
-- for name, db in south.db.dbs.iteritems():
-+ for name, db in iteritems(south.db.dbs):
- south.db.dbs[name].dry_run = False
- # restore the preserved constraint cache from before dry run was
- # executed
-diff --git a/south/utils/py3.py b/south/utils/py3.py
---- a/south/utils/py3.py
-+++ b/south/utils/py3.py
-@@ -26,3 +26,18 @@
- def with_metaclass(meta, base=object):
- """Create a base class with a metaclass."""
- return meta("NewBase", (base,), {})
-+
-+
-+def _add_doc(func, doc):
-+ """Add documentation to a function."""
-+ func.__doc__ = doc
-+
-+if PY3:
-+ def iteritems(d, **kw):
-+ return iter(d.items(**kw))
-+else:
-+ def iteritems(d, **kw):
-+ return iter(d.iteritems(**kw))
-+
-+_add_doc(iteritems,
-+ "Return an iterator over the (key, value) pairs of a dictionary.")
+++ /dev/null
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 python3_4 pypy )
-
-inherit distutils-r1
-
-MY_PN="South"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Intelligent schema migrations for Django apps"
-HOMEPAGE="http://south.aeracode.org/"
-SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="test"
-
-RDEPEND="<dev-python/django-1.7[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? ( dev-python/django[sqlite] )"
-
-PATCHES=( "${FILESDIR}"/${P}-3753b49c-Replace-dict.iteritems-with-six.patch )
-
-S="${WORKDIR}/${MY_P}"
-
-python_test() {
- cd "${BUILD_DIR}" || die
- django-admin.py startproject southtest || die "setting up test env failed"
- pushd southtest > /dev/null
- sed -i \
- -e "/^INSTALLED_APPS/a\ 'south'," \
- southtest/settings.py || die "sed failed"
- echo "SKIP_SOUTH_TESTS=False" >> southtest/settings.py
- "${EPYTHON}" manage.py test south || die "tests failed for ${EPYTHON}"
- popd > /dev/null
-}
-
-pkg_postinst() {
- elog "In order to use the south schema migrations for your Django project,"
- elog "just add 'south' to your INSTALLED_APPS in the settings.py file."
- elog "manage.py will now automagically offer the new functions."
-}