| Index: tools/telemetry/third_party/rope/rope/refactor/topackage.py
|
| diff --git a/tools/telemetry/third_party/rope/rope/refactor/topackage.py b/tools/telemetry/third_party/rope/rope/refactor/topackage.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f36a6d528865f589ff22c80493db19d1971b1cb7
|
| --- /dev/null
|
| +++ b/tools/telemetry/third_party/rope/rope/refactor/topackage.py
|
| @@ -0,0 +1,32 @@
|
| +import rope.refactor.importutils
|
| +from rope.base.change import ChangeSet, ChangeContents, MoveResource, \
|
| + CreateFolder
|
| +
|
| +
|
| +class ModuleToPackage(object):
|
| +
|
| + def __init__(self, project, resource):
|
| + self.project = project
|
| + self.resource = resource
|
| +
|
| + def get_changes(self):
|
| + changes = ChangeSet('Transform <%s> module to package' %
|
| + self.resource.path)
|
| + new_content = self._transform_relatives_to_absolute(self.resource)
|
| + if new_content is not None:
|
| + changes.add_change(ChangeContents(self.resource, new_content))
|
| + parent = self.resource.parent
|
| + name = self.resource.name[:-3]
|
| + changes.add_change(CreateFolder(parent, name))
|
| + parent_path = parent.path + '/'
|
| + if not parent.path:
|
| + parent_path = ''
|
| + new_path = parent_path + '%s/__init__.py' % name
|
| + if self.resource.project == self.project:
|
| + changes.add_change(MoveResource(self.resource, new_path))
|
| + return changes
|
| +
|
| + def _transform_relatives_to_absolute(self, resource):
|
| + pymodule = self.project.get_pymodule(resource)
|
| + import_tools = rope.refactor.importutils.ImportTools(self.project)
|
| + return import_tools.relatives_to_absolutes(pymodule)
|
|
|