RefactoringRope/RefactoringClient.py

Sun, 31 Dec 2017 16:59:12 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 31 Dec 2017 16:59:12 +0100
changeset 245
75a35a927952
parent 216
47fb0119f0be
child 251
4dcc73076100
permissions
-rw-r--r--

Updated copyright for 2018.

161
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
245
75a35a927952 Updated copyright for 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 216
diff changeset
3 # Copyright (c) 2017 - 2018 Detlev Offenbach <detlev@die-offenbachs.de>
161
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the refactoring client interface to rope.
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 from __future__ import unicode_literals
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 import sys
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 import os
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 sys.path.insert(0, os.path.dirname(__file__))
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 if sys.version_info[0] >= 3:
216
47fb0119f0be Updated rope (for Python 2) to version 0.10.7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 212
diff changeset
17 # TODO: unify this
47fb0119f0be Updated rope (for Python 2) to version 0.10.7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 212
diff changeset
18 ## rope_path = os.path.join(os.path.dirname(__file__), 'rope_py3')
47fb0119f0be Updated rope (for Python 2) to version 0.10.7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 212
diff changeset
19 rope_path = os.path.join(os.path.dirname(__file__), 'rope_py2')
161
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 else:
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
21 rope_path = os.path.join(os.path.dirname(__file__), 'rope_py2')
165
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
22 str = unicode # __IGNORE_WARNING__
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
23 sys.path.insert(0, rope_path)
161
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
25 import rope
161
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 import rope.base.project
165
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
27 import rope.base.libutils
161
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28
163
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
29 from JsonClient import JsonClient
179
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
30 from ProgressHandle import ProgressHandle
161
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31
163
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
32
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
33 class RefactoringClient(JsonClient):
161
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 """
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 Class implementing the refactoring client interface to rope.
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 """
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 def __init__(self, host, port, projectPath):
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 """
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 Constructor
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 @param host ip address the background service is listening
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 @type str
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 @param port port of the background service
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 @type int
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 @param projectPath path to the project
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 @type str
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 """
163
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
48 super(RefactoringClient, self).__init__(host, port)
161
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
50 self.__methodMapping = {
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
51 "AbortAction": self.__abortAction,
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
52 "CloseProject": self.__closeProject,
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
53 "Validate": self.__validate,
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
54 "QueryReferences": self.__queryReferences,
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
55 "QueryDefinition": self.__queryDefinition,
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
56 "QueryImplementations": self.__queryImplementations,
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
57 "GetConfig": self.__getConfig,
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
58 "ConfigChanged": self.__configChanged,
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
59 "PerformSoa": self.__performSOA,
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
60 "ReportChanged": self.__reportChanged,
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
61 "History": self.__processHistory,
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
62 "PreviewChanges": self.__previewChanges,
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
63 "ApplyChanges": self.__applyChanges,
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
64 "ClearChanges": self.__clearChanges,
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
65 "CalculateRenameChanges": self.__calculateRenameChanges,
174
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
66 "CalculateChangeOccurrencesChanges":
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
67 self.__calculateChangeOccurrencesChanges,
175
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
68 "CalculateExtractChanges": self.__calculateExtractChanges,
176
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
69 "RequestInlineType": self.__requestInlineType,
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
70 "CalculateInlineChanges": self.__calculateInlineChanges,
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
71 "RequestMoveType": self.__requestMoveType,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
72 "CalculateMoveChanges": self.__calculateMoveChanges,
179
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
73 "RequestUseFunction": self.__requestUseFunction,
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
74 "CalculateUseFunctionChanges": self.__calculateUseFunctionChanges,
180
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
75 "CalculateIntroduceFactoryChanges":
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
76 self.__calculateIntroduceFactoryChanges,
181
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
77 "CalculateIntroduceParameterChanges":
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
78 self.__calculateIntroduceParameterChanges,
182
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
79 "CalculateImportsChanges": self.__calculateImportsChanges,
183
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
80 "CalculateRestructureChanges": self.__calculateRestructureChanges,
184
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
81 "RequestSignature": self.__requestSignature,
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
82 "CalculateSignatureChanges": self.__calculateSignatureChanges,
185
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
83 "CalculateInlineArgumentDefaultChanges":
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
84 self.__calculateInlineArgumentDefaultChanges,
186
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
85 "CalculateModuleToPackageChanges":
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
86 self.__calculateModuleToPackageChanges,
187
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
87 "RequestFieldName": self.__requestFieldName,
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
88 "CalculateEncapsulateFieldChanges":
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
89 self.__calculateEncapsulateFieldChanges,
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
90 "CalculateLocalToAttributeChanges":
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
91 self.__calculateLocalToAttributeChanges,
188
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
92 "CalculateMethodObjectChanges":
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
93 self.__calculateMethodObjectChanges,
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
94 }
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
95
162
55eaaed9d590 Implemented the distributed rope file system commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
96 from FileSystemCommands import RefactoringClientFileSystemCommands
55eaaed9d590 Implemented the distributed rope file system commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
97 self.__fsCommands = RefactoringClientFileSystemCommands(self)
55eaaed9d590 Implemented the distributed rope file system commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
98
161
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 self.__projectpath = projectPath
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 self.__project = rope.base.project.Project(
162
55eaaed9d590 Implemented the distributed rope file system commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
101 self.__projectpath, fscommands=self.__fsCommands)
164
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
102
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
103 self.__progressHandle = None
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
104
170
05ef7c12a6d4 Modified the client side to keep multiple change caches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
105 self.__changes = {}
05ef7c12a6d4 Modified the client side to keep multiple change caches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
106 # dict storing the retrieved changes for various refactorings
161
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107
163
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
108 def handleCall(self, method, params):
161
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 """
163
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
110 Public method to handle a method call from the server.
161
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111
163
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
112 @param method requested method name
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
113 @type str
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
114 @param params dictionary with method specific parameters
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
115 @type dict
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
116 """
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
117 ## if "filename" in params and sys.version_info[0] == 2:
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
118 ## params["filename"] = params["filename"].encode(
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
119 ## sys.getfilesystemencoding())
161
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
121 self.__methodMapping[method](params)
165
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
122
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
123 def __handleRopeError(self, err):
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
124 """
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
125 Private method to process a rope error.
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
126
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
127 @param err rope exception object
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
128 @type Exception
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
129 @return dictionary containing the error information
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
130 @rtype dict
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
131 """
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
132 ropeError = str(type(err)).split()[-1]
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
133 ropeError = ropeError[1:-2].split('.')[-1]
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
134 errorDict = {
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
135 "Error": ropeError,
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
136 "ErrorString": str(err),
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
137 }
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
138 if ropeError == 'ModuleSyntaxError':
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
139 errorDict["ErrorFile"] = err.filename
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
140 errorDict["ErrorLine"] = err.lineno
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
141
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
142 return errorDict
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
143
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
144 def __abortAction(self, params):
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
145 """
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
146 Private method to abort the current action.
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
147
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
148 @param params dictionary containing the method parameters sent by
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
149 the server
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
150 @type dict
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
151 """
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
152 if self.__progressHandle is not None and \
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
153 not self.__progressHandle.is_stopped():
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
154 self.__progressHandle.stop()
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
155
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
156 def __validate(self, params):
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
157 """
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
158 Private slot to validate the project.
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
159
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
160 @param params dictionary containing the method parameters sent by
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
161 the server
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
162 @type dict
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
163 """
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
164 self.__project.validate(self.__project.root)
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
165
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
166 def __closeProject(self, params):
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
167 """
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
168 Private slot to validate the project.
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
169
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
170 @param params dictionary containing the method parameters sent by
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
171 the server
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
172 @type dict
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
173 """
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
174 self.__project.close()
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
175
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
176 def __getConfig(self, params):
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
177 """
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
178 Private method to send some configuration data to the server.
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
179
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
180 @param params dictionary containing the method parameters sent by
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
181 the server
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
182 @type dict
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
183 """
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
184 result = {
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
185 "RopeFolderName": self.__project.ropefolder.real_path,
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
186 "DefaultConfig": self.__project._default_config(),
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
187 "RopeHelpFile": os.path.join(
216
47fb0119f0be Updated rope (for Python 2) to version 0.10.7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 212
diff changeset
188 rope_path, "rope", "docs", "overview.rst"),
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
189 "RopeInfo": rope.INFO,
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
190 "RopeVersion": rope.VERSION,
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
191 "RopeCopyright": rope.COPYRIGHT,
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 204
diff changeset
192 "PythonVersion": "Python{0}".format(sys.version_info[0]),
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
193 }
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
194
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
195 self.sendJson("Config", result)
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
196
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
197 def __configChanged(self, params):
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
198 """
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
199 Private method to handle a change of the configuration file.
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
200
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
201 @param params dictionary containing the method parameters sent by
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
202 the server
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
203 @type dict
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
204 """
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
205 self.__project.close()
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
206 self.__project = rope.base.project.Project(
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
207 self.__projectpath, fscommands=self.__fsCommands)
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
208
165
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
209 def __queryReferences(self, params):
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
210 """
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
211 Private method to handle the Find References action.
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
212
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
213 @param params dictionary containing the method parameters sent by
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
214 the server
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
215 @type dict
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
216 """
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
217 title = params["Title"]
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
218 filename = params["FileName"]
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
219 offset = params["Offset"]
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
220
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
221 errorDict = {}
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
222 occurrences = []
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
223
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
224 import rope.contrib.findit
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
225 resource = rope.base.libutils.path_to_resource(
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
226 self.__project, filename)
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
227 self.__progressHandle = ProgressHandle(self, title, True)
165
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
228 try:
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
229 occurrences = rope.contrib.findit.find_occurrences(
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
230 self.__project, resource, offset,
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
231 unsure=True, in_hierarchy=True,
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
232 task_handle=self.__progressHandle)
165
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
233 except Exception as err:
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
234 errorDict = self.__handleRopeError(err)
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
235 self.__progressHandle.reset()
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
236 self.__progressHandle = None
165
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
237
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
238 result = {
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
239 "Title": title,
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
240 "EntriesCount": len(occurrences),
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
241 "Entries": [
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
242 [occurrence.resource.real_path, occurrence.lineno,
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
243 occurrence.unsure] for occurrence in occurrences
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
244 ],
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
245 }
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
246 result.update(errorDict)
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
247
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
248 self.sendJson("QueryReferencesResult", result)
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
249
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
250 def __queryDefinition(self, params):
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
251 """
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
252 Private method to handle the Find Definition action.
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
253
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
254 @param params dictionary containing the method parameters sent by
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
255 the server
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
256 @type dict
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
257 """
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
258 title = params["Title"]
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
259 filename = params["FileName"]
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
260 offset = params["Offset"]
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
261 source = params["Source"]
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
262 subcommand = params["Subcommand"]
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
263
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
264 errorDict = {}
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
265 location = None
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
266
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
267 import rope.contrib.findit
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
268 resource = rope.base.libutils.path_to_resource(
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
269 self.__project, filename)
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
270 try:
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
271 location = rope.contrib.findit.find_definition(
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
272 self.__project, source, offset, resource)
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
273 except Exception as err:
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
274 errorDict = self.__handleRopeError(err)
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
275
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
276 result = {
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
277 "Title": title,
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
278 "Subcommand": subcommand,
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
279 }
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
280 if location is not None:
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
281 result["Location"] = [
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
282 location.resource.real_path, location.lineno
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
283 ]
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
284 result.update(errorDict)
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
285
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
286 self.sendJson("QueryDefinitionResult", result)
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
287
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
288 def __queryImplementations(self, params):
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
289 """
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
290 Private method to handle the Find Implementations action.
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
291
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
292 @param params dictionary containing the method parameters sent by
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
293 the server
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
294 @type dict
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
295 """
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
296 title = params["Title"]
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
297 filename = params["FileName"]
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
298 offset = params["Offset"]
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
299
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
300 errorDict = {}
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
301 occurrences = []
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
302
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
303 import rope.contrib.findit
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
304 resource = rope.base.libutils.path_to_resource(
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
305 self.__project, filename)
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
306 self.__progressHandle = ProgressHandle(self, title, True)
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
307 try:
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
308 occurrences = rope.contrib.findit.find_implementations(
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
309 self.__project, resource, offset,
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
310 task_handle=self.__progressHandle)
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
311 except Exception as err:
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
312 errorDict = self.__handleRopeError(err)
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
313 self.__progressHandle.reset()
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
314 self.__progressHandle = None
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
315
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
316 result = {
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
317 "Title": title,
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
318 "EntriesCount": len(occurrences),
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
319 "Entries": [
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
320 [occurrence.resource.real_path, occurrence.lineno,
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
321 occurrence.unsure] for occurrence in occurrences
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
322 ],
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
323 }
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
324 result.update(errorDict)
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
325
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
326 self.sendJson("QueryImplementationsResult", result)
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
327
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
328 def __performSOA(self, params):
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
329 """
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
330 Private method to perform SOA on all modules.
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
331
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
332 @param params dictionary containing the method parameters sent by
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
333 the server
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
334 @type dict
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
335 """
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
336 title = params["Title"]
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
337
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
338 errorDict = {}
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
339
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
340 self.__progressHandle = ProgressHandle(self, title, True)
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
341 try:
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
342 rope.base.libutils.analyze_modules(
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
343 self.__project, task_handle=self.__progressHandle)
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
344 except Exception as err:
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
345 errorDict = self.__handleRopeError(err)
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
346 self.__progressHandle.reset()
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
347 self.__progressHandle = None
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
348
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
349 result = {
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
350 "Title": title,
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
351 }
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
352 result.update(errorDict)
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
353
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
354 self.sendJson("SoaFinished", result)
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
355
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
356 def __reportChanged(self, params):
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
357 """
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
358 Private method to register some changed sources.
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
359
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
360 @param params dictionary containing the method parameters sent by
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
361 the server
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
362 @type dict
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
363 """
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
364 filename = params["FileName"]
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
365 oldSource = params["OldSource"]
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
366
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
367 try:
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
368 rope.base.libutils.report_change(
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
369 self.__project, filename, oldSource)
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
370 except Exception:
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
371 # simply ignore it
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
372 pass
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
373
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
374 def __processHistory(self, params):
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
375 """
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
376 Private method to process the various history related requests.
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
377
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
378 @param params dictionary containing the method parameters sent by
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
379 the server
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
380 @type dict
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
381 """
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
382 subcommand = params["Subcommand"]
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
383 if subcommand == "Get":
170
05ef7c12a6d4 Modified the client side to keep multiple change caches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
384 changes = {}
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
385 if params["Filename"]:
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
386 # file history
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
387 resource = rope.base.libutils.path_to_resource(
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
388 self.__project, params["Filename"])
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
389 undoList = []
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
390 for change in reversed(self.__project.history.undo_list):
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
391 if resource in change.get_changed_resources():
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
392 undoList.append(change)
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
393 redoList = []
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
394 for change in self.__project.history.redo_list:
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
395 if resource in change.get_changed_resources():
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
396 redoList.append(change)
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
397 else:
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
398 # project history
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
399 undoList = list(reversed(self.__project.history.undo_list))
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
400 redoList = self.__project.history.redo_list
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
401
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
402 result = {"Subcommand": "Histories"}
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
403 result["Undo"] = []
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
404 for change in undoList:
170
05ef7c12a6d4 Modified the client side to keep multiple change caches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
405 changes[id(change)] = change
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
406 result["Undo"].append([str(change), id(change)])
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
407 result["Redo"] = []
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
408 for change in redoList:
170
05ef7c12a6d4 Modified the client side to keep multiple change caches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
409 changes[id(change)] = change
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
410 result["Redo"].append([str(change), id(change)])
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
411
170
05ef7c12a6d4 Modified the client side to keep multiple change caches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
412 self.__changes["History"] = changes
05ef7c12a6d4 Modified the client side to keep multiple change caches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
413
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
414 self.sendJson("HistoryResult", result)
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
415
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
416 elif subcommand == "GetChange":
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
417 result = {
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
418 "Subcommand": "ChangeDescription",
203
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 190
diff changeset
419 "Description":
174
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
420 self.__changes["History"][params["Id"]].get_description()
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
421 }
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
422
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
423 self.sendJson("HistoryResult", result)
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
424
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
425 elif subcommand in ["Undo", "Redo"]:
170
05ef7c12a6d4 Modified the client side to keep multiple change caches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
426 change = self.__changes["History"][params["Id"]]
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
427 self.__progressHandle = ProgressHandle(self, change.description,
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
428 False)
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
429 if subcommand == "Undo":
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
430 self.__project.history.undo(
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
431 change, task_handle=self.__progressHandle)
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
432 else:
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
433 self.__project.history.redo(
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
434 change, task_handle=self.__progressHandle)
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
435 self.__progressHandle.reset()
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
436 self.__progressHandle = None
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
437
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
438 result = {
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
439 "Subcommand": subcommand,
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
440 "ChangedFiles": [
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
441 res.real_path for res in change.get_changed_resources()
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
442 ],
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
443 }
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
444
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
445 self.sendJson("HistoryResult", result)
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
446
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
447 elif subcommand == "Clear":
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
448 self.__project.history.clear()
170
05ef7c12a6d4 Modified the client side to keep multiple change caches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
449
05ef7c12a6d4 Modified the client side to keep multiple change caches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
450 elif subcommand == "ClearChanges":
05ef7c12a6d4 Modified the client side to keep multiple change caches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
451 try:
05ef7c12a6d4 Modified the client side to keep multiple change caches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
452 del self.__changes["History"]
05ef7c12a6d4 Modified the client side to keep multiple change caches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
453 except KeyError:
05ef7c12a6d4 Modified the client side to keep multiple change caches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
454 pass
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
455
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
456 def __clearChanges(self, params):
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
457 """
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
458 Private method to clear the changes cache of a given change group.
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
459
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
460 @param params dictionary containing the method parameters sent by
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
461 the server
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
462 @type dict
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
463 """
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
464 try:
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
465 del self.__changes[params["ChangeGroup"]]
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
466 except KeyError:
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
467 pass
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
468
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
469 def __applyChanges(self, params):
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
470 """
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
471 Private method to apply the changes of a given change group.
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
472
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
473 @param params dictionary containing the method parameters sent by
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
474 the server
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
475 @type dict
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
476 """
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
477 errorDict = {}
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
478
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
479 self.__progressHandle = ProgressHandle(self, params["Title"], False)
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
480 try:
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
481 changes = self.__changes[params["ChangeGroup"]]
187
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
482 if changes is not None:
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
483 self.__project.do(changes, self.__progressHandle)
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
484 except Exception as err:
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
485 errorDict = self.__handleRopeError(err)
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
486 self.__progressHandle.reset()
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
487 self.__progressHandle = None
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
488
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
489 result = {
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
490 "Subcommand": "ChangesApplied",
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
491 "ChangeGroup": params["ChangeGroup"],
173
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
492 "Title": params["Title"],
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
493 "ChangedFiles": [
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
494 res.real_path for res in changes.get_changed_resources()
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
495 ],
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
496 }
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
497 result.update(errorDict)
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
498
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
499 self.sendJson("Changes", result)
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
500
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
501 def __previewChanges(self, params):
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
502 """
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
503 Private method to determine the changes data for a preview.
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
504
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
505 @param params dictionary containing the method parameters sent by
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
506 the server
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
507 @type dict
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
508 """
173
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
509 try:
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
510 changes = self.__changes[params["ChangeGroup"]]
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
511 description = changes.description
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
512 except KeyError:
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
513 changes = None
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
514 description = ""
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
515
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
516 changesData = []
173
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
517 if changes is not None:
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
518 for change in changes.changes:
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
519 changeTitle = str(change)
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
520 try:
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
521 changeText = change.get_description()
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
522 except AttributeError:
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
523 changeText = None
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
524 changesData.append([changeTitle, changeText])
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
525
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
526 result = {
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
527 "Subcommand": "PreviewChanges",
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
528 "ChangeGroup": params["ChangeGroup"],
173
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
529 "Description": description,
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
530 "Changes": changesData,
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
531 }
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
532
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
533 self.sendJson("Changes", result)
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
534
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
535 def __calculateRenameChanges(self, params):
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
536 """
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
537 Private method to calculate the rename changes based on the parameters
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
538 sent by the server.
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
539
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
540 @param params dictionary containing the method parameters sent by
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
541 the server
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
542 @type dict
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
543 """
173
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
544 changeGroup = params["ChangeGroup"]
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
545 title = params["Title"]
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
546 filename = params["FileName"]
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
547 offset = params["Offset"]
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
548 isLocal = params["LocalRename"]
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
549 newName = params["NewName"]
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
550 renameHierarchy = params["RenameHierarchy"]
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
551 renameInStrings = params["RenameInStrings"]
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
552
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
553 errorDict = {}
187
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
554 changes = None
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
555 result = {
173
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
556 "ChangeGroup": changeGroup,
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
557 "Title": title,
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
558 }
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
559
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
560 import rope.refactor.rename
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
561 resource = rope.base.libutils.path_to_resource(
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
562 self.__project, filename)
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
563
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
564 if isLocal:
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
565 resources = [resource]
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
566 else:
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
567 resources = None
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
568
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
569 self.__progressHandle = ProgressHandle(self, title, True)
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
570 try:
176
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
571 renamer = rope.refactor.rename.Rename(
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
572 self.__project, resource, offset)
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
573 changes = renamer.get_changes(
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
574 newName,
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
575 resources=resources,
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
576 in_hierarchy=renameHierarchy,
173
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
577 unsure=lambda o: self.__confirmUnsure(o, changeGroup),
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
578 docs=renameInStrings,
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
579 task_handle=self.__progressHandle)
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
580 except Exception as err:
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
581 errorDict = self.__handleRopeError(err)
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
582 self.__progressHandle.reset()
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
583 self.__progressHandle = None
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
584
173
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
585 self.__changes[changeGroup] = changes
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
586
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
587 result["Subcommand"] = "ChangesCalculated"
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
588 result.update(errorDict)
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
589
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
590 self.sendJson("Changes", result)
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
591
173
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
592 def __confirmUnsure(self, occurrence, changeGroup):
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
593 """
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
594 Private method to confirm unsure occurrences.
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
595
204
b4bf79b956bc Regenerated source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 203
diff changeset
596 @param occurrence reference to the occurrence object
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
597 @type rope.refactor.occurrences.Occurrence
173
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
598 @param changeGroup name of the change group
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
599 @type str
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
600 @return flag indicating an occurrence
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
601 @rtype bool
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 170
diff changeset
602 """
173
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
603 filename = occurrence.resource.real_path
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
604 start, end = occurrence.get_primary_range()
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
605
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
606 self.sendJson("Changes", {
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
607 "Subcommand": "ConfirmUnsure",
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
608 "ChangeGroup": changeGroup,
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
609 "FileName": filename,
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
610 "StartOffset": start,
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
611 "EndOffset": end,
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
612 })
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
613
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
614 answer = self.poll(waitMethod="ConfirmUnsure")
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
615
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
616 return answer["Answer"]
174
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
617
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
618 def __calculateChangeOccurrencesChanges(self, params):
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
619 """
175
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
620 Private method to calculate the 'Change Occurrences' changes based on
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
621 the parameters sent by the server.
174
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
622
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
623 @param params dictionary containing the method parameters sent by
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
624 the server
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
625 @type dict
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
626 """
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
627 changeGroup = params["ChangeGroup"]
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
628 title = params["Title"]
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
629 filename = params["FileName"]
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
630 offset = params["Offset"]
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
631 newName = params["NewName"]
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
632 onlyCalls = params["OnlyCalls"]
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
633 reads = params["Reads"]
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
634 writes = params["Writes"]
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
635
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
636 errorDict = {}
187
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
637 changes = None
174
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
638 result = {
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
639 "ChangeGroup": changeGroup,
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
640 "Title": title,
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
641 }
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
642
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
643 import rope.refactor.rename
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
644 resource = rope.base.libutils.path_to_resource(
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
645 self.__project, filename)
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
646 try:
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
647 renamer = rope.refactor.rename.ChangeOccurrences(
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
648 self.__project, resource, offset)
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
649 changes = renamer.get_changes(
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
650 newName, only_calls=onlyCalls, reads=reads, writes=writes)
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
651 except Exception as err:
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
652 errorDict = self.__handleRopeError(err)
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
653
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
654 self.__changes[changeGroup] = changes
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
655
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
656 result["Subcommand"] = "ChangesCalculated"
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
657 result.update(errorDict)
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
658
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
659 self.sendJson("Changes", result)
175
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
660
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
661 def __calculateExtractChanges(self, params):
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
662 """
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
663 Private method to calculate the 'Extract' changes based on the
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
664 parameters sent by the server.
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
665
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
666 @param params dictionary containing the method parameters sent by
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
667 the server
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
668 @type dict
203
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 190
diff changeset
669 @exception Exception raised to indicate an invalid extraction type
175
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
670 """
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
671 changeGroup = params["ChangeGroup"]
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
672 title = params["Title"]
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
673 filename = params["FileName"]
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
674 startOffset = params["StartOffset"]
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
675 endOffset = params["EndOffset"]
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
676 kind = params["Kind"]
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
677 newName = params["NewName"]
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
678 similar = params["Similar"]
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
679 global_ = params["Global"]
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
680
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
681 errorDict = {}
187
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
682 changes = None
175
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
683 result = {
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
684 "ChangeGroup": changeGroup,
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
685 "Title": title,
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
686 }
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
687
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
688 import rope.refactor.extract
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
689 resource = rope.base.libutils.path_to_resource(
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
690 self.__project, filename)
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
691 try:
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
692 if kind == "variable":
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
693 extractor = rope.refactor.extract.ExtractVariable(
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
694 self.__project, resource, startOffset, endOffset)
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
695 elif kind == "method":
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
696 extractor = rope.refactor.extract.ExtractMethod(
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
697 self.__project, resource, startOffset, endOffset)
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
698 else:
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
699 raise Exception("Invalid extraction kind <{0}>.".format(kind))
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
700 changes = extractor.get_changes(
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
701 newName, similar=similar, global_=global_)
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
702 except Exception as err:
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
703 errorDict = self.__handleRopeError(err)
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
704
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
705 self.__changes[changeGroup] = changes
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
706
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
707 result["Subcommand"] = "ChangesCalculated"
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
708 result.update(errorDict)
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
709
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
710 self.sendJson("Changes", result)
176
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
711
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
712 def __requestInlineType(self, params):
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
713 """
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
714 Private method to determine the 'Inline' changes type based on the
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
715 parameters sent by the server.
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
716
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
717 @param params dictionary containing the method parameters sent by
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
718 the server
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
719 @type dict
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
720 """
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
721 changeGroup = params["ChangeGroup"]
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
722 title = params["Title"]
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
723 filename = params["FileName"]
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
724 offset = params["Offset"]
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
725
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
726 errorDict = {}
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
727 result = {
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
728 "Subcommand": "InlineType",
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
729 "ChangeGroup": changeGroup,
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
730 "Title": title,
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
731 }
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
732
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
733 import rope.refactor.inline
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
734 resource = rope.base.libutils.path_to_resource(
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
735 self.__project, filename)
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
736 try:
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
737 inliner = rope.refactor.inline.create_inline(
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
738 self.__project, resource, offset)
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
739 result.update({
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
740 "Name": inliner.name,
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
741 "Kind": inliner.get_kind(),
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
742 })
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
743 except Exception as err:
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
744 errorDict = self.__handleRopeError(err)
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
745
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
746 result.update(errorDict)
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
747
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
748 self.sendJson("Changes", result)
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
749
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
750 def __calculateInlineChanges(self, params):
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
751 """
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
752 Private method to calculate the 'Inline' changes based on the
176
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
753 parameters sent by the server.
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
754
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
755 @param params dictionary containing the method parameters sent by
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
756 the server
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
757 @type dict
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
758 """
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
759 changeGroup = params["ChangeGroup"]
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
760 title = params["Title"]
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
761 filename = params["FileName"]
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
762 offset = params["Offset"]
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
763 kind = params["Kind"]
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
764
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
765 errorDict = {}
187
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
766 changes = None
176
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
767 result = {
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
768 "ChangeGroup": changeGroup,
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
769 "Title": title,
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
770 }
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
771
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
772 import rope.refactor.extract
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
773 resource = rope.base.libutils.path_to_resource(
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
774 self.__project, filename)
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
775 self.__progressHandle = ProgressHandle(self, title, True)
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
776 try:
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
777 inliner = rope.refactor.inline.create_inline(
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
778 self.__project, resource, offset)
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
779 if kind == "parameter":
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
780 opts = {
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
781 "in_hierarchy": params["Hierarchy"],
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
782 }
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
783 else:
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
784 opts = {
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
785 "remove": params["Remove"],
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
786 "only_current": params["OnlyCurrent"],
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
787 }
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
788 changes = inliner.get_changes(
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
789 task_handle=self.__progressHandle, **opts)
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
790 except Exception as err:
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
791 errorDict = self.__handleRopeError(err)
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
792 self.__progressHandle.reset()
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
793 self.__progressHandle = None
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
794
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
795 self.__changes[changeGroup] = changes
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
796
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
797 result["Subcommand"] = "ChangesCalculated"
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
798 result.update(errorDict)
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
799
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
800 self.sendJson("Changes", result)
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
801
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
802 def __requestMoveType(self, params):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
803 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
804 Private method to determine the 'Move Method' changes type based on the
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
805 parameters sent by the server.
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
806
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
807 @param params dictionary containing the method parameters sent by
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
808 the server
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
809 @type dict
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
810 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
811 changeGroup = params["ChangeGroup"]
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
812 title = params["Title"]
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
813 filename = params["FileName"]
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
814 offset = params["Offset"]
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
815
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
816 errorDict = {}
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
817 result = {
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
818 "Subcommand": "MoveType",
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
819 "ChangeGroup": changeGroup,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
820 "Title": title,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
821 }
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
822
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
823 import rope.refactor.move
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
824 resource = rope.base.libutils.path_to_resource(
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
825 self.__project, filename)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
826 try:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
827 mover = rope.refactor.move.create_move(
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
828 self.__project, resource, offset)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
829 if isinstance(mover, rope.refactor.move.MoveGlobal):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
830 result.update({
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
831 "Kind": "move_global_method",
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
832 "Method": "",
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
833 })
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
834 else:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
835 result.update({
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
836 "Kind": "move_method",
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
837 "Method": mover.get_method_name(),
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
838 })
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
839 except Exception as err:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
840 errorDict = self.__handleRopeError(err)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
841
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
842 result.update(errorDict)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
843
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
844 self.sendJson("Changes", result)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
845
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
846 def __calculateMoveChanges(self, params):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
847 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
848 Private method to calculate the 'Move ...' changes based on the
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
849 parameters sent by the server.
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
850
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
851 @param params dictionary containing the method parameters sent by
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
852 the server
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
853 @type dict
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
854 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
855 changeGroup = params["ChangeGroup"]
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
856 title = params["Title"]
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
857 filename = params["FileName"]
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
858 offset = params["Offset"]
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
859 kind = params["Kind"]
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
860 newName = params["NewName"]
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
861 attribute = params["Attribute"]
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
862 destination = params["DestinationModule"]
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
863
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
864 errorDict = {}
187
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
865 changes = None
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
866 result = {
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
867 "ChangeGroup": changeGroup,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
868 "Title": title,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
869 }
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
870
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
871 import rope.refactor.move
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
872 resource = rope.base.libutils.path_to_resource(
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
873 self.__project, filename)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
874 self.__progressHandle = ProgressHandle(self, title, True)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
875 try:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
876 mover = rope.refactor.move.create_move(
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
877 self.__project, resource, offset)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
878 if kind == "move_method":
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
879 changes = mover.get_changes(
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
880 attribute, newName, task_handle=self.__progressHandle)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
881 else:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
882 if kind == "move_global_method":
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
883 dest = self.__project.get_pycore().find_module(
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
884 os.path.splitext(destination)[0])
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
885 else:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
886 # move_module
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
887 if destination.endswith(os.sep):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
888 destination = destination[:-1]
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
889 dest = self.__project.get_pycore().find_module(
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
890 destination)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
891 changes = mover.get_changes(
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
892 dest, task_handle=self.__progressHandle)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
893 except Exception as err:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
894 errorDict = self.__handleRopeError(err)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
895 self.__progressHandle.reset()
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
896 self.__progressHandle = None
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
897
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
898 self.__changes[changeGroup] = changes
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
899
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
900 result["Subcommand"] = "ChangesCalculated"
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
901 result.update(errorDict)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
902
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
903 self.sendJson("Changes", result)
179
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
904
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
905 def __requestUseFunction(self, params):
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
906 """
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
907 Private method to determine the 'Use Function' function name based on
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
908 the parameters sent by the server.
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
909
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
910 @param params dictionary containing the method parameters sent by
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
911 the server
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
912 @type dict
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
913 """
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
914 changeGroup = params["ChangeGroup"]
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
915 title = params["Title"]
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
916 filename = params["FileName"]
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
917 offset = params["Offset"]
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
918
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
919 errorDict = {}
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
920 result = {
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
921 "Subcommand": "UseFunctionName",
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
922 "ChangeGroup": changeGroup,
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
923 "Title": title,
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
924 }
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
925
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
926 import rope.refactor.usefunction
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
927 resource = rope.base.libutils.path_to_resource(
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
928 self.__project, filename)
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
929 try:
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
930 user = rope.refactor.usefunction.UseFunction(
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
931 self.__project, resource, offset)
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
932 result["FunctionName"] = user.get_function_name()
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
933 except Exception as err:
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
934 errorDict = self.__handleRopeError(err)
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
935
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
936 result.update(errorDict)
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
937
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
938 self.sendJson("Changes", result)
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
939
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
940 def __calculateUseFunctionChanges(self, params):
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
941 """
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
942 Private method to calculate the 'Use Function' changes based on the
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
943 parameters sent by the server.
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
944
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
945 @param params dictionary containing the method parameters sent by
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
946 the server
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
947 @type dict
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
948 """
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
949 changeGroup = params["ChangeGroup"]
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
950 title = params["Title"]
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
951 filename = params["FileName"]
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
952 offset = params["Offset"]
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
953
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
954 errorDict = {}
187
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
955 changes = None
179
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
956 result = {
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
957 "ChangeGroup": changeGroup,
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
958 "Title": title,
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
959 }
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
960
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
961 import rope.refactor.usefunction
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
962 resource = rope.base.libutils.path_to_resource(
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
963 self.__project, filename)
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
964 self.__progressHandle = ProgressHandle(self, title, True)
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
965 try:
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
966 user = rope.refactor.usefunction.UseFunction(
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
967 self.__project, resource, offset)
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
968 changes = user.get_changes(task_handle=self.__progressHandle)
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
969 except Exception as err:
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
970 errorDict = self.__handleRopeError(err)
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
971 self.__progressHandle.reset()
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
972 self.__progressHandle = None
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
973
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
974 self.__changes[changeGroup] = changes
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
975
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
976 result["Subcommand"] = "ChangesCalculated"
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
977 result.update(errorDict)
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
978
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
979 self.sendJson("Changes", result)
180
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
980
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
981 def __calculateIntroduceFactoryChanges(self, params):
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
982 """
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
983 Private method to calculate the 'Introduce Factory' changes based on
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
984 the parameters sent by the server.
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
985
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
986 @param params dictionary containing the method parameters sent by
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
987 the server
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
988 @type dict
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
989 """
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
990 changeGroup = params["ChangeGroup"]
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
991 title = params["Title"]
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
992 filename = params["FileName"]
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
993 offset = params["Offset"]
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
994 factoryName = params["Name"]
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
995 globalFactory = params["GlobalFactory"]
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
996
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
997 errorDict = {}
187
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
998 changes = None
180
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
999 result = {
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1000 "ChangeGroup": changeGroup,
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1001 "Title": title,
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1002 }
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1003
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1004 import rope.refactor.introduce_factory
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1005 resource = rope.base.libutils.path_to_resource(
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1006 self.__project, filename)
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1007 self.__progressHandle = ProgressHandle(self, title, True)
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1008 try:
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1009 introducer = \
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1010 rope.refactor.introduce_factory.IntroduceFactoryRefactoring(
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1011 self.__project, resource, offset)
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1012 changes = introducer.get_changes(
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1013 factoryName, global_factory=globalFactory,
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1014 task_handle=self.__progressHandle)
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1015 except Exception as err:
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1016 errorDict = self.__handleRopeError(err)
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1017 self.__progressHandle.reset()
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1018 self.__progressHandle = None
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1019
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1020 self.__changes[changeGroup] = changes
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1021
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1022 result["Subcommand"] = "ChangesCalculated"
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1023 result.update(errorDict)
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1024
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1025 self.sendJson("Changes", result)
181
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1026
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1027 def __calculateIntroduceParameterChanges(self, params):
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1028 """
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1029 Private method to calculate the 'Introduce Parameter' changes based on
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1030 the parameters sent by the server.
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1031
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1032 @param params dictionary containing the method parameters sent by
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1033 the server
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1034 @type dict
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1035 """
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1036 changeGroup = params["ChangeGroup"]
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1037 title = params["Title"]
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1038 filename = params["FileName"]
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1039 offset = params["Offset"]
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1040 parameterName = params["Name"]
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1041
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1042 errorDict = {}
187
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1043 changes = None
181
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1044 result = {
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1045 "ChangeGroup": changeGroup,
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1046 "Title": title,
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1047 }
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1048
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1049 import rope.refactor.introduce_parameter
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1050 resource = rope.base.libutils.path_to_resource(
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1051 self.__project, filename)
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1052 try:
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1053 introducer = rope.refactor.introduce_parameter.IntroduceParameter(
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1054 self.__project, resource, offset)
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1055 changes = introducer.get_changes(parameterName)
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1056 except Exception as err:
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1057 errorDict = self.__handleRopeError(err)
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1058
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1059 self.__changes[changeGroup] = changes
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1060
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1061 result["Subcommand"] = "ChangesCalculated"
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1062 result.update(errorDict)
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1063
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1064 self.sendJson("Changes", result)
182
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1065
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1066 def __calculateImportsChanges(self, params):
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1067 """
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1068 Private method to calculate the 'Import' changes based on the
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1069 parameters sent by the server.
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1070
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1071 @param params dictionary containing the method parameters sent by
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1072 the server
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1073 @type dict
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1074 """
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1075 changeGroup = params["ChangeGroup"]
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1076 title = params["Title"]
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1077 filename = params["FileName"]
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1078 offset = params["Offset"]
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1079 methodName = params["MethodName"]
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1080
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1081 errorDict = {}
187
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1082 changes = None
182
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1083 result = {
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1084 "ChangeGroup": changeGroup,
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1085 "Title": title,
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1086 }
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1087
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1088 from rope.refactor.importutils import ImportOrganizer
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1089 method = {
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1090 "organize_imports": ImportOrganizer.organize_imports,
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1091 "expand_star_imports": ImportOrganizer.expand_star_imports,
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1092 "relatives_to_absolutes": ImportOrganizer.relatives_to_absolutes,
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1093 "froms_to_imports": ImportOrganizer.froms_to_imports,
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1094 "handle_long_imports": ImportOrganizer.handle_long_imports,
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1095 }[methodName]
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1096 importOrganizer = ImportOrganizer(self.__project)
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1097 resource = rope.base.libutils.path_to_resource(
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1098 self.__project, filename)
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1099 try:
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1100 changes = method(importOrganizer, resource, offset=offset)
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1101 except Exception as err:
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1102 errorDict = self.__handleRopeError(err)
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1103
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1104 self.__changes[changeGroup] = changes
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1105
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1106 # send the change description first
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1107 if changes:
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1108 description = changes.description
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1109 else:
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1110 description = ""
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1111 self.sendJson("Changes", {
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1112 "ChangeGroup": changeGroup,
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1113 "Title": title,
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1114 "Subcommand": "ChangeDescription",
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1115 "Description": description,
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1116 })
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1117
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1118 result["Subcommand"] = "ChangesCalculated"
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1119 result.update(errorDict)
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1120
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1121 self.sendJson("Changes", result)
183
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1122
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1123 def __calculateRestructureChanges(self, params):
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1124 """
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1125 Private method to calculate the 'Restructure' changes based on the
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1126 parameters sent by the server.
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1127
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1128 @param params dictionary containing the method parameters sent by
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1129 the server
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1130 @type dict
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1131 """
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1132 changeGroup = params["ChangeGroup"]
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1133 title = params["Title"]
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1134 pattern = params["Pattern"]
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1135 goal = params["Goal"]
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1136 args = params["Args"]
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1137 imports = params["Imports"]
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1138
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1139 errorDict = {}
187
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1140 changes = None
183
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1141 result = {
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1142 "ChangeGroup": changeGroup,
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1143 "Title": title,
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1144 }
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1145
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1146 import rope.refactor.restructure
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1147 self.__project.validate(self.__project.root)
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1148 self.__progressHandle = ProgressHandle(self, title, True)
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1149 try:
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1150 restructuring = rope.refactor.restructure.Restructure(
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1151 self.__project, pattern, goal, args=args, imports=imports)
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1152 changes = restructuring.get_changes(
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1153 task_handle=self.__progressHandle)
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1154 except Exception as err:
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1155 errorDict = self.__handleRopeError(err)
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1156 self.__progressHandle.reset()
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1157 self.__progressHandle = None
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1158
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1159 self.__changes[changeGroup] = changes
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1160
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1161 result["Subcommand"] = "ChangesCalculated"
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1162 result.update(errorDict)
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1163
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1164 self.sendJson("Changes", result)
184
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1165
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1166 def __requestSignature(self, params):
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1167 """
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1168 Private method to calculate the 'Signature' based on the parameters
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1169 sent by the server.
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1170
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1171 @param params dictionary containing the method parameters sent by
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1172 the server
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1173 @type dict
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1174 """
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1175 changeGroup = params["ChangeGroup"]
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1176 title = params["Title"]
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1177 filename = params["FileName"]
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1178 offset = params["Offset"]
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1179
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1180 errorDict = {}
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1181 result = {
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1182 "Subcommand": "Signature",
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1183 "ChangeGroup": changeGroup,
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1184 "Title": title,
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1185 }
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1186
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1187 import rope.refactor.change_signature
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1188 resource = rope.base.libutils.path_to_resource(
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1189 self.__project, filename)
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1190 try:
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1191 changer = rope.refactor.change_signature.ChangeSignature(
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1192 self.__project, resource, offset)
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1193 result["DefinitionInfo"] = changer.get_args()
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1194 except Exception as err:
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1195 errorDict = self.__handleRopeError(err)
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1196
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1197 result.update(errorDict)
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1198
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1199 self.sendJson("Changes", result)
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1200
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1201 def __calculateSignatureChanges(self, params):
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1202 """
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1203 Private method to calculate the 'Signature' changes based on the
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1204 parameters sent by the server.
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1205
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1206 @param params dictionary containing the method parameters sent by
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1207 the server
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1208 @type dict
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1209 """
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1210 changeGroup = params["ChangeGroup"]
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1211 title = params["Title"]
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1212 filename = params["FileName"]
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1213 offset = params["Offset"]
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1214 removals = params["Removals"]
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1215 additions = params["Additions"]
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1216 newOrdering = params["Ordering"]
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1217 autodef = params["AutoDef"]
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1218 doHierarchy = params["Hierarchy"]
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1219
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1220 errorDict = {}
187
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1221 changes = None
184
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1222 result = {
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1223 "ChangeGroup": changeGroup,
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1224 "Title": title,
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1225 }
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1226
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1227 changers = []
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1228 import rope.refactor.change_signature
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1229 # removals
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1230 for index in removals:
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1231 remover = rope.refactor.change_signature.ArgumentRemover(index)
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1232 changers.append(remover)
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1233 # additions
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1234 for index, name, default, value in additions:
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1235 adder = rope.refactor.change_signature.ArgumentAdder(
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1236 index, name, default, value)
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1237 changers.append(adder)
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1238 # new ordering
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1239 changers.append(rope.refactor.change_signature.ArgumentReorderer(
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1240 newOrdering, autodef=autodef))
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1241
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1242 resource = rope.base.libutils.path_to_resource(
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1243 self.__project, filename)
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1244 self.__progressHandle = ProgressHandle(self, title, True)
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1245 try:
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1246 changer = rope.refactor.change_signature.ChangeSignature(
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1247 self.__project, resource, offset)
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1248 changes = changer.get_changes(
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1249 changers, in_hierarchy=doHierarchy,
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1250 task_handle=self.__progressHandle)
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1251 except Exception as err:
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1252 errorDict = self.__handleRopeError(err)
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1253 self.__progressHandle.reset()
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1254 self.__progressHandle = None
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1255
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1256 self.__changes[changeGroup] = changes
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1257
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1258 result["Subcommand"] = "ChangesCalculated"
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1259 result.update(errorDict)
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1260
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1261 self.sendJson("Changes", result)
185
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1262
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1263 def __calculateInlineArgumentDefaultChanges(self, params):
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1264 """
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1265 Private method to calculate the 'Inline Argument Default' changes
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1266 based on the parameters sent by the server.
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1267
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1268 @param params dictionary containing the method parameters sent by
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1269 the server
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1270 @type dict
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1271 """
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1272 changeGroup = params["ChangeGroup"]
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1273 title = params["Title"]
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1274 filename = params["FileName"]
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1275 offset = params["Offset"]
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1276 argumentIndex = params["Index"]
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1277
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1278 errorDict = {}
187
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1279 changes = None
185
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1280 result = {
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1281 "ChangeGroup": changeGroup,
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1282 "Title": title,
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1283 }
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1284
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1285 resource = rope.base.libutils.path_to_resource(
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1286 self.__project, filename)
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1287 self.__progressHandle = ProgressHandle(self, title, True)
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1288 try:
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1289 changer = rope.refactor.change_signature.ChangeSignature(
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1290 self.__project, resource, offset)
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1291 inliner = rope.refactor.change_signature.ArgumentDefaultInliner(
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1292 argumentIndex)
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1293 changes = changer.get_changes(
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1294 [inliner], task_handle=self.__progressHandle)
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1295 except Exception as err:
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1296 errorDict = self.__handleRopeError(err)
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1297 self.__progressHandle.reset()
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1298 self.__progressHandle = None
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1299
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1300 self.__changes[changeGroup] = changes
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1301
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1302 result["Subcommand"] = "ChangesCalculated"
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1303 result.update(errorDict)
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1304
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1305 self.sendJson("Changes", result)
186
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1306
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1307 def __calculateModuleToPackageChanges(self, params):
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1308 """
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1309 Private method to calculate the 'Module to Package' changes
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1310 based on the parameters sent by the server.
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1311
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1312 @param params dictionary containing the method parameters sent by
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1313 the server
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1314 @type dict
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1315 """
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1316 changeGroup = params["ChangeGroup"]
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1317 title = params["Title"]
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1318 filename = params["FileName"]
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1319
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1320 errorDict = {}
187
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1321 changes = None
186
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1322 result = {
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1323 "ChangeGroup": changeGroup,
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1324 "Title": title,
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1325 }
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1326
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1327 import rope.refactor.topackage
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1328 resource = rope.base.libutils.path_to_resource(
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1329 self.__project, filename)
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1330 try:
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1331 changes = rope.refactor.topackage.ModuleToPackage(
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1332 self.__project, resource).get_changes()
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1333 except Exception as err:
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1334 errorDict = self.__handleRopeError(err)
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1335
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1336 self.__changes[changeGroup] = changes
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1337
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1338 # send the change description first
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1339 if changes:
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1340 description = changes.description
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1341 else:
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1342 description = ""
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1343 self.sendJson("Changes", {
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1344 "ChangeGroup": changeGroup,
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1345 "Title": title,
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1346 "Subcommand": "ChangeDescription",
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1347 "Description": description,
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1348 })
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1349
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1350 result["Subcommand"] = "ChangesCalculated"
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1351 result.update(errorDict)
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1352
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1353 self.sendJson("Changes", result)
187
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1354
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1355 def __requestFieldName(self, params):
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1356 """
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1357 Private method to calculate the 'Field Name' based on the parameters
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1358 sent by the server.
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1359
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1360 @param params dictionary containing the method parameters sent by
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1361 the server
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1362 @type dict
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1363 """
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1364 changeGroup = params["ChangeGroup"]
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1365 title = params["Title"]
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1366 filename = params["FileName"]
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1367 offset = params["Offset"]
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1368
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1369 errorDict = {}
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1370 result = {
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1371 "Subcommand": "FieldName",
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1372 "ChangeGroup": changeGroup,
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1373 "Title": title,
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1374 }
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1375
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1376 import rope.refactor.encapsulate_field
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1377 resource = rope.base.libutils.path_to_resource(
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1378 self.__project, filename)
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1379 try:
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1380 encapsulateField = \
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1381 rope.refactor.encapsulate_field.EncapsulateField(
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1382 self.__project, resource, offset)
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1383 result["Name"] = encapsulateField.get_field_name()
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1384 except Exception as err:
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1385 errorDict = self.__handleRopeError(err)
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1386
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1387 result.update(errorDict)
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1388
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1389 self.sendJson("Changes", result)
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1390
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1391 def __calculateEncapsulateFieldChanges(self, params):
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1392 """
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1393 Private method to calculate the 'Encapsulate Field' changes based on
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1394 the parameters sent by the server.
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1395
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1396 @param params dictionary containing the method parameters sent by
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1397 the server
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1398 @type dict
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1399 """
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1400 changeGroup = params["ChangeGroup"]
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1401 title = params["Title"]
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1402 filename = params["FileName"]
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1403 offset = params["Offset"]
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1404 getter = params["Getter"]
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1405 setter = params["Setter"]
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1406
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1407 errorDict = {}
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1408 changes = None
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1409 result = {
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1410 "ChangeGroup": changeGroup,
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1411 "Title": title,
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1412 }
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1413
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1414 import rope.refactor.encapsulate_field
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1415 resource = rope.base.libutils.path_to_resource(
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1416 self.__project, filename)
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1417 self.__progressHandle = ProgressHandle(self, title, True)
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1418 try:
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1419 encapsulateField = \
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1420 rope.refactor.encapsulate_field.EncapsulateField(
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1421 self.__project, resource, offset)
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1422 changes = encapsulateField.get_changes(
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1423 getter=getter, setter=setter,
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1424 task_handle=self.__progressHandle)
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1425 except Exception as err:
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1426 errorDict = self.__handleRopeError(err)
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1427 self.__progressHandle.reset()
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1428 self.__progressHandle = None
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1429
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1430 self.__changes[changeGroup] = changes
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1431
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1432 result["Subcommand"] = "ChangesCalculated"
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1433 result.update(errorDict)
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1434
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1435 self.sendJson("Changes", result)
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1436
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1437 def __calculateLocalToAttributeChanges(self, params):
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1438 """
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1439 Private method to calculate the 'Local Variabe to Attribute' changes
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1440 based on the parameters sent by the server.
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1441
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1442 @param params dictionary containing the method parameters sent by
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1443 the server
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1444 @type dict
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1445 """
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1446 changeGroup = params["ChangeGroup"]
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1447 title = params["Title"]
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1448 filename = params["FileName"]
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1449 offset = params["Offset"]
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1450
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1451 errorDict = {}
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1452 changes = None
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1453 result = {
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1454 "ChangeGroup": changeGroup,
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1455 "Title": title,
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1456 }
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1457
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1458 import rope.refactor.localtofield
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1459 resource = rope.base.libutils.path_to_resource(
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1460 self.__project, filename)
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1461 try:
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1462 changes = rope.refactor.localtofield.LocalToField(
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1463 self.__project, resource, offset).get_changes()
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1464 except Exception as err:
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1465 errorDict = self.__handleRopeError(err)
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1466
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1467 self.__changes[changeGroup] = changes
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1468
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1469 # send the change description first
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1470 if changes:
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1471 description = changes.description
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1472 else:
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1473 description = ""
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1474 self.sendJson("Changes", {
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1475 "ChangeGroup": changeGroup,
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1476 "Title": title,
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1477 "Subcommand": "ChangeDescription",
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1478 "Description": description,
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1479 })
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1480
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1481 result["Subcommand"] = "ChangesCalculated"
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1482 result.update(errorDict)
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1483
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1484 self.sendJson("Changes", result)
188
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1485
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1486 def __calculateMethodObjectChanges(self, params):
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1487 """
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1488 Private method to calculate the 'Method to Method Object' changes
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1489 based on the parameters sent by the server.
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1490
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1491 @param params dictionary containing the method parameters sent by
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1492 the server
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1493 @type dict
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1494 """
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1495 changeGroup = params["ChangeGroup"]
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1496 title = params["Title"]
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1497 filename = params["FileName"]
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1498 offset = params["Offset"]
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1499 name = params["Name"]
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1500
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1501 errorDict = {}
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1502 changes = None
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1503 result = {
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1504 "ChangeGroup": changeGroup,
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1505 "Title": title,
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1506 }
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1507
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1508 import rope.refactor.method_object
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1509 resource = rope.base.libutils.path_to_resource(
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1510 self.__project, filename)
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1511 try:
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1512 converter = rope.refactor.method_object.MethodObject(
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1513 self.__project, resource, offset)
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1514 changes = converter.get_changes(name)
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1515 except Exception as err:
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1516 errorDict = self.__handleRopeError(err)
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1517
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1518 self.__changes[changeGroup] = changes
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1519
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1520 result["Subcommand"] = "ChangesCalculated"
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1521 result.update(errorDict)
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1522
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1523 self.sendJson("Changes", result)
180
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1524
161
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1525
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1526 if __name__ == '__main__':
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1527 if len(sys.argv) != 4:
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1528 print('Host, port and project path parameters are missing. Abort.')
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1529 sys.exit(1)
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1530
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1531 host, port, projectPath = sys.argv[1:]
190
a1b9b4975806 Modified the refactoring client to be able to process modules containing Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 188
diff changeset
1532
a1b9b4975806 Modified the refactoring client to be able to process modules containing Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 188
diff changeset
1533 # Create a Qt4/5 application object in order to allow the processing of
a1b9b4975806 Modified the refactoring client to be able to process modules containing Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 188
diff changeset
1534 # modules containing Qt stuff.
a1b9b4975806 Modified the refactoring client to be able to process modules containing Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 188
diff changeset
1535 try:
a1b9b4975806 Modified the refactoring client to be able to process modules containing Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 188
diff changeset
1536 from PyQt5.QtCore import QCoreApplication
a1b9b4975806 Modified the refactoring client to be able to process modules containing Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 188
diff changeset
1537 except ImportError:
a1b9b4975806 Modified the refactoring client to be able to process modules containing Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 188
diff changeset
1538 try:
a1b9b4975806 Modified the refactoring client to be able to process modules containing Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 188
diff changeset
1539 from PyQt4.QtCore import QCoreApplication
a1b9b4975806 Modified the refactoring client to be able to process modules containing Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 188
diff changeset
1540 except ImportError:
a1b9b4975806 Modified the refactoring client to be able to process modules containing Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 188
diff changeset
1541 QCoreApplication = None
a1b9b4975806 Modified the refactoring client to be able to process modules containing Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 188
diff changeset
1542 if QCoreApplication is not None:
a1b9b4975806 Modified the refactoring client to be able to process modules containing Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 188
diff changeset
1543 app = QCoreApplication(sys.argv)
a1b9b4975806 Modified the refactoring client to be able to process modules containing Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 188
diff changeset
1544
161
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1545 client = RefactoringClient(host, int(port), projectPath)
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1546 # Start the main loop
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1547 client.run()
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
1548
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
1549 sys.exit(0)
161
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1550
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1551 #
f5d6fb1a009b Added the client file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1552 # eflag: noqa = M801

eric ide

mercurial