Skip to content
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

Cherry pick #11285 into 2.10 #11312

Closed
wants to merge 683 commits into from
Closed

Cherry pick #11285 into 2.10 #11312

wants to merge 683 commits into from

Conversation

pinzart90
Copy link
Contributor

Please Note:

  1. Before submitting the PR, please review How to Contribute to Dynamo
  2. Dynamo Team will meet 1x a month to review PRs found on Github (Issues will be handled separately)
  3. PRs will be reviewed from oldest to newest
  4. If a reviewed PR requires changes by the owner, the owner of the PR has 30 days to respond. If the PR has seen no activity by the next session, it will be either closed by the team or depending on its utility will be taken over by someone on the team
  5. PRs should use either Dynamo's default PR template or one of these other template options in order to be considered for review.
  6. PRs that do not have one of the Dynamo PR templates completely filled out with all declarations satisfied will not be reviewed by the Dynamo team.
  7. PRs made to the DynamoRevit repo will need to be cherry-picked into all the DynamoRevit Release branches that Dynamo supports. Contributors will be responsible for cherry-picking their reviewed commits to the other branches after a LGTM label is added to the PR.

Purpose

https://jira.autodesk.com/browse/DYN-3204
Cherry pick #11285 into 2.10

Declarations

Check these if you believe they are true

  • The codebase is in a better state after this PR
  • Is documented according to the standards
  • The level of testing this PR includes is appropriate
  • User facing strings, if any, are extracted into *.resx files
  • All tests pass using the self-service CI.
  • Snapshot of UI changes, if any.
  • Changes to the API follow Semantic Versioning and are documented in the API Changes document.
  • This PR modifies some build requirements and the readme is updated

Reviewers

(FILL ME IN) Reviewer 1 (If possible, assign the Reviewer for the PR)

(FILL ME IN, optional) Any additional notes to reviewers or testers.

FYIs

(FILL ME IN, Optional) Names of anyone else you wish to be notified of

pinzart and others added 30 commits June 24, 2020 12:14
* update analytics to v2.3.0

Integrate fix for ADP crash during Dynamo startup

* Revert "update analytics to v2.3.0"

This reverts commit 241cc79.

* update ver 2.3.0 of ADP analytics
* Added tests for NodeModel

* Added tests for NodeModel

* Revert "Added tests for NodeModel"

This reverts commit 4434d5f.

* Update NodeModelTests.cs

* Removed a test and marked the properties as obsolete

* Changed Obsolete for IsObsolete applying it only to the setter

* Updated message
This will allow us to use custom builds of Python.NET for our CPython
engine. Projects now reference the binaries in 'extern' folder rather
than the published NuGets.
* Change to folder path assumption

* Add logging
* Address new case that DSIronPython is not loaded in DynamoCore

* Code clean up

* Make shared string statics
* Update Tooltips

* Update tooltip
#10819)

* add empty text files renamed to dll
add copy steps to dynamo core proj
add readme

* remove todo

* review comments
6ddc3596bd7838542bea3600e690c84dbe2b45d3
* remove appveyor config - move to github actions

* Update dynamoMSbuild.yml
* Move node loading logic to Ready()

