[py3k] dict.itervalues → dict.values
authorRémi Cardona <remi.cardona@logilab.fr>
Tue, 13 Oct 2015 15:09:22 +0200
changeset 10663 54b8a1f249fb
parent 10662 10942ed172de
child 10664 6465a3e9d7ac
[py3k] dict.itervalues → dict.values
cwvreg.py
dataimport/deprecated.py
devtools/devctl.py
devtools/repotest.py
devtools/testlib.py
doc/tutorials/dataimport/diseasome_parser.py
entities/test/unittest_wfobjs.py
hooks/syncschema.py
hooks/syncsession.py
misc/migration/bootstrapmigration_repository.py
misc/scripts/pyroforge2datafeed.py
pylintext.py
schema.py
server/checkintegrity.py
server/hook.py
server/migractions.py
server/querier.py
server/repository.py
server/rqlannotation.py
server/schemaserial.py
server/session.py
server/sources/rql2sql.py
sobjects/__init__.py
sobjects/ldapparser.py
test/unittest_rqlrewrite.py
web/controller.py
web/facet.py
web/test/unittest_views_searchrestriction.py
web/views/actions.py
web/views/autoform.py
web/views/csvexport.py
web/views/schema.py
web/views/sparql.py
web/views/uicfg.py
--- a/cwvreg.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/cwvreg.py	Tue Oct 13 15:09:22 2015 +0200
@@ -492,7 +492,7 @@
         """
         self.schema = schema
         for registry, regcontent in self.items():
-            for objects in regcontent.itervalues():
+            for objects in regcontent.values():
                 for obj in objects:
                     obj.schema = schema
 
@@ -543,7 +543,7 @@
                     self.unregister(obj)
         super(CWRegistryStore, self).initialization_completed()
         if 'uicfg' in self: # 'uicfg' is not loaded in a pure repository mode
-            for rtags in self['uicfg'].itervalues():
+            for rtags in self['uicfg'].values():
                 for rtag in rtags:
                     # don't check rtags if we don't want to cleanup_unused_appobjects
                     rtag.init(self.schema, check=self.config.cleanup_unused_appobjects)
--- a/dataimport/deprecated.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/dataimport/deprecated.py	Tue Oct 13 15:09:22 2015 +0200
@@ -424,7 +424,7 @@
                     self.tell(pformat(sorted(error[1])))
 
     def _print_stats(self):
-        nberrors = sum(len(err) for err in self.errors.itervalues())
+        nberrors = sum(len(err) for err in self.errors.values())
         self.tell('\nImport statistics: %i entities, %i types, %i relations and %i errors'
                   % (self.store.nb_inserted_entities,
                      self.store.nb_inserted_types,
--- a/devtools/devctl.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/devtools/devctl.py	Tue Oct 13 15:09:22 2015 +0200
@@ -251,7 +251,7 @@
                 # bw compat, necessary until all translation of relation are
                 # done properly...
                 add_msg(w, '%s_object' % rtype)
-        for rdef in rschema.rdefs.itervalues():
+        for rdef in rschema.rdefs.values():
             if not rdef.description or rdef.description in done:
                 continue
             if (librschema is None or
@@ -268,7 +268,7 @@
     for reg, objdict in vreg.items():
         if reg in ('boxes', 'contentnavigation'):
             continue
-        for objects in objdict.itervalues():
+        for objects in objdict.values():
             for obj in objects:
                 objid = '%s_%s' % (reg, obj.__regid__)
                 if objid in done:
--- a/devtools/repotest.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/devtools/repotest.py	Tue Oct 13 15:09:22 2015 +0200
@@ -116,7 +116,7 @@
         schema_eids[x] = x.eid
     for x in schema.relations():
         schema_eids[x] = x.eid
-        for rdef in x.rdefs.itervalues():
+        for rdef in x.rdefs.values():
             schema_eids[(rdef.subject, rdef.rtype, rdef.object)] = rdef.eid
     return schema_eids
 
@@ -128,7 +128,7 @@
     for x in schema.relations():
         x.eid = schema_eids[x]
         schema._eid_index[x.eid] = x
-        for rdef in x.rdefs.itervalues():
+        for rdef in x.rdefs.values():
             rdef.eid = schema_eids[(rdef.subject, rdef.rtype, rdef.object)]
             schema._eid_index[rdef.eid] = rdef
 
--- a/devtools/testlib.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/devtools/testlib.py	Tue Oct 13 15:09:22 2015 +0200
@@ -1294,7 +1294,7 @@
 #     # XXX broken
 #     from cubicweb.devtools.apptest import TestEnvironment
 #     env = testclass._env = TestEnvironment('data', configcls=testclass.configcls)
-#     for reg in env.vreg.itervalues():
+#     for reg in env.vreg.values():
 #         reg._selected = {}
 #         try:
 #             orig_select_best = reg.__class__.__orig_select_best
@@ -1317,7 +1317,7 @@
 #     for regname, reg in testclass._env.vreg.items():
 #         if regname in skipregs:
 #             continue
-#         for appobjects in reg.itervalues():
+#         for appobjects in reg.values():
 #             for appobject in appobjects:
 #                 if not reg._selected.get(appobject):
 #                     print 'not tested', regname, appobject
--- a/doc/tutorials/dataimport/diseasome_parser.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/doc/tutorials/dataimport/diseasome_parser.py	Tue Oct 13 15:09:22 2015 +0200
@@ -97,4 +97,4 @@
             entities[subj]['relations'].setdefault(MAPPING_RELS[rel], set())
             entities[subj]['relations'][MAPPING_RELS[rel]].add(unicode(obj))
     return ((ent.get('attributes'), ent.get('relations')) 
-            for ent in entities.itervalues())
+            for ent in entities.values())
--- a/entities/test/unittest_wfobjs.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/entities/test/unittest_wfobjs.py	Tue Oct 13 15:09:22 2015 +0200
@@ -107,7 +107,7 @@
 
     def setup_database(self):
         rschema = self.schema['in_state']
-        for rdef in rschema.rdefs.itervalues():
+        for rdef in rschema.rdefs.values():
             self.assertEqual(rdef.cardinality, '1*')
         with self.admin_access.client_cnx() as cnx:
             self.member_eid = self.create_user(cnx, 'member').eid
--- a/hooks/syncschema.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/hooks/syncschema.py	Tue Oct 13 15:09:22 2015 +0200
@@ -208,7 +208,7 @@
             repo.set_schema(repo.schema)
             # CWUser class might have changed, update current session users
             cwuser_cls = self.cnx.vreg['etypes'].etype_class('CWUser')
-            for session in repo._sessions.itervalues():
+            for session in repo._sessions.values():
                 session.user.__class__ = cwuser_cls
         except Exception:
             self.critical('error while setting schema', exc_info=True)
--- a/hooks/syncsession.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/hooks/syncsession.py	Tue Oct 13 15:09:22 2015 +0200
@@ -26,7 +26,7 @@
 
 
 def get_user_sessions(repo, ueid):
-    for session in repo._sessions.itervalues():
+    for session in repo._sessions.values():
         if ueid == session.user.eid:
             yield session
 
--- a/misc/migration/bootstrapmigration_repository.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/misc/migration/bootstrapmigration_repository.py	Tue Oct 13 15:09:22 2015 +0200
@@ -299,7 +299,7 @@
     with hooks_control(session, session.HOOKS_ALLOW_ALL, 'integrity'):
         for rschema in repo.schema.relations():
             rpermsdict = permsdict.get(rschema.eid, {})
-            for rdef in rschema.rdefs.itervalues():
+            for rdef in rschema.rdefs.values():
                 for action in rdef.ACTIONS:
                     actperms = []
                     for something in rpermsdict.get(action == 'update' and 'add' or action, ()):
--- a/misc/scripts/pyroforge2datafeed.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/misc/scripts/pyroforge2datafeed.py	Tue Oct 13 15:09:22 2015 +0200
@@ -74,7 +74,7 @@
 
 # only cleanup entities table, remaining stuff should be cleaned by a c-c
 # db-check to be run after this script
-for entities in todelete.itervalues():
+for entities in todelete.values():
     system_source.delete_info_multi(session, entities, source_name)
 
 
@@ -87,7 +87,7 @@
     if schemaent.cw_etype != 'CWEType':
         assert schemaent.cw_etype == 'CWRType'
         sch = schema._eid_index[schemaent.eid]
-        for rdef in sch.rdefs.itervalues():
+        for rdef in sch.rdefs.values():
             if not source.support_entity(rdef.subject) \
                     or not source.support_entity(rdef.object):
                 continue
--- a/pylintext.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/pylintext.py	Tue Oct 13 15:09:22 2015 +0200
@@ -17,7 +17,7 @@
 def cubicweb_transform(module):
     # handle objectify_predicate decorator (and its former name until bw compat
     # is kept). Only look at module level functions, should be enough.
-    for assnodes in module.locals.itervalues():
+    for assnodes in module.locals.values():
         for node in assnodes:
             if isinstance(node, scoped_nodes.Function) and node.decorators:
                 for decorator in node.decorators.nodes:
--- a/schema.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/schema.py	Tue Oct 13 15:09:22 2015 +0200
@@ -281,7 +281,7 @@
     def transform_has_permission(self):
         found = None
         rqlst = self.rqlst
-        for var in rqlst.defined_vars.itervalues():
+        for var in rqlst.defined_vars.values():
             for varref in var.references():
                 rel = varref.relation()
                 if rel is None:
@@ -532,7 +532,7 @@
             if not deps:
                 eschemas.append(eschema)
                 del graph[eschema]
-                for deps in graph.itervalues():
+                for deps in graph.values():
                     try:
                         deps.remove(eschema)
                     except KeyError:
@@ -773,7 +773,7 @@
 
     def check_permission_definitions(self):
         super(CubicWebEntitySchema, self).check_permission_definitions()
-        for groups in self.permissions.itervalues():
+        for groups in self.permissions.values():
             for group_or_rqlexpr in groups:
                 if isinstance(group_or_rqlexpr, RRQLExpression):
                     msg = "can't use RRQLExpression on %s, use an ERQLExpression"
@@ -916,7 +916,7 @@
                 if rdef.may_have_permission(action, req):
                     return True
         else:
-            for rdef in self.rdefs.itervalues():
+            for rdef in self.rdefs.values():
                 if rdef.may_have_permission(action, req):
                     return True
         return False
@@ -958,7 +958,7 @@
                 if not rdef.has_perm(_cw, action, **kwargs):
                     return False
         else:
-            for rdef in self.rdefs.itervalues():
+            for rdef in self.rdefs.values():
                 if not rdef.has_perm(_cw, action, **kwargs):
                     return False
         return True
@@ -1081,7 +1081,7 @@
 
     def iter_computed_attributes(self):
         for relation in self.relations():
-            for rdef in relation.rdefs.itervalues():
+            for rdef in relation.rdefs.values():
                 if rdef.final and rdef.formula is not None:
                     yield rdef
 
--- a/server/checkintegrity.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/server/checkintegrity.py	Tue Oct 13 15:09:22 2015 +0200
@@ -319,7 +319,7 @@
             continue
         smandatory = set()
         omandatory = set()
-        for rdef in rschema.rdefs.itervalues():
+        for rdef in rschema.rdefs.values():
             if rdef.cardinality[0] in '1+':
                 smandatory.add(rdef.subject)
             if rdef.cardinality[1] in '1+':
@@ -347,7 +347,7 @@
     for rschema in schema.relations():
         if not rschema.final or rschema in VIRTUAL_RTYPES:
             continue
-        for rdef in rschema.rdefs.itervalues():
+        for rdef in rschema.rdefs.values():
             if rdef.cardinality[0] in '1+':
                 rql = 'Any X WHERE X %s NULL, X is %s, X cw_source S, S name "system"' % (
                     rschema, rdef.subject)
--- a/server/hook.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/server/hook.py	Tue Oct 13 15:09:22 2015 +0200
@@ -391,7 +391,7 @@
 
 
     def filtered_possible_objects(self, pruned, *args, **kwargs):
-        for appobjects in self.itervalues():
+        for appobjects in self.values():
             if pruned:
                 filtered_objects = [obj for obj in appobjects if obj not in pruned]
                 if not filtered_objects:
--- a/server/migractions.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/server/migractions.py	Tue Oct 13 15:09:22 2015 +0200
@@ -420,7 +420,7 @@
                                      {'x': expreid}, ask_confirm=False)
                 else:
                     newexprs.pop(expression)
-            for expression in newexprs.itervalues():
+            for expression in newexprs.values():
                 expr = expression.expression
                 if not confirm or self.confirm('Add %s expression for %s permission of %s?'
                                                % (expr, action, erschema)):
--- a/server/querier.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/server/querier.py	Tue Oct 13 15:09:22 2015 +0200
@@ -270,7 +270,7 @@
         # which have a known eid
         varkwargs = {}
         if not cnx.transaction_data.get('security-rqlst-cache'):
-            for var in rqlst.defined_vars.itervalues():
+            for var in rqlst.defined_vars.values():
                 if var.stinfo['constnode'] is not None:
                     eid = var.stinfo['constnode'].eval(self.args)
                     varkwargs[var.name] = int(eid)
@@ -419,7 +419,7 @@
 
     def relation_defs(self):
         """return the list for relation definitions to insert"""
-        for rdefs in self._expanded_r_defs.itervalues():
+        for rdefs in self._expanded_r_defs.values():
             for rdef in rdefs:
                 yield rdef
         for rdef in self.r_defs:
@@ -473,7 +473,7 @@
                 else:
                     relations[rtype] = [(subj, obj)]
         repo.glob_add_relations(cnx, relations)
-        for edited in edited_entities.itervalues():
+        for edited in edited_entities.values():
             repo.glob_update_entity(cnx, edited)
 
 
--- a/server/repository.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/server/repository.py	Tue Oct 13 15:09:22 2015 +0200
@@ -193,7 +193,7 @@
             # changed.  So any existing user object have a different class than
             # the new loaded one. We are hot fixing this.
             usercls = self.vreg['etypes'].etype_class('CWUser')
-            for session in self._sessions.itervalues():
+            for session in self._sessions.values():
                 if not isinstance(session.user, InternalManager):
                     session.user.__class__ = usercls
 
@@ -311,7 +311,7 @@
         else:
             self.vreg._set_schema(schema)
         self.querier.set_schema(schema)
-        for source in self.sources_by_uri.itervalues():
+        for source in self.sources_by_uri.values():
             source.set_schema(schema)
         self.schema = schema
 
@@ -437,7 +437,7 @@
         """
         # iter on sources_by_uri then check enabled source since sources doesn't
         # contain copy based sources
