Anonymous avatar Anonymous committed 75a9332

fixmodnames: handling packages

Comments (0)

Files changed (2)

rope/contrib/fixmodnames.py

         try:
             for resource in self.project.pycore.get_python_files():
                 modname = resource.name.rsplit('.', 1)[0]
+                if modname == '__init__':
+                    modname = resource.parent.name
                 if not modname.islower():
                     renamer = rename.Rename(self.project, resource)
                     changes = renamer.get_changes(modname.lower())

ropetest/contrib/fixmodnamestest.py

 
 from ropetest import testutils
 from rope.contrib.fixmodnames import FixModuleNames
+from rope.contrib.generate import create_module, create_package
 
 
 class FixModuleNamesTest(unittest.TestCase):
         super(FixModuleNamesTest, self).tearDown()
 
     def test_simple_module_renaming(self):
-        mod = self.project.root.create_file('Mod.py')
+        mod = create_module(self.project, 'Mod')
         self.project.do(FixModuleNames(self.project).get_changes())
         self.assertFalse(mod.exists())
-        self.assertTrue(self.project.get_resource('mod.py').exists)
+        self.assertTrue(self.project.get_resource('mod.py').exists())
+
+    def test_packages_module_renaming(self):
+        pkg = create_package(self.project, 'Pkg')
+        self.project.do(FixModuleNames(self.project).get_changes())
+        self.assertFalse(pkg.exists())
+        self.assertTrue(self.project.get_resource('pkg/__init__.py').exists())
 
 
 if __name__ == '__main__':
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.