-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
T1.2 accept/reject code changes #5
T1.2 accept/reject code changes #5
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
small improvements to make API more resilient to externals
public class PythonCodeMigrationEventArgs : EventArgs | ||
{ | ||
public string OldCode { get; private set; } | ||
public string NewCode { get; private set; } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
might also be useful to add properties that tell us the old version and the new one so we know more about the context of the migration (2->3, 3->3.1 for example). Could be used downstream (in assistant) to launch different documentation etc based on the versions
src/PythonMigrationViewExtension/PythonMigrationAssistantViewModel.cs
Outdated
Show resolved
Hide resolved
src/PythonMigrationViewExtension/PythonMigrationAssistantViewModel.cs
Outdated
Show resolved
Hide resolved
src/PythonMigrationViewExtension/PythonMigrationAssistantViewModel.cs
Outdated
Show resolved
Hide resolved
src/PythonMigrationViewExtension/PythonMigrationAssistantViewModel.cs
Outdated
Show resolved
Hide resolved
src/PythonMigrationViewExtension/PythonMigrationViewExtension.cs
Outdated
Show resolved
Hide resolved
…ynamoDS#10915) * T1.1 Code Migration (#4) * add ScriptMigrator * Add visual difference viewer * Update PythonMigrationViewExtension.cs * Add tooltip description to migration assistant * updates * comment updates * comment updates * Update PythonMigrationViewExtension.csproj * T1.2 accept/reject code changes (#5) * add ScriptMigrator * Add visual difference viewer * Added methods for updating the ScriptEditors with the migrated code * Update PythonMigrationViewExtension.cs * Add tooltip description to migration assistant * updates * comment updates * comment updates * Update ScriptEditorWindow.xaml.cs * Update PythonMigrationViewExtension.csproj * Update PythonMigrationViewExtension.csproj * comment updates * Revert "comment updates" This reverts commit 2d2332a. * comment updates * Update PythonMigrationAssistantViewModel.cs * comment updates 2 * update engine version when migrating code * extension and test updates * add 2to3 icon * comment updates * GraphPythonDependencies changes * make event internal * fix build failure * update license files, MigrationAssitantClicked event and PythonMigrationAssistantTests * clean up * update licence files * make MigrateCode internal * comments update * unsubscribe from ScriptEditorWindow closed
* T1.1 Code Migration (#4) * add ScriptMigrator * Add visual difference viewer * Update PythonMigrationViewExtension.cs * Add tooltip description to migration assistant * updates * comment updates * comment updates * Update PythonMigrationViewExtension.csproj * T1.2 accept/reject code changes (#5) * add ScriptMigrator * Add visual difference viewer * Added methods for updating the ScriptEditors with the migrated code * Update PythonMigrationViewExtension.cs * Add tooltip description to migration assistant * updates * comment updates * comment updates * Update ScriptEditorWindow.xaml.cs * Update PythonMigrationViewExtension.csproj * Update PythonMigrationViewExtension.csproj * comment updates * Revert "comment updates" This reverts commit 2d2332a. * comment updates * Update PythonMigrationAssistantViewModel.cs * comment updates 2 * update engine version when migrating code * extension and test updates * T1.3 save python2 backup file on migration (#6) * add ScriptMigrator * Add visual difference viewer * Added methods for updating the ScriptEditors with the migrated code * Update PythonMigrationViewExtension.cs * add mechanisme to save Python 2 backup * Add tooltip description to migration assistant * updates * comment updates * comment updates * Update ScriptEditorWindow.xaml.cs * Update PythonMigrationViewExtension.csproj * Update PythonMigrationViewExtension.csproj * comment updates * Revert "comment updates" This reverts commit 2d2332a. * comment updates * Update PythonMigrationAssistantViewModel.cs * comment updates 2 * small clean ups * Update PythonMigrationAssistantViewModel.cs * add 2to3 icon * comment updates * GraphPythonDependencies changes * make event internal * fix build failure * update license files, MigrationAssitantClicked event and PythonMigrationAssistantTests * clean up * clean up * update licence files * make MigrateCode internal * comments update * unsubscribe from ScriptEditorWindow closed * Add 'Before' and 'After' properties (for some reason they where gone) * refactor internal methods to bail early * rename IronPython dependency method * switch custom node python deps eval to short-circuit and add xml comment * rename & move CPython deps method around * prep support for handling dyn and dyf in migration backup * handle dyf vs dyn difference in migration backup events were not properly getting triggered when opening custom nodes either, fixed that too * notify user that a backup file is created on Python migration * fix tests test project was unloaded * move CustomNodeItem class as private to the warning dialog that needs it * mark the PythonNode script setter for migration as Obsolet this is so it raises warnings in the compiler and that anyone using this will know not to depend on a temporary feature * change migration assistant viewmodel to depend on workspace and pathmanager not DynamoViewModel * DYN-2990 address accessing null reference fixes DYN-2990 * remove prism reference * add note to obsolete MigrateCode method * move migration assistant viewmodel to its namesake namespace * make GraphPythonDependencies depend on interfaces instead of general ViewLoadedParams * revert graph python dependency evaluation logic to not be short-circuited this is because the dependency map dictionary is used in the UI warnings modal * update comment * fix botched namespace change * move 'More info' button on script editor window * comment updates + add automated test for backup functionality * Update migrate_2to3.py * Update PythonMigrationAssistantViewModel.cs Co-authored-by: Radu Gidei <[email protected]>
… scrollviewers (DynamoDS#10932) * T1.1 Code Migration (#4) * add ScriptMigrator * Add visual difference viewer * Update PythonMigrationViewExtension.cs * Add tooltip description to migration assistant * updates * comment updates * comment updates * Update PythonMigrationViewExtension.csproj * T1.2 accept/reject code changes (#5) * add ScriptMigrator * Add visual difference viewer * Added methods for updating the ScriptEditors with the migrated code * Update PythonMigrationViewExtension.cs * Add tooltip description to migration assistant * updates * comment updates * comment updates * Update ScriptEditorWindow.xaml.cs * Update PythonMigrationViewExtension.csproj * Update PythonMigrationViewExtension.csproj * comment updates * Revert "comment updates" This reverts commit 2d2332a. * comment updates * Update PythonMigrationAssistantViewModel.cs * comment updates 2 * update engine version when migrating code * extension and test updates * T1.3 save python2 backup file on migration (#6) * add ScriptMigrator * Add visual difference viewer * Added methods for updating the ScriptEditors with the migrated code * Update PythonMigrationViewExtension.cs * add mechanisme to save Python 2 backup * Add tooltip description to migration assistant * updates * comment updates * comment updates * Update ScriptEditorWindow.xaml.cs * Update PythonMigrationViewExtension.csproj * Update PythonMigrationViewExtension.csproj * comment updates * Revert "comment updates" This reverts commit 2d2332a. * comment updates * Update PythonMigrationAssistantViewModel.cs * comment updates 2 * small clean ups * Update PythonMigrationAssistantViewModel.cs * add 2to3 icon * comment updates * GraphPythonDependencies changes * make event internal * fix build failure * update license files, MigrationAssitantClicked event and PythonMigrationAssistantTests * clean up * clean up * update licence files * make MigrateCode internal * comments update * unsubscribe from ScriptEditorWindow closed * Add 'Before' and 'After' properties (for some reason they where gone) * Modify the VisualDifferenceViewer so text wraps instead of using scroll viewers * remove diffplex.wpf reference * refactor internal methods to bail early * rename IronPython dependency method * switch custom node python deps eval to short-circuit and add xml comment * rename & move CPython deps method around * prep support for handling dyn and dyf in migration backup * handle dyf vs dyn difference in migration backup events were not properly getting triggered when opening custom nodes either, fixed that too * notify user that a backup file is created on Python migration * fix tests test project was unloaded * move CustomNodeItem class as private to the warning dialog that needs it * mark the PythonNode script setter for migration as Obsolet this is so it raises warnings in the compiler and that anyone using this will know not to depend on a temporary feature * change migration assistant viewmodel to depend on workspace and pathmanager not DynamoViewModel * DYN-2990 address accessing null reference fixes DYN-2990 * remove prism reference * add note to obsolete MigrateCode method * move migration assistant viewmodel to its namesake namespace * make GraphPythonDependencies depend on interfaces instead of general ViewLoadedParams * revert graph python dependency evaluation logic to not be short-circuited this is because the dependency map dictionary is used in the UI warnings modal * update comment * fix botched namespace change * parametrise the differ window initial width * Modify the VisualDifferenceViewer so text wraps instead of using scroll viewers * remove diffplex.wpf reference * Python.NET binaries update (PR9) (DynamoDS#10945) * Improve namespace listing using CPython3 engine (DynamoDS#10950) Namespace listing using dir would only provide non meaningful results using the CPython3 engine. This is now fixed by preloading names by default globally. * parametrise the differ window initial width * resolve conflict between the 2 python migration viewmodels * adjust initial window widths to keep text same wrapping also allow for slightly larger vertical height for Before/After label as it was hard to spot * update diff colours to Dynamo pallette * update splitter colour in side diff layout to be black * upgrade the inline display mode to also show fragments * update sizing of diff viewer * Update PythonMigrationViewExtensionTests.cs Co-authored-by: Radu Gidei <[email protected]> Co-authored-by: Martin Misol Monzo <[email protected]>
* T1.1 Code Migration (#4) * add ScriptMigrator * Add visual difference viewer * Update PythonMigrationViewExtension.cs * Add tooltip description to migration assistant * updates * comment updates * comment updates * Update PythonMigrationViewExtension.csproj * T1.2 accept/reject code changes (#5) * add ScriptMigrator * Add visual difference viewer * Added methods for updating the ScriptEditors with the migrated code * Update PythonMigrationViewExtension.cs * Add tooltip description to migration assistant * updates * comment updates * comment updates * Update ScriptEditorWindow.xaml.cs * Update PythonMigrationViewExtension.csproj * Update PythonMigrationViewExtension.csproj * comment updates * Revert "comment updates" This reverts commit 2d2332a. * comment updates * Update PythonMigrationAssistantViewModel.cs * comment updates 2 * update engine version when migrating code * extension and test updates * T1.3 save python2 backup file on migration (#6) * add ScriptMigrator * Add visual difference viewer * Added methods for updating the ScriptEditors with the migrated code * Update PythonMigrationViewExtension.cs * add mechanisme to save Python 2 backup * Add tooltip description to migration assistant * updates * comment updates * comment updates * Update ScriptEditorWindow.xaml.cs * Update PythonMigrationViewExtension.csproj * Update PythonMigrationViewExtension.csproj * comment updates * Revert "comment updates" This reverts commit 2d2332a. * comment updates * Update PythonMigrationAssistantViewModel.cs * comment updates 2 * small clean ups * Update PythonMigrationAssistantViewModel.cs * add 2to3 icon * comment updates * GraphPythonDependencies changes * make event internal * fix build failure * update license files, MigrationAssitantClicked event and PythonMigrationAssistantTests * clean up * clean up * update licence files * make MigrateCode internal * comments update * unsubscribe from ScriptEditorWindow closed * Add 'Before' and 'After' properties (for some reason they where gone) * Modify the VisualDifferenceViewer so text wraps instead of using scroll viewers * remove diffplex.wpf reference * Migration assistant warning dialog * refactor internal methods to bail early * rename IronPython dependency method * switch custom node python deps eval to short-circuit and add xml comment * rename & move CPython deps method around * prep support for handling dyn and dyf in migration backup * handle dyf vs dyn difference in migration backup events were not properly getting triggered when opening custom nodes either, fixed that too * notify user that a backup file is created on Python migration * fix tests test project was unloaded * move CustomNodeItem class as private to the warning dialog that needs it * mark the PythonNode script setter for migration as Obsolet this is so it raises warnings in the compiler and that anyone using this will know not to depend on a temporary feature * change migration assistant viewmodel to depend on workspace and pathmanager not DynamoViewModel * DYN-2990 address accessing null reference fixes DYN-2990 * remove prism reference * add note to obsolete MigrateCode method * move migration assistant viewmodel to its namesake namespace * make GraphPythonDependencies depend on interfaces instead of general ViewLoadedParams * revert graph python dependency evaluation logic to not be short-circuited this is because the dependency map dictionary is used in the UI warnings modal * update comment * fix botched namespace change * parametrise the differ window initial width * Modify the VisualDifferenceViewer so text wraps instead of using scroll viewers * remove diffplex.wpf reference * Python.NET binaries update (PR9) (DynamoDS#10945) * Improve namespace listing using CPython3 engine (DynamoDS#10950) Namespace listing using dir would only provide non meaningful results using the CPython3 engine. This is now fixed by preloading names by default globally. * parametrise the differ window initial width * resolve conflict between the 2 python migration viewmodels * adjust initial window widths to keep text same wrapping also allow for slightly larger vertical height for Before/After label as it was hard to spot * update diff colours to Dynamo pallette * update splitter colour in side diff layout to be black * upgrade the inline display mode to also show fragments * update sizing of diff viewer * update warning dialog * migration assistant warning save setting * Update PythonMigrationAssistantViewModel.cs * add dynamo version to file path * comment updates * only create warning dismiss file if accepted * comments updates 2 * Update PythonMigrationViewExtension.csproj * Update PythonMigrationAssistantViewModel.cs * add is test mode to legal message * comment updates * comment updates 2 * update migration assistant disclaimer window title Co-authored-by: Radu Gidei <[email protected]> Co-authored-by: Martin Misol Monzo <[email protected]>
Purpose
This PR adds a mechanism to accept the changes made by the Migration Assistant.
The Migration is be part of the standard Dynamo undo stack so users can undo changes directly from the Editor Window as usually.
FYIs
Icons on the DiffViewer are still pending acceptance from ADSK legal team, so might be changed back to text.