-        for source in self.sources_by_uri.itervalues():
+        for source in self.sources_by_uri.values():
             if self.config.source_enabled(source) and source.support_entity('CWUser'):
                 try:
                     return source.authenticate(cnx, login, **authinfo)
--- a/server/rqlannotation.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/server/rqlannotation.py	Tue Oct 13 15:09:22 2015 +0200
@@ -34,7 +34,7 @@
     #if server.DEBUG:
     #    print '-------- sql annotate', repr(rqlst)
     getrschema = annotator.schema.rschema
-    for var in rqlst.defined_vars.itervalues():
+    for var in rqlst.defined_vars.values():
         stinfo = var.stinfo
         if stinfo.get('ftirels'):
             has_text_query = True
@@ -145,7 +145,7 @@
                 stinfo['invariant'] = False
     # see unittest_rqlannotation. test_has_text_security_cache_bug
     # XXX probably more to do, but yet that work without more...
-    for col_alias in rqlst.aliases.itervalues():
+    for col_alias in rqlst.aliases.values():
         if col_alias.stinfo.get('ftirels'):
             has_text_query = True
     return has_text_query
@@ -232,7 +232,7 @@
     for select in union.children:
         for subquery in select.with_:
             set_qdata(getrschema, subquery.query, noinvariant)
