idella4     14/10/03 05:24:57

  Added:               
                        south-1.0-3753b49c-Replace-dict.iteritems-with-six.patch
  Log:
  bump; rm IUSE doc and related content due to absence of content in acquired 
tarball, patch to match, tidy to test phase, ebuild adapted from submission in 
bug #524228 by W. King, closes said bug
  
  (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 
0xB8072B0D)

Revision  Changes    Path
1.1                  
dev-python/south/files/south-1.0-3753b49c-Replace-dict.iteritems-with-six.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/south/files/south-1.0-3753b49c-Replace-dict.iteritems-with-six.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/south/files/south-1.0-3753b49c-Replace-dict.iteritems-with-six.patch?rev=1.1&content-type=text/plain

Index: south-1.0-3753b49c-Replace-dict.iteritems-with-six.patch
===================================================================
# HG changeset patch
# User Gary Wilson Jr. <[email protected]>
# 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.")




Reply via email to