* Comments
…IronPython2.x (#10777)

* PythonMigrationExtension should be able to find customNodes that use IronPython2.x

* comment

* Remove extra line

* typo

* Refactor if-else

* Implement caching solution while checking for Python dependencies in custom node workspace.

* Extend the caching solution to handle the CN subtree when some CN has a Python dependency.

* Use Any() instead of Count()

* Adding more tests and summary to the method.

* Update CustomNodeContainsIronPythonDependency function to traverse all the CN's and its subtree.

* Use a enum to differenciate between direct dependency and sub tree dependency for CustomNodes.

* comments.

* Restore the CN GUID of PythonCustomNodeHomeWorkspace.dyn which was being used by other tests.

* Refactoring.

* Refactoring..

* Addressing comments.
* "LibG/ASM224,c8995ebc"

* "LibG/ASM224.4,631eeff4"

* "LibG/ASM225,c479c480"

* "LibG/ASM226,763ceaa9"
* Added tests for NodeModel

* Added tests for NodeModel

* Revert "Added tests for NodeModel"

This reverts commit 4434d5f.

* Update NodeModelTests.cs

* Removed a test and marked the properties as obsolete

* Changed Obsolete for IsObsolete applying it only to the setter

* Updated message

* Added tests for NodeModel

* Deprecated PrintExpression and removed the associated test.

* DYN-2561 - Coverage Connectors folder

I added the ConnectorModelConnectTest() method to increase the coverage in the ConnectorModel class.

The  internal class InvalidPortException was deleted due that is no used (no reference was found in all the Dynamo solution). I got approval from Aaron and Michael in the Autodesk Slack Channel.

For the DeserializeCore(XmlElement nodeElement, SaveContext context) I deleted the commented code. I got approval from Aaron and Michael in the Autodesk Slack Channel.

Co-authored-by: Roberto Tellez <[email protected]>
Support is added for encoding decoding BigInteger values from Python
int that have a size that exceeds what can fit in a long.

Also a BigInteger encoder/decoder is added to the custom encoders of
Python.NET in order to support encoding and decoding in the context of
function calls.
* Changes to AssemblyInfoGenerator project to include T4 task on CICD pipeline and change on build.xml to put the Nuget.exe path as a parameter

* Update AssemblyInfoGenerator.csproj
* add new param key to execute session
add test
add data when execute session is created

* add python usage test

* remove using

* add todo
When unmarhsalling output data from a Python script using the CPython
engine, a StackOverlowException would occur for certain uncommon types.
The unmarshaller is trying to recursively convert the output by calling
'AsManagedObject', but in cases where Python.NET does not have a
specialized representation, like it is the case for 'weakref', it just
returns a different object pointing to the same handle. This is
causing the unmarshaller to call himself again with basically the same
underlying Python object, triggering the stack overflow.

The problem is fixed by explicitly checking if the returned object by
'AsManagedObject' has the same handle as the original one, in which
case an exception is thrown with a proper message.
Adds tests for the following conversion scenarios:
- Python list => .NET IList (CPython fails)
- .NET array => Python list
- Python tuple => .NET array
- Python tuple => .NET IList (CPython fails)
- Python range => .NET array
- Python range => .NET IList (CPython fails)
- Python dict => .NET IDictionary (CPython fails)
- .NET IDictionary => Python dict (CPython unkonwn)

Also commented out some tests that fail in both engines but may be
considered to fix in CPython:
- .NET IList => Python list (call a Python list method on an IList?)
- Python array => .NET IList (builtin library, may be uncommon) 
- Python dict => DS Dictionary (may deserve special attention)

Other types considered but not added as tests:
- classes (can't convert them)
- dictionary view objects (uncommon)
- bytes, bytearray, memoryview (uncommon)
- set, frozenset (uncommon)
- complex (uncommon)

Other scenarios that might be interesting:
- Mutability of collections (IronPython supports this for a IList)
* UpdateBoundaryFromSelection Fix

* Fix

* Comment spelling correction

Co-authored-by: Astul B <[email protected]>
Updates Python.NET binaries to PR5
* Removal of unused code

* Revert "Removal of unused code"

This reverts commit c78dfe9.

* Added Obsolete Tag

* Message change
Implements a decoder for Python sequence to transform them into generic
or non-generic IList. This relies on Python.NET 'PySequence.ToList'.

Also implements an encoder to perform a 'no-op'. This allows to treat
returned lists from function calls like .NET lists, which is the
behavior of Iron Python.
…10854)

* Add Rename event to double click on nodes with preview disabled

* Added new block over NameBlock part of the node to catch double click event
remove DSIronPython from default load as extension now loads it.
zeusongit and others added 26 commits November 5, 2020 10:41
* First commit

* Cache the seeach elements after the matching nodes have been calculated.

* Add comments

* some comments.

* Adding a test

* Addressing some comments.

* Some refactoring.
* fix sorting for number keys in List.SortByKey

* add unit test
)

* handle hidden static methods from zero touch nodes
* Somewhat working version

* Pretty much working version

* Finishing touches and test

* Cleanup

* Prevent both window and tab

* Improve method name and comment

* Forgot to include this in last commit
* Initial Commit

* fix mono build

* Update to latest libG nuget version

* Cleanup entries VS Studio failed to update

* Fix Mono build

* Add the private flag back (modified by VS Studio)

* Regressions

* Add back missing resource
* update load asm binaries from registry
…e view extension is closed. (#11260)

* Adding a public API on the View extension that gets triggered when the view extension is closed.

* Update variable name

* changing the name to ViewExtensionBaseClass

* Addressing some comments.

* Adding unit test.

* Changing the name to Closed()

* Some more comments.

* Adding an additional test

* Adding checks for the Menu items before setting its value.
* add failing test

* this works, but seems like cheating.
more tests

* new tests, one failing, needs discussion

* fix test - still fails but as expected

* tests all pass with this change - but looking for better alternatives

* add test
use new field - cant find a better way currently
add comments

* revert internal
update test

* reset guid map before each test

* failing test

* reset

* whitespace
* fix for multi-output node preview regression

* update tests

* add test

* revert unwanted changes

* update test
#11268) AND Node AutoComplete suggestions sorted alphabetically within the same group (#11280) (#11290)

* Display input port type specific default suggestions only (#11268)

* input port type specific default suggestions

* test fix

* Node AutoComplete suggestions sorted alphabetically within the same group (#11280)


* add/update tests
…nder packages (#11286)

* Fix for regression in multi-output node preview  (#11266)

* fix for multi-output node preview regression

* update tests

* add test

* revert unwanted changes

* update test

* turn off hit testing visibility for DM related render packages (#11282)
* Update libG for 2.10 RC (#11301)

* add protogeo to cleanup targets

* update all 3 libGs and revert copy local changes

* missed corewpf somehow

Co-authored-by: michael kirschner <[email protected]>

* bool case consistency

Co-authored-by: michael kirschner <[email protected]>
…1303) (#11305)

* Display input port type specific default suggestions only (#11268)

* input port type specific default suggestions

* test fix

* Node AutoComplete suggestions sorted alphabetically within the same group (#11280)


* add/update tests

* Updated sort order of node auto complete suggestions  (#11303)

* update sort order

Co-authored-by: Ashish Aggarwal <[email protected]>
* Re bind RequestNodeAutoCompleteSearch when open dyf

* Add unit test
* Update StartupUtils.cs

Co-Authored-By: pinzart <[email protected]>
@pinzart90 pinzart90 changed the base branch from master to RC2.1.0_master December 3, 2020 12:24
@pinzart90 pinzart90 closed this Dec 3, 2020
@pinzart90 pinzart90 deleted the ignore_revit_dlls branch December 3, 2020 16:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.