-        for var in select.defined_vars.itervalues():
+        for var in select.defined_vars.values():
             if var.stinfo['invariant']:
                 if var in noinvariant and not var.stinfo['principal'].r_type == 'has_text':
                     var._q_invariant = False
--- a/server/schemaserial.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/server/schemaserial.py	Tue Oct 13 15:09:22 2015 +0200
@@ -284,7 +284,7 @@
         else:
             rtype = str(rel)
         relations[1].append(rtype)
-    for eschema, unique_together in unique_togethers.itervalues():
+    for eschema, unique_together in unique_togethers.values():
         eschema._unique_together.append(tuple(sorted(unique_together)))
     schema.infer_specialization_rules()
     cnx.commit()
@@ -387,7 +387,7 @@
             rdefs = [rdef for k, rdef in rschema.rdefs.items()
                      if (rdef.subject, rdef.object) == k]
         else:
-            rdefs = rschema.rdefs.itervalues()
+            rdefs = rschema.rdefs.values()
         for rdef in rdefs:
             execschemarql(execute, rdef,
                           rdef2rql(rdef, cstrtypemap, groupmap))
@@ -512,7 +512,7 @@
     if addrdef:
         assert cstrtypemap
         # sort for testing purpose
-        for rdef in sorted(rschema.rdefs.itervalues(),
+        for rdef in sorted(rschema.rdefs.values(),
                            key=lambda x: (x.subject, x.object)):
             for rql, values in rdef2rql(rdef, cstrtypemap, groupmap):
                 yield rql, values
--- a/server/session.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/server/session.py	Tue Oct 13 15:09:22 2015 +0200
@@ -558,7 +558,7 @@
                 else:
                     relations_dict[rtype] = eids
             self.repo.glob_add_relations(self, relations_dict)
-            for edited in edited_entities.itervalues():
+            for edited in edited_entities.values():
                 self.repo.glob_update_entity(self, edited)
 
 
--- a/server/sources/rql2sql.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/server/sources/rql2sql.py	Tue Oct 13 15:09:22 2015 +0200
@@ -366,7 +366,7 @@
         self.done = set()
         self.tables = self.subtables.copy()
         self.actual_tables = [[]]
-        for _, tsql in self.tables.itervalues():
+        for _, tsql in self.tables.values():
             self.actual_tables[-1].append(tsql)
         self.outer_chains = []
         self.outer_tables = {}
@@ -400,7 +400,7 @@
         notdone_outside_vars = set()
         # when iterating other solutions inner to an EXISTS subquery, we should
         # reset variables which have this exists node as scope at each iteration
-        for var in exists.stmt.defined_vars.itervalues():
+        for var in exists.stmt.defined_vars.values():
             if var.scope is exists:
                 thisexistsvars.add(var.name)
             elif var.name not in self.done:
--- a/sobjects/__init__.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/sobjects/__init__.py	Tue Oct 13 15:09:22 2015 +0200
@@ -20,7 +20,7 @@
 import os.path as osp
 
 def registration_callback(vreg):
-    vreg.register_all(globals().itervalues(), __name__)
+    vreg.register_all(globals().values(), __name__)
     global URL_MAPPING
     URL_MAPPING = {}
     if vreg.config.apphome:
--- a/sobjects/ldapparser.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/sobjects/ldapparser.py	Tue Oct 13 15:09:22 2015 +0200
@@ -87,10 +87,10 @@
     def process(self, url, raise_on_error=False):
         """IDataFeedParser main entry point"""
         self.debug('processing ldapfeed source %s %s', self.source, self.searchfilterstr)
-        for userdict in self.user_source_entities_by_extid.itervalues():
+        for userdict in self.user_source_entities_by_extid.values():
             self._process('CWUser', userdict)
         self.debug('processing ldapfeed source %s %s', self.source, self.searchgroupfilterstr)
-        for groupdict in self.group_source_entities_by_extid.itervalues():
+        for groupdict in self.group_source_entities_by_extid.values():
             self._process('CWGroup', groupdict, raise_on_error=raise_on_error)
 
     def handle_deletion(self, config, cnx, myuris):
--- a/test/unittest_rqlrewrite.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/test/unittest_rqlrewrite.py	Tue Oct 13 15:09:22 2015 +0200
@@ -92,7 +92,7 @@
             selects.append(stmt)
     assert node in selects, (node, selects)
     for stmt in selects:
-        for var in stmt.defined_vars.itervalues():
+        for var in stmt.defined_vars.values():
             assert var.stinfo['references']
             vrefmap = vrefmaps[stmt]
             assert not (var.stinfo['references'] ^ vrefmap[var.name]), (node.as_string(), var, var.stinfo['references'], vrefmap[var.name])
--- a/web/controller.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/web/controller.py	Tue Oct 13 15:09:22 2015 +0200
@@ -155,7 +155,7 @@
                 and '_cwmsgid' in newparams):
                 # are we here on creation or modification?
                 if any(eid == self._edited_entity.eid
-                       for eid in self._cw.data.get('eidmap', {}).itervalues()):
+                       for eid in self._cw.data.get('eidmap', {}).values()):
                     msg = self._cw._('click here to see created entity')
                 else:
                     msg = self._cw._('click here to see edited entity')
