Anonymous avatar Anonymous committed 8af0a3d

pycore: follow parent folders with __init__.py in modname()

Initially the patch was written to fix a bug reported by Tom Tobin when
using symlinks. Confirmed by Orestis that it is safe to use it for
finding module names.
module names.

Comments (0)

Files changed (1)

rope/base/pycore.py

             module_name = resource.name[:-3]
             source_folder = resource.parent
 
-        source_folders = self.get_source_folders()
-        source_folders.extend(self.get_python_path_folders())
         while source_folder != source_folder.parent and \
-              source_folder not in source_folders:
+              source_folder.has_child('__init__.py'):
             module_name = source_folder.name + '.' + module_name
             source_folder = source_folder.parent
         return module_name
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 ProjectModifiedEvent.java.
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.