186:d547caa795d7 | 187:c7600eee9047 |
---|---|
80 "CalculateSignatureChanges": self.__calculateSignatureChanges, | 80 "CalculateSignatureChanges": self.__calculateSignatureChanges, |
81 "CalculateInlineArgumentDefaultChanges": | 81 "CalculateInlineArgumentDefaultChanges": |
82 self.__calculateInlineArgumentDefaultChanges, | 82 self.__calculateInlineArgumentDefaultChanges, |
83 "CalculateModuleToPackageChanges": | 83 "CalculateModuleToPackageChanges": |
84 self.__calculateModuleToPackageChanges, | 84 self.__calculateModuleToPackageChanges, |
85 "RequestFieldName": self.__requestFieldName, | |
86 "CalculateEncapsulateFieldChanges": | |
87 self.__calculateEncapsulateFieldChanges, | |
88 "CalculateLocalToAttributeChanges": | |
89 self.__calculateLocalToAttributeChanges, | |
85 } | 90 } |
86 | 91 |
87 from FileSystemCommands import RefactoringClientFileSystemCommands | 92 from FileSystemCommands import RefactoringClientFileSystemCommands |
88 self.__fsCommands = RefactoringClientFileSystemCommands(self) | 93 self.__fsCommands = RefactoringClientFileSystemCommands(self) |
89 | 94 |
467 errorDict = {} | 472 errorDict = {} |
468 | 473 |
469 self.__progressHandle = ProgressHandle(self, params["Title"], False) | 474 self.__progressHandle = ProgressHandle(self, params["Title"], False) |
470 try: | 475 try: |
471 changes = self.__changes[params["ChangeGroup"]] | 476 changes = self.__changes[params["ChangeGroup"]] |
472 self.__project.do(changes, self.__progressHandle) | 477 if changes is not None: |
478 self.__project.do(changes, self.__progressHandle) | |
473 except Exception as err: | 479 except Exception as err: |
474 errorDict = self.__handleRopeError(err) | 480 errorDict = self.__handleRopeError(err) |
475 self.__progressHandle.reset() | 481 self.__progressHandle.reset() |
476 self.__progressHandle = None | 482 self.__progressHandle = None |
477 | 483 |
538 newName = params["NewName"] | 544 newName = params["NewName"] |
539 renameHierarchy = params["RenameHierarchy"] | 545 renameHierarchy = params["RenameHierarchy"] |
540 renameInStrings = params["RenameInStrings"] | 546 renameInStrings = params["RenameInStrings"] |
541 | 547 |
542 errorDict = {} | 548 errorDict = {} |
543 changes = [] | 549 changes = None |
544 result = { | 550 result = { |
545 "ChangeGroup": changeGroup, | 551 "ChangeGroup": changeGroup, |
546 "Title": title, | 552 "Title": title, |
547 } | 553 } |
548 | 554 |
621 onlyCalls = params["OnlyCalls"] | 627 onlyCalls = params["OnlyCalls"] |
622 reads = params["Reads"] | 628 reads = params["Reads"] |
623 writes = params["Writes"] | 629 writes = params["Writes"] |
624 | 630 |
625 errorDict = {} | 631 errorDict = {} |
626 changes = [] | 632 changes = None |
627 result = { | 633 result = { |
628 "ChangeGroup": changeGroup, | 634 "ChangeGroup": changeGroup, |
629 "Title": title, | 635 "Title": title, |
630 } | 636 } |
631 | 637 |
665 newName = params["NewName"] | 671 newName = params["NewName"] |
666 similar = params["Similar"] | 672 similar = params["Similar"] |
667 global_ = params["Global"] | 673 global_ = params["Global"] |
668 | 674 |
669 errorDict = {} | 675 errorDict = {} |
670 changes = [] | 676 changes = None |
671 result = { | 677 result = { |
672 "ChangeGroup": changeGroup, | 678 "ChangeGroup": changeGroup, |
673 "Title": title, | 679 "Title": title, |
674 } | 680 } |
675 | 681 |
749 filename = params["FileName"] | 755 filename = params["FileName"] |
750 offset = params["Offset"] | 756 offset = params["Offset"] |
751 kind = params["Kind"] | 757 kind = params["Kind"] |
752 | 758 |
753 errorDict = {} | 759 errorDict = {} |
754 changes = [] | 760 changes = None |
755 result = { | 761 result = { |
756 "ChangeGroup": changeGroup, | 762 "ChangeGroup": changeGroup, |
757 "Title": title, | 763 "Title": title, |
758 } | 764 } |
759 | 765 |
848 newName = params["NewName"] | 854 newName = params["NewName"] |
849 attribute = params["Attribute"] | 855 attribute = params["Attribute"] |
850 destination = params["DestinationModule"] | 856 destination = params["DestinationModule"] |
851 | 857 |
852 errorDict = {} | 858 errorDict = {} |
853 changes = [] | 859 changes = None |
854 result = { | 860 result = { |
855 "ChangeGroup": changeGroup, | 861 "ChangeGroup": changeGroup, |
856 "Title": title, | 862 "Title": title, |
857 } | 863 } |
858 | 864 |
938 title = params["Title"] | 944 title = params["Title"] |
939 filename = params["FileName"] | 945 filename = params["FileName"] |
940 offset = params["Offset"] | 946 offset = params["Offset"] |
941 | 947 |
942 errorDict = {} | 948 errorDict = {} |
943 changes = [] | 949 changes = None |
944 result = { | 950 result = { |
945 "ChangeGroup": changeGroup, | 951 "ChangeGroup": changeGroup, |
946 "Title": title, | 952 "Title": title, |
947 } | 953 } |
948 | 954 |
981 offset = params["Offset"] | 987 offset = params["Offset"] |
982 factoryName = params["Name"] | 988 factoryName = params["Name"] |
983 globalFactory = params["GlobalFactory"] | 989 globalFactory = params["GlobalFactory"] |
984 | 990 |
985 errorDict = {} | 991 errorDict = {} |
986 changes = [] | 992 changes = None |
987 result = { | 993 result = { |
988 "ChangeGroup": changeGroup, | 994 "ChangeGroup": changeGroup, |
989 "Title": title, | 995 "Title": title, |
990 } | 996 } |
991 | 997 |
1026 filename = params["FileName"] | 1032 filename = params["FileName"] |
1027 offset = params["Offset"] | 1033 offset = params["Offset"] |
1028 parameterName = params["Name"] | 1034 parameterName = params["Name"] |
1029 | 1035 |
1030 errorDict = {} | 1036 errorDict = {} |
1031 changes = [] | 1037 changes = None |
1032 result = { | 1038 result = { |
1033 "ChangeGroup": changeGroup, | 1039 "ChangeGroup": changeGroup, |
1034 "Title": title, | 1040 "Title": title, |
1035 } | 1041 } |
1036 | 1042 |
1065 filename = params["FileName"] | 1071 filename = params["FileName"] |
1066 offset = params["Offset"] | 1072 offset = params["Offset"] |
1067 methodName = params["MethodName"] | 1073 methodName = params["MethodName"] |
1068 | 1074 |
1069 errorDict = {} | 1075 errorDict = {} |
1070 changes = [] | 1076 changes = None |
1071 result = { | 1077 result = { |
1072 "ChangeGroup": changeGroup, | 1078 "ChangeGroup": changeGroup, |
1073 "Title": title, | 1079 "Title": title, |
1074 } | 1080 } |
1075 | 1081 |
1123 goal = params["Goal"] | 1129 goal = params["Goal"] |
1124 args = params["Args"] | 1130 args = params["Args"] |
1125 imports = params["Imports"] | 1131 imports = params["Imports"] |
1126 | 1132 |
1127 errorDict = {} | 1133 errorDict = {} |
1128 changes = [] | 1134 changes = None |
1129 result = { | 1135 result = { |
1130 "ChangeGroup": changeGroup, | 1136 "ChangeGroup": changeGroup, |
1131 "Title": title, | 1137 "Title": title, |
1132 } | 1138 } |
1133 | 1139 |
1204 newOrdering = params["Ordering"] | 1210 newOrdering = params["Ordering"] |
1205 autodef = params["AutoDef"] | 1211 autodef = params["AutoDef"] |
1206 doHierarchy = params["Hierarchy"] | 1212 doHierarchy = params["Hierarchy"] |
1207 | 1213 |
1208 errorDict = {} | 1214 errorDict = {} |
1215 changes = None | |
1209 result = { | 1216 result = { |
1210 "ChangeGroup": changeGroup, | 1217 "ChangeGroup": changeGroup, |
1211 "Title": title, | 1218 "Title": title, |
1212 } | 1219 } |
1213 | 1220 |
1261 filename = params["FileName"] | 1268 filename = params["FileName"] |
1262 offset = params["Offset"] | 1269 offset = params["Offset"] |
1263 argumentIndex = params["Index"] | 1270 argumentIndex = params["Index"] |
1264 | 1271 |
1265 errorDict = {} | 1272 errorDict = {} |
1273 changes = None | |
1266 result = { | 1274 result = { |
1267 "ChangeGroup": changeGroup, | 1275 "ChangeGroup": changeGroup, |
1268 "Title": title, | 1276 "Title": title, |
1269 } | 1277 } |
1270 | 1278 |
1302 changeGroup = params["ChangeGroup"] | 1310 changeGroup = params["ChangeGroup"] |
1303 title = params["Title"] | 1311 title = params["Title"] |
1304 filename = params["FileName"] | 1312 filename = params["FileName"] |
1305 | 1313 |
1306 errorDict = {} | 1314 errorDict = {} |
1315 changes = None | |
1307 result = { | 1316 result = { |
1308 "ChangeGroup": changeGroup, | 1317 "ChangeGroup": changeGroup, |
1309 "Title": title, | 1318 "Title": title, |
1310 } | 1319 } |
1311 | 1320 |
1334 | 1343 |
1335 result["Subcommand"] = "ChangesCalculated" | 1344 result["Subcommand"] = "ChangesCalculated" |
1336 result.update(errorDict) | 1345 result.update(errorDict) |
1337 | 1346 |
1338 self.sendJson("Changes", result) | 1347 self.sendJson("Changes", result) |
1348 | |
1349 def __requestFieldName(self, params): | |
1350 """ | |
1351 Private method to calculate the 'Field Name' based on the parameters | |
1352 sent by the server. | |
1353 | |
1354 @param params dictionary containing the method parameters sent by | |
1355 the server | |
1356 @type dict | |
1357 """ | |
1358 changeGroup = params["ChangeGroup"] | |
1359 title = params["Title"] | |
1360 filename = params["FileName"] | |
1361 offset = params["Offset"] | |
1362 | |
1363 errorDict = {} | |
1364 result = { | |
1365 "Subcommand": "FieldName", | |
1366 "ChangeGroup": changeGroup, | |
1367 "Title": title, | |
1368 } | |
1369 | |
1370 import rope.refactor.encapsulate_field | |
1371 resource = rope.base.libutils.path_to_resource( | |
1372 self.__project, filename) | |
1373 try: | |
1374 encapsulateField = \ | |
1375 rope.refactor.encapsulate_field.EncapsulateField( | |
1376 self.__project, resource, offset) | |
1377 result["Name"] = encapsulateField.get_field_name() | |
1378 except Exception as err: | |
1379 errorDict = self.__handleRopeError(err) | |
1380 | |
1381 result.update(errorDict) | |
1382 | |
1383 self.sendJson("Changes", result) | |
1384 | |
1385 def __calculateEncapsulateFieldChanges(self, params): | |
1386 """ | |
1387 Private method to calculate the 'Encapsulate Field' changes based on | |
1388 the parameters sent by the server. | |
1389 | |
1390 @param params dictionary containing the method parameters sent by | |
1391 the server | |
1392 @type dict | |
1393 """ | |
1394 changeGroup = params["ChangeGroup"] | |
1395 title = params["Title"] | |
1396 filename = params["FileName"] | |
1397 offset = params["Offset"] | |
1398 getter = params["Getter"] | |
1399 setter = params["Setter"] | |
1400 | |
1401 errorDict = {} | |
1402 changes = None | |
1403 result = { | |
1404 "ChangeGroup": changeGroup, | |
1405 "Title": title, | |
1406 } | |
1407 | |
1408 import rope.refactor.encapsulate_field | |
1409 resource = rope.base.libutils.path_to_resource( | |
1410 self.__project, filename) | |
1411 self.__progressHandle = ProgressHandle(self, title, True) | |
1412 try: | |
1413 encapsulateField = \ | |
1414 rope.refactor.encapsulate_field.EncapsulateField( | |
1415 self.__project, resource, offset) | |
1416 changes = encapsulateField.get_changes( | |
1417 getter=getter, setter=setter, | |
1418 task_handle=self.__progressHandle) | |
1419 except Exception as err: | |
1420 errorDict = self.__handleRopeError(err) | |
1421 self.__progressHandle.reset() | |
1422 self.__progressHandle = None | |
1423 | |
1424 self.__changes[changeGroup] = changes | |
1425 | |
1426 result["Subcommand"] = "ChangesCalculated" | |
1427 result.update(errorDict) | |
1428 | |
1429 self.sendJson("Changes", result) | |
1430 | |
1431 def __calculateLocalToAttributeChanges(self, params): | |
1432 """ | |
1433 Private method to calculate the 'Local Variabe to Attribute' changes | |
1434 based on the parameters sent by the server. | |
1435 | |
1436 @param params dictionary containing the method parameters sent by | |
1437 the server | |
1438 @type dict | |
1439 """ | |
1440 changeGroup = params["ChangeGroup"] | |
1441 title = params["Title"] | |
1442 filename = params["FileName"] | |
1443 offset = params["Offset"] | |
1444 | |
1445 errorDict = {} | |
1446 changes = None | |
1447 result = { | |
1448 "ChangeGroup": changeGroup, | |
1449 "Title": title, | |
1450 } | |
1451 | |
1452 import rope.refactor.localtofield | |
1453 resource = rope.base.libutils.path_to_resource( | |
1454 self.__project, filename) | |
1455 try: | |
1456 changes = rope.refactor.localtofield.LocalToField( | |
1457 self.__project, resource, offset).get_changes() | |
1458 except Exception as err: | |
1459 errorDict = self.__handleRopeError(err) | |
1460 | |
1461 self.__changes[changeGroup] = changes | |
1462 | |
1463 # send the change description first | |
1464 if changes: | |
1465 description = changes.description | |
1466 else: | |
1467 description = "" | |
1468 self.sendJson("Changes", { | |
1469 "ChangeGroup": changeGroup, | |
1470 "Title": title, | |
1471 "Subcommand": "ChangeDescription", | |
1472 "Description": description, | |
1473 }) | |
1474 | |
1475 result["Subcommand"] = "ChangesCalculated" | |
1476 result.update(errorDict) | |
1477 | |
1478 self.sendJson("Changes", result) | |
1339 | 1479 |
1340 | 1480 |
1341 if __name__ == '__main__': | 1481 if __name__ == '__main__': |
1342 if len(sys.argv) != 4: | 1482 if len(sys.argv) != 4: |
1343 print('Host, port and project path parameters are missing. Abort.') | 1483 print('Host, port and project path parameters are missing. Abort.') |