--- a/web/facet.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/web/facet.py	Tue Oct 13 15:09:22 2015 +0200
@@ -158,7 +158,7 @@
     for term in select.selection[:]:
         select.remove_selected(term)
     # remove unbound variables which only have some type restriction
-    for dvar in list(select.defined_vars.itervalues()):
+    for dvar in list(select.defined_vars.values()):
         if not (dvar is filtered_variable or dvar.stinfo['relations']):
             select.undefine_variable(dvar)
     # global tree config: DISTINCT, LIMIT, OFFSET
@@ -307,7 +307,7 @@
         # optional relation
         return ovar
     if all(rdef.cardinality[cardidx] in '1+'
-           for rdef in rschema.rdefs.itervalues()):
+           for rdef in rschema.rdefs.values()):
         # mandatory relation without any restriction on the other variable
         for orel in ovar.stinfo['relations']:
             if rel is orel:
@@ -810,7 +810,7 @@
         rschema = self._cw.vreg.schema.rschema(self.rtype)
         # XXX when called via ajax, no rset to compute possible types
         possibletypes = self.cw_rset and self.cw_rset.column_types(0)
-        for rdef in rschema.rdefs.itervalues():
+        for rdef in rschema.rdefs.values():
             if possibletypes is not None:
                 if self.role == 'subject':
                     if rdef.subject not in possibletypes:
--- a/web/test/unittest_views_searchrestriction.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/web/test/unittest_views_searchrestriction.py	Tue Oct 13 15:09:22 2015 +0200
@@ -79,7 +79,7 @@
         select = self.parse(u'DISTINCT Any V,TN,L ORDERBY TN,L WHERE T nom TN, V connait T, T is Personne, V is CWUser,'
                              'NOT V in_state VS, VS name "published", V login L')
         rschema = self.schema['connait']
-        for rdefs in rschema.rdefs.itervalues():
+        for rdefs in rschema.rdefs.values():
             rdefs.cardinality =  '++'
         try:
             self.assertEqual(self._generate(select, 'in_state', 'subject', 'name'),
@@ -87,7 +87,7 @@
                              'NOT EXISTS(V in_state VS), VS name "published", '
                              'V in_state A, A name B')
         finally:
-            for rdefs in rschema.rdefs.itervalues():
+            for rdefs in rschema.rdefs.values():
                 rdefs.cardinality =  '**'
 
     def test_nonregr3(self):
--- a/web/views/actions.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/web/views/actions.py	Tue Oct 13 15:09:22 2015 +0200
@@ -76,7 +76,7 @@
             return 0
         select = rqlst.children[0]
         if len(select.defined_vars) == 1 and len(select.solutions) == 1:
-            rset._searched_etype = select.solutions[0].itervalues().next()
+            rset._searched_etype = next(iter(select.solutions[0].values()))
             eschema = req.vreg.schema.eschema(rset._searched_etype)
             if not (eschema.final or eschema.is_subobject(strict=True)) \
                    and eschema.has_perm(req, 'add'):
--- a/web/views/autoform.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/web/views/autoform.py	Tue Oct 13 15:09:22 2015 +0200
@@ -1053,4 +1053,4 @@
             AutomaticEntityForm.error('field for %s %s may not be found in schema' % (rtype, role))
             return None
 
-    vreg.register_all(globals().itervalues(), __name__)
+    vreg.register_all(globals().values(), __name__)
--- a/web/views/csvexport.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/web/views/csvexport.py	Tue Oct 13 15:09:22 2015 +0200
@@ -100,7 +100,7 @@
             rows = rows_by_type[entity.e_schema]
             rows.append([entity.printable_value(rs.type, format='text/plain')
                          for rs in rowdef_by_type[entity.e_schema]])
-        for rows in rows_by_type.itervalues():
+        for rows in rows_by_type.values():
             writer.writerows(rows)
             # use two empty lines as separator
             writer.writerows([[], []])
--- a/web/views/schema.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/web/views/schema.py	Tue Oct 13 15:09:22 2015 +0200
@@ -114,7 +114,7 @@
     def grouped_permissions_table(self, rschema):
         # group relation definitions with identical permissions
         perms = {}
-        for rdef in rschema.rdefs.itervalues():
+        for rdef in rschema.rdefs.values():
             rdef_perms = []
             for action in rdef.ACTIONS:
                 groups = sorted(rdef.get_groups(action))
--- a/web/views/sparql.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/web/views/sparql.py	Tue Oct 13 15:09:22 2015 +0200
@@ -142,4 +142,4 @@
 
 def registration_callback(vreg):
     if Sparql2rqlTranslator is not None:
-        vreg.register_all(globals().itervalues(), __name__)
+        vreg.register_all(globals().values(), __name__)
--- a/web/views/uicfg.py	Tue Sep 15 16:15:03 2015 +0200
+++ b/web/views/uicfg.py	Tue Oct 13 15:09:22 2015 +0200
@@ -689,5 +689,5 @@
 
 
 def registration_callback(vreg):
-    vreg.register_all(globals().itervalues(), __name__)
+    vreg.register_all(globals().values(), __name__)
     indexview_etype_section.init(vreg.schema)