Anonymous committed 215d1b2

fix error that occur when use rubydomain with Python 3.x

Comments (0)

Files changed (1)


 rb_separator = re.compile(r"(?:\w+)?(?:::)?(?:\.)?(?:#)?")
+def _iteritems(d):
+    for k in d:
+        yield k, d[k]
 def ruby_rsplit(fullname):
     items = [item for item in rb_separator.findall(fullname)]
     return ''.join(items[:-2]), items[-1]
         ignores = self.domain.env.config['modindex_common_prefix']
         ignores = sorted(ignores, key=len, reverse=True)
         # list of all modules, sorted by module name
-        modules = sorted(['modules'].iteritems(),
+        modules = sorted(_iteritems(['modules']),
                          key=lambda x: x[0].lower())
         # sort out collapsable modules
         prev_modname = ''
         collapse = len(modules) - num_toplevels < num_toplevels
         # sort by first letter
-        content = sorted(content.iteritems())
+        content = sorted(_iteritems(content))
         return content, collapse
     def clear_doc(self, docname):
-        for fullname, (fn, _) in['objects'].items():
+        for fullname, (fn, _) in list(['objects'].items()):
             if fn == docname:
-        for modname, (fn, _, _, _) in['modules'].items():
+        for modname, (fn, _, _, _) in list(['modules'].items()):
             if fn == docname:
                                     contnode, name)
     def get_objects(self):
-        for modname, info in['modules'].iteritems():
+        for modname, info in _iteritems(['modules']):
             yield (modname, modname, 'module', info[0], 'module-' + modname, 0)
-        for refname, (docname, type) in['objects'].iteritems():
+        for refname, (docname, type) in _iteritems(['objects']):
             yield (refname, refname, type, docname, refname, 1)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.