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
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
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
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
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
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
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
def remove_project(project): project.close() remove_recursively(project.address)
#!/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()
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()