Beispiel #1
0
 def _extractMethod(self, filePath, start, end, newName, indent_size):
     """
     Extracts a method
     """
     project = rope.base.project.Project(
         WORKSPACE_ROOT,
         ropefolder=ROPE_PROJECT_FOLDER,
         save_history=False,
         indent_size=indent_size,
     )
     resourceToRefactor = libutils.path_to_resource(project, filePath)
     refactor = ExtractMethodRefactor(
         project,
         resourceToRefactor,
         startOffset=start,
         endOffset=end,
         newName=newName,
         similar=True,
     )
     refactor.refactor()
     changes = refactor.changes
     project.close()
     valueToReturn = []
     for change in changes:
         valueToReturn.append({"diff": change.diff})
     return valueToReturn
Beispiel #2
0
def get_result(changes, project, resource):
    # perform the changes
    project.do(changes)
    project.validate(resource)
    project.close()

    # get the refactored code from the temp file and return it
    file = io.open(TEMP_PATH)
    refactored_code = file.read()
    file.close()

    return refactored_code
Beispiel #3
0
 def _extractMethod(self, filePath, start, end, newName):
     """
     Extracts a method
     """
     project = rope.base.project.Project(WORKSPACE_ROOT, ropefolder=ROPE_PROJECT_FOLDER, save_history=False)
     resourceToRefactor = libutils.path_to_resource(project, filePath)
     refactor = ExtractMethodRefactor(project, resourceToRefactor, startOffset=start, endOffset=end, newName=newName)
     refactor.refactor()
     changes = refactor.changes
     project.close()
     valueToReturn = []
     for change in changes:
         valueToReturn.append({'diff':change.diff})
     return valueToReturn
Beispiel #4
0
 def _localToField(self, filePath, start, indent_size):
     """
     Local To Field
     """
     project = rope.base.project.Project(
         WORKSPACE_ROOT, ropefolder=ROPE_PROJECT_FOLDER, save_history=False, indent_size=indent_size)
     resourceToRefactor = libutils.path_to_resource(project, filePath)
     refactor = LocalToFieldRefactor(project, resourceToRefactor, startOffset=start)
     refactor.refactor()
     changes = refactor.changes
     project.close()
     valueToReturn = []
     for change in changes:
         valueToReturn.append({'diff': change.diff})
     return valueToReturn
Beispiel #5
0
 def _rename(self, filePath, start, newName):
     """
     Extracts a variale
     """
     project = rope.base.project.Project(
         WORKSPACE_ROOT, ropefolder=ROPE_PROJECT_FOLDER, save_history=False)
     resourceToRefactor = libutils.path_to_resource(project, filePath)
     refactor = RenameRefactor(
         project, resourceToRefactor, startOffset=start, newName=newName)
     refactor.refactor()
     changes = refactor.changes
     project.close()
     valueToReturn = []
     for change in changes:
         valueToReturn.append({'diff': change.diff})
     return valueToReturn
Beispiel #6
0
 def _rename(self, filePath, start, newName, indent_size):
     """
     Renames a variable
     """
     project = rope.base.project.Project(
         WORKSPACE_ROOT, ropefolder=ROPE_PROJECT_FOLDER, save_history=False, indent_size=indent_size)
     resourceToRefactor = libutils.path_to_resource(project, filePath)
     refactor = RenameRefactor(
         project, resourceToRefactor, startOffset=start, newName=newName)
     refactor.refactor()
     changes = refactor.changes
     project.close()
     valueToReturn = []
     for change in changes:
         valueToReturn.append({'diff': change.diff})
     return valueToReturn
Beispiel #7
0
 def _add_import(self, filePath, text, name, parent, indent_size):
     """
     Add import
     """
     project = rope.base.project.Project(
         WORKSPACE_ROOT,
         ropefolder=ROPE_PROJECT_FOLDER,
         save_history=False,
         indent_size=indent_size,
     )
     resourceToRefactor = libutils.path_to_resource(project, filePath)
     refactor = ImportRefactor(project, resourceToRefactor, text, name,
                               parent)
     refactor.refactor()
     changes = refactor.changes
     project.close()
     valueToReturn = []
     for change in changes:
         valueToReturn.append({"diff": change.diff})
     return valueToReturn
Beispiel #8
0
def remove_project(project):
    project.close()
    remove_recursively(project.address)
Beispiel #9
0
def remove_project(project):
    project.close()
    remove_recursively(project.address)
Beispiel #10
0
#!/usr/bin/env python
# -*- encoding:utf-8 -*-

import rope.base.project
import rope.base.resources
import rope.contrib.codeassist
import os

project=rope.base.project.Project(os.path.expanduser('~/workspace/eclipse_workspace/PythonEditor/PythonEditor'))

pyfile=rope.base.resources.Resource(project,'/src/test/__init__.py')

code_file=file('/workspace/eclipse_workspace/PythonEditor/PythonEditor/src/test/__init__.py')
source_code=''.join(code_file.readlines())

ca=rope.contrib.codeassist.code_assist(project, source_code, len(source_code)) #, pyfile)

for i in ca:
    print i

project.close()
Beispiel #11
0
    print('Domain specific models are moving to related api packages.')
    with open(sdk_generated_path + 'opsgenieCodegenModels.csv', mode='r') as csv_file:
        csv_reader = csv.DictReader(csv_file)

        for row in csv_reader:
            if row['opsgenieDomain'] != 'common':
                model_resource = libutils.path_to_resource(project,
                                                           sdk_generated_path + sdk_path + 'models/' + row['classFilename'] + '.py',
                                                           'file')
                model_dest_resource = libutils.path_to_resource(project,
                                                                sdk_generated_path + sdk_path + 'api/' + row['opsgenieDomain'],
                                                                'folder')

                if model_resource.exists() and model_dest_resource.exists():
                    print('\tclassname: ' + row["classname"] + ' classFilename: ' + row["classFilename"] + ' opsgenieDomain: ' + row["opsgenieDomain"])

                    moveModule = MoveModule(project, model_resource)
                    changes = moveModule.get_changes(model_dest_resource)
                    project.do(changes)


project = rope.base.project.Project(sdk_generated_path)

api_resources = libutils.path_to_resource(project, sdk_generated_path + sdk_path + 'api', 'folder')

move_all_api_modules_to_package()
rename_all_api_modules()
move_domain_models()

project.close()